您的位置:首页 > 教程 > JAVA/JAVA编程 > Java打印数组的三种方法整理

Java打印数组的三种方法整理

2022-06-20 18:01:06 来源:易采站长站 作者:

Java打印数组的三种方法整理

目录
①、使用 for 循环打印②、使用 Arrays.toString() 或 Arrays.deepToString()③、使用 Arrays.asList()补充:java byte数组打印十六位数组打印输出普通数组打印输出总结

在Java开发中有时候需要打印数组信息,下面是整理归纳的几种打印数组方法:(如下)aGK站长之家-易采站长站-Easck.Com

aGK站长之家-易采站长站-Easck.Com

①、使用>

最简单的方法,逐个遍历打印aGK站长之家-易采站长站-Easck.Com

注:如果是多维数组的话,使用多层 for 循环嵌套就可以打印了。aGK站长之家-易采站长站-Easck.Com

一维数组:aGK站长之家-易采站长站-Easck.Com

public static void main(String[] args) {
    int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
    // 普通for循环打印
    System.out.println("普通for循环打印:");
    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i] + "、");
    }
    System.out.println(); // 换行
    // 增强for循环打印
    System.out.println("增强for循环打印:");
    for (int num : arr) {
        System.out.print(num + "、");
    }
}

二维数组:aGK站长之家-易采站长站-Easck.Com

public static void main(String[] args) {
      int[][] arr = new int[][] {{1,2},{2,3},{3,4},{4,5},{5,6}};// 二维数组
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
               System.out.print(arr[i][j] + "、");
         }
     }
 }

aGK站长之家-易采站长站-Easck.Com

②、使用>

对于一维数组,可以使用Arrays.toString()方法,它支持将任意类型的数组转换为字符串,代码如下:aGK站长之家-易采站长站-Easck.Com

public static void main(String[] args) {
    int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
    //使用Array.toString()
    System.out.println(Arrays.toString(arr));
}

但对于多维数组,用 Arrays.toString() 就会出现和直接打印数组变量名时一样的问题,打印出来的是地址值。这时候,就需要使用 Arrays.deepToString() 方法了,如下图:aGK站长之家-易采站长站-Easck.Com

Java不会去使用多维数组,最多用到二维,因为Java会用到面向对象aGK站长之家-易采站长站-Easck.Com

public static void main(String[] args) {
    int[][] arr = new int[][] {{1,2},{2,3},{3,4},{4,5},{5,6}};// 二维数组
    //使用Arrays.deepToString()
    System.out.println(Arrays.deepToString(arr));
}

一维数组用 Arrays.toString() 方法,多维数组用 Arrays.deepToString() 方法aGK站长之家-易采站长站-Easck.Com

aGK站长之家-易采站长站-Easck.Com

③、使用>

该方法是将数组转化为listaGK站长之家-易采站长站-Easck.Com

以下几点需要注意:aGK站长之家-易采站长站-Easck.Com

(1)该方法不适用于基本数据类型aGK站长之家-易采站长站-Easck.Com

(byte,short,int,long,float,double,boolean),但可以用基本数据类型的封装类。比如int的封装类Integer.(Object 数组也是有效)aGK站长之家-易采站长站-Easck.Com

(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新aGK站长之家-易采站长站-Easck.Com

(3)不支持add和remove方法aGK站长之家-易采站长站-Easck.Com

    public static void main(String[] args) {
        int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
        System.out.println(Arrays.asList(arr));
        //打印结果:[[I@140e19d]
    }
    public static void main(String[] args) {
        Integer[] arr = new Integer[]{0,1,2,3,4,5,6,7,8,9};
        System.out.println(Arrays.asList(arr));
        //打印结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    }

aGK站长之家-易采站长站-Easck.Com

补充:java>

aGK站长之家-易采站长站-Easck.Com

十六位数组打印输出

简单的方式aGK站长之家-易采站长站-Easck.Com

Byte[] bs = {0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F};
System.out.println(Arrays.toString(bs));

// 打印输出结果aGK站长之家-易采站长站-Easck.Com
[15, 31, 47, 63, 79, 95, 111]aGK站长之家-易采站长站-Easck.Com

更加通用一点的方式aGK站长之家-易采站长站-Easck.Com

byte[] bs = hexStringToByteArray("e04fd020ea3a6910a2d808002b30309d");
System.out.println(Arrays.toString(bs));

/**
 * 将String转换为byte[]
 * @param s String
 * @return byte[]
 */
public static byte[] hexStringToByteArray(String s) {
	int len = s.length();
	byte[] data = new byte[len / 2];
	for (int i = 0; i < len; i += 2) {
	data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16));
	}
	return data;
}

// 打印输出结果aGK站长之家-易采站长站-Easck.Com
[-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0, 43, 48, 48, -99]aGK站长之家-易采站长站-Easck.Com

aGK站长之家-易采站长站-Easck.Com

普通数组打印输出

byte[] bs = "你好,这是一段字符串!".getBytes();
System.out.println(Arrays.toString(bs));

// 打印输出结果aGK站长之家-易采站长站-Easck.Com
[-28, -67, -96, -27, -91, -67, -17, -68, -116, -24, -65, -103, -26, -104, -81, -28, -72, -128, -26, -82, -75, -27, -83, -105, -25, -84, -90, -28, -72, -78, -17, -68, -127]aGK站长之家-易采站长站-Easck.Com

aGK站长之家-易采站长站-Easck.Com

总结

到此这篇关于Java打印数组的三种方法的文章就介绍到这了,更多相关Java打印数组内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!aGK站长之家-易采站长站-Easck.Com

如有侵权,请联系QQ:279390809 电话:15144810328

相关文章

  • Spring Cloud 整合Apache-SkyWalking实现链路跟踪的方法

    Spring Cloud 整合Apache-SkyWalking实现链路跟踪的方法

    什么是SkyWalking 查看官网https://skywalking.apache.org/ 分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。 安装 进入下载页面https://
    2020-06-18
  • 成功解决IDEA2020 Plugins 连不上、打不开的方法

    成功解决IDEA2020 Plugins 连不上、打不开的方法

    IntelliJ IDEA 2020.1 插件中心一直打不开,鉴于有部分同学反馈设置http proxy不能解决,所以可按以下顺序检查 一、设置 http proxy—勾上Auto-detect proxy setting,参照下图,加上地址 http://127.0.0
    2020-06-25
  • Java后台实现微信支付和微信退款

    Java后台实现微信支付和微信退款

    微信支付流程 都是我自己工作中开发的,亲测可用,不喜勿喷。 controller中我是这么写的,你们需要根据自己的业务需求改动。ResponseBean是我自己封装的,你们可以改成你们想要的形式
    2020-03-27
  • IDEA2020 1.1中Plugins加载不出来的问题及解决方法

    IDEA2020 1.1中Plugins加载不出来的问题及解决方法

    进入File-Setting 如图,取消勾选,点击确认后重启,点击了以后等一会就可以正常显示 ps:下面看下解决IDEA 2020.1.1 找不到程序包和符号 问题描述 IDEA 2020.1.1 maven项目build的时候报错,找
    2020-06-28
  • Intellij idea热部署插件JRebel的使用

    Intellij idea热部署插件JRebel的使用

    项目需求,一直用eclipse的我,也要改用IDEA了,一开始,很不习惯。经过几天的慢慢摸索和习惯之后,发现IDEA确实很好用。dark的界面是我喜欢的,智能的提示也让写代码不再枯燥。 遗
    2020-06-25
  • 详解基于IDEA2020.1的JAVA代码提示插件开发例子

    详解基于IDEA2020.1的JAVA代码提示插件开发例子

    之前因为项目组有自己的代码规范,为了约束平时的开发规范,于是基于2019.1.3版本开发了一个代码提示的插件。但是在把IDEA切换到2020.1版本的时候,却发现疯狂报错,但是网上关于
    2020-06-25
  • springboot + rabbitmq 如何实现消息确认机制(踩坑经验)

    springboot + rabbitmq 如何实现消息确认机制(踩坑经验)

    本文收录在个人博客:www.chengxy-nds.top,技术资源共享,一起进步 最近部门号召大伙多组织一些技术分享会,说是要活跃公司的技术氛围,但早就看穿一切的我知道,这 T M 就是为了刷
    2020-07-01
  • JetBrains IntelliJ IDEA 2020安装与使用教程详解

    JetBrains IntelliJ IDEA 2020安装与使用教程详解

    对于JetBrains IntelliJ IDEA 2020的认识 IntelliJ IDEA 2020是一款JAVA编程软件,捷克IntelliJ公司研发推出。该软件提供了一个非常强大的JAVA集成开发环境,不仅添加了对Records的完整代码洞察支持,
    2020-06-28