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

 更新时间:2022年06月20日 16:11:30   作者:超能大眼萌  
许多学编程专业的同学面试的时候,考官都会问到Java如何打印数组这样的问题,下面这篇文章主要给大家介绍了关于Java打印数组的三种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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

①、使用 for 循环打印

最简单的方法,逐个遍历打印

注:如果是多维数组的话,使用多层 for 循环嵌套就可以打印了。

一维数组:

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 + "、");
    }
}

二维数组:

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] + "、");
         }
     }
 }

②、使用 Arrays.toString() 或 Arrays.deepToString()

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

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() 方法了,如下图:

Java不会去使用多维数组,最多用到二维,因为Java会用到面向对象

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() 方法

③、使用 Arrays.asList()

该方法是将数组转化为list

以下几点需要注意:

(1)该方法不适用于基本数据类型

(byte,short,int,long,float,double,boolean),但可以用基本数据类型的封装类。比如int的封装类Integer.(Object 数组也是有效)

(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新

(3)不支持add和remove方法

    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]
    }

补充:java byte数组打印

十六位数组打印输出

简单的方式

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

// 打印输出结果
[15, 31, 47, 63, 79, 95, 111]

更加通用一点的方式

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;
}

// 打印输出结果
[-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0, 43, 48, 48, -99]

普通数组打印输出

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

// 打印输出结果
[-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]

总结

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

相关文章

  • Spring Boot REST国际化的实现代码

    Spring Boot REST国际化的实现代码

    本文我们将讨论如何在现有的Spring Boot项目中添加国际化。只需几个简单的步骤即可实现Spring Boot应用的国际化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 使用IDEA创建servlet JavaWeb 应用及使用Tomcat本地部署的实现

    使用IDEA创建servlet JavaWeb 应用及使用Tomcat本地部署的实现

    本文主要介绍了使用IDEA创建servlet JavaWeb 应用及使用Tomcat本地部署
    2022-01-01
  • 概述java虚拟机中类的加载器及类加载过程

    概述java虚拟机中类的加载器及类加载过程

    这篇文章主要介绍了概述java虚拟机中类的加载器及类加载过程,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • dubbo 如何使用logback来输出日志

    dubbo 如何使用logback来输出日志

    这篇文章主要介绍了dubbo 如何使用logback来输出日志的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • java中的FileInputStream(输入流)

    java中的FileInputStream(输入流)

    这篇文章主要介绍了java中的FileInputStream(输入流),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java 并发编程之线程挂起、恢复与终止

    Java 并发编程之线程挂起、恢复与终止

    这篇文章主要介绍了Java 并发编程之线程挂起、恢复与终止的相关资料,需要的朋友可以参考下
    2017-05-05
  • 深入探究Spring底层核心原理

    深入探究Spring底层核心原理

    理解IOC与AOP的实现机制,优化应用性能与可维护性。Spring通过IOC容器管理Bean,AOP实现切面编程,支持事务管理、ORM框架等。深入理解Spring原理,可以帮助我们更好地使用Spring框架,提高开发效率与质量
    2023-04-04
  • MyBatis mapping类基本用法

    MyBatis mapping类基本用法

    这篇文章主要为大家介绍了MyBatis mapping类基本用法示例详解,
    有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • java接口性能优化技巧

    java接口性能优化技巧

    这篇文章主要为大家介绍了java接口性能优化技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Spring控制bean加载顺序使用详解

    Spring控制bean加载顺序使用详解

    在使用spring框架开发过程中,我们可能会遇到某个bean被另一个bean依赖,也就是bean-b的创建必须依赖bean-a等问题,类似这样的场景还有很多,总结来说,这就涉及到bean的加载顺序问题,如何解决呢,本文将给大家列举出几种常用的解决方案,需要的朋友可以参考下
    2023-09-09

最新评论