首页 > Java > java教程 > 正文

Java打印数组的方法有哪些

PHPz
发布: 2023-04-19 19:28:05
转载
3148人浏览过

    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 + "、");
        }
    }
    登录后复制

    二维数组:

    立即学习Java免费学习笔记(深入)”;

    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

    有道翻译AI助手
    有道翻译AI助手

    有道翻译提供即时免费的中文、英语、日语、韩语、法语、德语、俄语、西班牙语、葡萄牙语、越南语、印尼语、意大利语、荷兰语、泰语全文翻译、网页翻译、文档翻译、PDF翻

    有道翻译AI助手 63
    查看详情 有道翻译AI助手

    以下几点需要注意:

    (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打印数组的方法有哪些的详细内容,更多请关注php中文网其它相关文章!

    相关标签:
    全能打印神器
    全能打印神器

    全能打印神器是一款非常好用的打印软件,可以在电脑、手机、平板电脑等设备上使用。支持无线打印和云打印,操作非常简单,使用起来也非常方便,有需要的小伙伴快来保存下载体验吧!

    下载
    来源:亿速云网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号