验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Java怎么打印数组

阅读:323 来源:乙速云 作者:代码code

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]

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>