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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm配置svn有什么用_SVN安装配置

    pycharm配置svn有什么用_SVN安装配置PyCharm是一款非常优秀的PythonIDE,以前用Editplus,用惯了感觉还行。用了PyCharm后被它丰富的功能吸引了。无论是普通python脚本、Django框架项目、还是GoogleAppEngine项目,它都能完美运行。不过设置起来比较麻烦,比如Subversion的用法我就一直没参透,我总是写完代码后出去用小乌龟提交。今天google一下,终于搞定了。现在写完代码后直接在…

    2022年8月26日
    4
  • javascript 匿名函数_匿名函数lambda

    javascript 匿名函数_匿名函数lambda你必须知道的JavaScript匿名函数以及多种匿名函数的写法,本文还将详解为什么匿名函数会自动执行,这也是Jquery库的原理哦~~~

    2022年10月3日
    1
  • Java 流程控制

    Java 流程控制

    2021年10月6日
    44
  • 【解决方法】phpize 编译安装 php 扩展时出现Cannot find autoconf「建议收藏」

    【解决方法】phpize 编译安装 php 扩展时出现Cannot find autoconf「建议收藏」背景已知,编译安装php扩展的时候,需要先执行phpize来生成configure文件。但是,最近在安装扩展的时候出现了如下错误:$/path/to/php/php5.6.40/bin/phpizeConfiguringfor:PHPApiVersion:20131106ZendModuleApiNo:20131226ZendExtensionApiNo:220131226Cannotfindautoconf.Ple

    2022年6月1日
    34
  • 彩票APP将演绎“快鱼吃慢鱼”的发展轨迹

    彩票APP将演绎“快鱼吃慢鱼”的发展轨迹

    2021年11月16日
    30
  • qt tcpsocket 接收数据_如何给微信好友发送指定位置

    qt tcpsocket 接收数据_如何给微信好友发送指定位置在网络应用中,有时候我们会遇到这样的问题,用TCP不断的接收和发送不同类型的数据,数据大小,格式都不相同,起初看了qt的例子,按照例子写的程序效果相当的不好,尤其是在连续发送大数据的时候,接收端根本无法判断数据是否完整了,也不知道什么时候取读取,经过各种折腾加上看qt源码,总结出了这个方法,发送的时候,要先发送这个数据序列化后的大小,然后发送这个数据本身,接收端,首先收到了要接收数据的大小,心里有

    2025年10月10日
    5

发表回复

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

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