JAVA打印数组的四种方法

JAVA打印数组的四种方法JAVA打印数组的四种方法探究无聊看模块Integer.java源码时(IDEA中鼠标悬浮在Integer上按ctrl+alt可以转到类源码),因为刚学java,想尝试着仿照python的方法打印数组:finalint[]arr1={1,2,3,4,5};System.out.println(arr1);只打印出了地址:于是上网搜了下打印数组内容的正确方法,整理如下:1.循环打印数组String[]arr2={“dashi”,”baiqun”,”wangxiang”

大家好,又见面了,我是你们的朋友全栈君。

JAVA打印数组的四种方法

数组启发

无聊看模块Integer.java源码时(IDEA中鼠标悬浮在Integer上按ctrl+alt 可以转到类源码),因为刚学java,想尝试着仿照python的方法打印数组:

final int[] arr1 = { 
   1,2,3,4,5};
System.out.println(arr1);

只打印出了地址:

错误打印数组结果

于是上网搜了下打印数组内容的正确方法,整理如下:

1.循环打印数组

String [] arr2 = { 
   "dashi", "baiqun", "wangxiang", "wennuan", "ni"};
public static void loopPrintArray(String []arr) { 
   
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < arr.length; i++) { 
   
        if(i>0){ 
   
            sb.append(",");
        }
        sb.append(arr[i]);
    }

    System.out.println(sb.toString());
}
// 循环打印数组
System.out.println("------------ loop -------------");
loopPrintArray(arr2); // 不带[]输出一行

结果:

loop数组结果

可以看到,方法loopPrintArray是把数组中每一个元素用 “,” 连接成一个字符串再输出。

2.使用Arrays.toString()方法

使用Arrays类需要引用:

import java.util.Arrays;

代码:

String [] arr2 = { 
   "dashi", "baiqun", "wangxiang", "wennuan", "ni"};
public static void toStingPringArray(String []arr) { 
   
    System.out.println(Arrays.toString(arr));
}
// 使用Arrays.toString()方法
System.out.println("-- Arrays.toString() Methods --");
toStingPringArray(arr2); // 带[]输出一行

结果:

toString数组

这个输出结果就和python中打印数组很相仿了。

3.使用JDK 8 的 java.util.Arrays.stream()

同样需要导入:

import java.util.Arrays;

代码:

String [] arr2 = { 
   "dashi", "baiqun", "wangxiang", "wennuan", "ni"};
// 3.使用JDK 8 的 java.util.Arrays.stream()
public static void streamPrintArray(String []arr) { 
   
    Arrays.stream(arr).forEach(System.out::println);
}
// 使用JDK 8 的 java.util.Arrays.stream()
System.out.println("--- Arrays.stream() Methods ---");
streamPrintArray(arr2); // 分行输出

结果:

stream打印数组

Arrays.stream()方法是将数组元素分行输出。

4 使用Arrays.deepToString()

对于deepToString,若为多维数组则会用同样的方法打印

代码:

String [] arr2 = { 
   "dashi", "baiqun", "wangxiang", "wennuan", "ni"};
String [][] arr3 = { 
   { 
   "llama","truthahn"},{ 
   "xiaoerer","laopenzi"},{ 
   "xiangnile","haha.."}};
// 4.1 使用Arrays.deepToString()
public static void deepToStringPringArray(String []arr) { 
   
    System.out.println(Arrays.deepToString(arr));
}
// 4.2 对于deepToString,若为多维数组则会用同样的方法打印
public static void deepToStringPringArrayExpand(String [][]arr) { 
   
    System.out.println(Arrays.deepToString(arr));
}
// 扩展使用Arrays.toString(): Arrays.deepToString()
System.out.println("- Arrays.deepToString() Methods -");
deepToStringPringArray(arr2);
// deepToStringPringArray(arr3); // 不兼容:java.lang.String[][]无法转换为java.lang.String[]
System.out.println("- Arrays.deepToString() Expanded -");
deepToStringPringArrayExpand(arr3);

结果:

deepToString打印数组

可以看到对二级数组,使用deepToString()方法使得数组arr3按照之前相同的模式输出。

个人心得

学习一种编程语言时还是要多思考,理解和实践同样重要。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131169.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VS多行注释快捷键_vs2015注释快捷键

    VS多行注释快捷键_vs2015注释快捷键最近在使用VS2010开发ASP.NET,突然发现想全部注释时找不到注释的快捷键,网上查了下,原来很简单,只是需要使用组合键。注释:先CTRL+K,然后CTRL+C取消注释:先CTRL+K,然后CTRL+U…

    2022年8月15日
  • 海思hi3798mv300和310的区别_海思3516

    海思hi3798mv300和310的区别_海思3516在网上搜寻海思HI3519或者hi3516实时识别除了官方给的SDK中有Rfcn的实时识别例子之外,其它都是读图片例子。官方例子中给了如下网络参考:Rfcn、Segnet、FasterRcnn、Cnn、Ssd、Yolov1、Yolov2、Yolov3、Lstm、Pvanet在SDK中文件夹路径为/rp-hi3516dv300-busybox/smp/a7_linux/mpp/sample/svp/nnie其中有一个sample_nnie_main.c文件,官方例子如下:/************

    2022年9月23日
  • C语言的运算符及优先级[通俗易懂]

    C语言的运算符及优先级[通俗易懂]C语言的运算符包括单目运算符、双目运算符、三目运算符,优先级如下:第1优先级:各种括括号,如()、[]等、成员运算符.;第2优先级:所有单目运算符,如++、–、!、~等;第3优先级(算数运算符):乘法运算符*、除法运算符/、求余运算符%;第4优先级(算数运算符):加法运算符+、减法运算符-;第5优先级(移位运算符):移位运算符<<、>>;第6优先级(条件运算符):大于运算符>、大于等于运算符>=、小于运算符<、小于等于运算符<=;第7优先级(

    2022年11月3日
  • 拼多多下载安装_快影下载安装

    拼多多下载安装_快影下载安装SQLite的最新版本可以从这里下载。下面我们以Windows版本sqlite-3_5_1.zip为例介绍其安装方法。(大家可以选择下载安装适合自己的版本)下载后,将sqlite-3_5_1.zip解压缩至C:/sqlite目录即完成安装。C:/sqlite目录构造为:C:/sqlite|+–sqlite3.exe打开一个CMD命令窗口

    2022年10月28日
  • 实战篇:Oracle 数据坏块的 N 种修复方式[通俗易懂]

    实战篇:Oracle 数据坏块的 N 种修复方式[通俗易懂]坏块修复的N种方法

    2022年7月17日
  • JVM调优常用参数

    JVM调优常用参数

    2021年5月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号