Java数组打印的几种方式

点进来你就是我的人了
博主主页:戳一戳,欢迎大佬指点!

人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习!

欢迎志同道合的朋友一起加油喔
目标梦想:进大厂,立志成为一个牛掰的Java程序猿,虽然现在还是一个嘿嘿
谢谢你这么帅气美丽还给我点赞!比个心


目录

前言

1.“一维数组”:

(1) for循环

(2) 调用Arrays.toString()

2.”二维数组“:

(1) for循环

(2) Arrays.toString()

(3) Arrays.deepToString()



java中打印数组常用的几种方法:

在Java开发中有时候需要打印数组信息,下面是整理归纳的几种打印数组方法:(如下)

//定义一个数组:
int[] array={1,2,3,4,5};

错误打印方式;

for (int i=0; i

输出:

[I@119d7047

解释:

  • 变量arr作为引用数据类型,保存的是数组内存中的地址
  • 直接使用System.out.print(array)打印的是数组的首地址

1.“一维数组”:

(1) for循环

(1.1)普通for循环

for (int i=0; i

(1.2)增强for循环

for(int j:array){
    System.out.print(j);//在这里调整输出
}

输出:

12345

(2) 调用Arrays.toString()

对于一维数组,可以使用Arrays.toString()方法,它支持将任意类型的数组转换为字符串

System.out.println(Arrays.toString(array))

输出:

[1, 2, 3, 4, 5]

2.”二维数组“:

Java实际没有多维数组,只有一维数组,“二维数组”实际上就是“数组元素为数组的一维数组”

//定义一个“二维数组”
int[][] array = {{1,2,3,4},
                 {5,6,7,8},
                 {9,10,11,12}};

(1) for循环

(1.1)普通for循环

for(int i=0;i

(1.2)增强for循环

        for(int[] arr:array){
            for(int j:arr){
                System.out.print(j+" ");//这里必须双引号(字符串)
            }
            System.out.println();	//换行
        }

输出:

1 2 3 4 
5 6 7 8 
9 10 11 12 

(2) Arrays.toString()

(2.1)增强for循环+Arrays.toString()

for(int[] arr:array){
    System.out.println(Arrays.toString(arr));
}

输出:

[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]

(2.2)直接对"二维数组"使用Arrays.toString() 

System.out.println(Arrays.toString(array));

 输出:

[[I@119d7047, [I@776ec8df, [I@4eec7777]

解析:

为什么直接使用Arrays.toString()输出的是三个地址?

  • 因为int[][] array里面存的是三个引用类型的一维数组
  • 因此Arrays.toString()打印的自然就是这三个数组的地址
  • 这时候,就需要使用 Arrays.deepToString()方法了
  • 需要再进一层才能打印出这三个数组的具体元素,就像(2.1)那样

(3) Arrays.deepToString()

 Arrays.deepToString()方法 返回指定数组“深层内容”的字符串表示形式。

System.out.println(Arrays.deepToString(arr));

输出:

[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]

 一维数组用 Arrays.toString() 方法,多维数组用 Arrays.deepToString() 方法

你可能感兴趣的:(JavaSE基础语法,java,开发语言)