当前位置: 首页 > news >正文

Java可用打印数组方法5中+常用变量转字符串方法

目录

  • 5种可用方法及使用数组类型如下
  • 注意事项
    • 1. 直接打印数组名System.out.println(数组名);
    • 2. new String(数组名) 打印字符串
    • 3. Arrays.toString(数组名) 返回指定数组的内容的字符串表示形式。
    • 4.返回参数的String形式String.valueOf(数组名)【同1.直接输出】
    • 5.for循环和增强for【可更改打印格式最灵活,fori唯一一种可真正访问更改数组的方式,其他都只是打印】

5种可用方法及使用数组类型如下

		char[] charArr1 = {'!', '@', '#'};System.out.println(charArr1);//!@#//打印数组地址。但char数组例外,是直接打印元素内容。其他数组都是打印地址System.out.println(new String(charArr1));//!@#//用String的构造方法,只支持byte和char数组System.out.println(Arrays.toString(charArr1));//[!, @, #]把数组转字符串且有,隔开System.out.println(String.valueOf(charArr1));//!@#for(char c: charArr1){System.out.print(c + " ");}//! @ #for(int i = 0; i < charArr1.length; i++){System.out.print(charArr1[i] + " ");}//! @ #double[] douArr1 = { 1.1, 2.2, 3.3};System.out.println(douArr1);//[D@5f150435//打印数组地址//System.out.println(new String(douArr1));//int[],byte[],char[]System.out.println(Arrays.toString(douArr1));//[1.1, 2.2, 3.3]System.out.println(String.valueOf(douArr1));//[D@5f150435for(double d: douArr1){System.out.print(d + " ");//1.1 2.2 3.3 }for(int i = 0; i < douArr1.length; i++){System.out.print(douArr1[i] + " ");}//1.1 2.2 3.3 

注意事项

如数组内容为{元素1, 元素2, 元素3}

  • 一般打印的元素字符串是元素1元素2元素3
  • 数组内容的字符串表示形式[元素1,元素2,元素3]只有Arrays.toString(数组)是
		//4类8种挨个测试byte[] b1 = {48, 49, 50};short[] s1 = {65, 66, 67};int[] i1 = {111, 222, 333};long[] l1 = {1000, 2000, 3000};float[] f1 = {0.1f, 0.2f, 0.3f};double[] douArr1 = { 1.1, 2.2, 3.3};char[] charArr1 = {'!', '@', '#'};boolean[] bo1 = {true, false, true};

1. 直接打印数组名System.out.println(数组名);

  • 如示例中double类型数组直接打印为
    [D@5f150435表示地址值,
    [表示为一个数组
    D表示数组元素为double类型
    @为分隔符
    后为真实地址
  • 只有char数组是直接打印出元素串
		/*直接打印*/System.out.println(b1);System.out.println(s1);System.out.println(i1);System.out.println(l1);System.out.println(f1);System.out.println(douArr1);System.out.println(charArr1);System.out.println(bo1);
[B@19e1023e
[S@7cef4e59
[I@64b8f8f4
[J@2db0f6b2
[F@3cd1f1c8
[D@3a4afd8d
!@#
[Z@1996cd68

2. new String(数组名) 打印字符串

仅支持char 和 byte数组

在这里插入图片描述

		/*做参数new字符串,打印字符串*/System.out.println("-------------------");System.out.println(new String(b1));
//        System.out.println(new String(s1));
//        System.out.println(new String(i1));
//        System.out.println(new String(l1));
//        System.out.println(new String(f1));
//        System.out.println(new String(douArr1));System.out.println(new String(charArr1));
//        System.out.println(new String(bo1));
012
!@#

3. Arrays.toString(数组名) 返回指定数组的内容的字符串表示形式。

只有这种打印方式是数组形式,有[,]的字符串

		System.out.println(Arrays.toString(b1));System.out.println(Arrays.toString(s1));System.out.println(Arrays.toString(i1));System.out.println(Arrays.toString(l1));System.out.println(Arrays.toString(f1));System.out.println(Arrays.toString(douArr1));System.out.println(Arrays.toString(charArr1));System.out.println(Arrays.toString(bo1));
[48, 49, 50]
[65, 66, 67]
[111, 222, 333]
[1000, 2000, 3000]
[0.1, 0.2, 0.3]
[1.1, 2.2, 3.3]
[!, @, #]
[true, false, true]

4.返回参数的String形式String.valueOf(数组名)【同1.直接输出】

对应方法1直接输出,只有char直接输出是元素,其他都是地址
方法可用种类,boolean,char,double,float,int,long,Object
但是数组里只支持char[],其他使用的返回 Object参数的字符串 Object形式。
注意:直接访问一个对象,相当于对象.toString()

在这里插入图片描述

		/*String.valuOf(-)把参数转为字符串形式输出*/System.out.println("------------------------");System.out.println(String.valueOf(b1));System.out.println(String.valueOf(s1));System.out.println(String.valueOf(i1));System.out.println(String.valueOf(l1));System.out.println(String.valueOf(f1));System.out.println(String.valueOf(douArr1));System.out.println(String.valueOf(charArr1));System.out.println(String.valueOf(bo1));

Object形式访问对象,就是地址

[B@19e1023e
[S@7cef4e59
[I@64b8f8f4
[J@2db0f6b2
[F@3cd1f1c8
[D@3a4afd8d
!@#
[Z@1996cd68

5.for循环和增强for【可更改打印格式最灵活,fori唯一一种可真正访问更改数组的方式,其他都只是打印】

for循环快捷写法,数组名.fori
增强for快捷,foreach
全变量数组可用

		/*两种for循环输出数组*///都可以改变打印格式for ( byte b: b1) {System.out.print(b + "'");}System.out.println();for (int i = 0; i < b1.length ; i++) {System.out.print(b1[i] + "*");b1[i] = 0;}System.out.println();for (int i = 0; i < b1.length ; i++) {System.out.print(b1[i] + "^");}
48'49'50'
48*49*50*
0^0^0^

文章转载自:

http://x1t94kIj.zmzdx.cn
http://LIYZELfB.zmzdx.cn
http://a1jN5kGX.zmzdx.cn
http://fl8HWlBo.zmzdx.cn
http://fXzurP4Y.zmzdx.cn
http://Fqah8hyr.zmzdx.cn
http://RqhaKesv.zmzdx.cn
http://2w5ISQhI.zmzdx.cn
http://Lt2XOH9C.zmzdx.cn
http://Y9IwoYjV.zmzdx.cn
http://wYz937GJ.zmzdx.cn
http://sYLRC0zS.zmzdx.cn
http://8goJbXao.zmzdx.cn
http://igXBEYiz.zmzdx.cn
http://pTeAI8zb.zmzdx.cn
http://DgcEptZn.zmzdx.cn
http://xMGiCkHw.zmzdx.cn
http://XWs8etQ0.zmzdx.cn
http://RKNNOtfc.zmzdx.cn
http://ajn4ENkc.zmzdx.cn
http://JkHaXQIq.zmzdx.cn
http://nhKNjqtE.zmzdx.cn
http://0XF7qSiK.zmzdx.cn
http://Vyysp1gc.zmzdx.cn
http://CUW0W8qU.zmzdx.cn
http://hQkuPe09.zmzdx.cn
http://zPwCAWYX.zmzdx.cn
http://VmE7kWii.zmzdx.cn
http://EhxXHpML.zmzdx.cn
http://wJR018oc.zmzdx.cn
http://www.dtcms.com/a/383772.html

相关文章:

  • ssh远程连接服务器到vscode上“连接失败”
  • SpringBoot -原理篇
  • 设计模式——结构型模式
  • I.MX6ULL时钟(clock)与定时器(EPITGPT)
  • STM32_06_Systick定时器
  • 用 Java 学会 Protocol Buffers从 0 到 1 的完整实战
  • 237.删除链表中的节点
  • 【Vue2手录14】导航守卫
  • Qt如何读写xml文件,几种方式对比,读写xml的Demo工程
  • 子网划分专项训练-1,eNSP实验,vlan/dhcp,IP规划
  • 云原生改造实战:Spring Boot 应用的 Kubernetes 迁移全指南
  • 看门狗的驱动原理
  • [论文阅读] 人工智能 + 软件工程 | 大语言模型驱动的多来源漏洞影响库识别研究解析
  • 【前缀和+哈希表】P3131 [USACO16JAN] Subsequences Summing to Sevens S
  • 05.【Linux系统编程】进程(进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
  • 【从零开始java学习|小结】记录学习和编程中的问题
  • 图像拼接案例,抠图案例
  • 分层解耦讲解
  • 安装Hadoop中遇到的一些问题和解决
  • 音视频-色域
  • 返利软件的分布式缓存架构:Redis集群在高并发场景下的优化策略
  • 如何让知识上传与查询更便捷
  • set/multiset容器
  • 区块链:搭建简单Fabric网络并调用智能合约
  • Keepalived的详细实操安装流程及其配置文件选项的详解
  • windows下,podman迁移镜像文件位置
  • 技能补全之正则表达式
  • Altium Designer(AD24)打开工程文件的几种方法
  • 26考研——内存管理(3)
  • 知识库缺乏维护和清理机制会造成哪些后果