欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java打印數(shù)組的三種方法整理

 更新時(shí)間:2022年06月20日 16:11:30   作者:超能大眼萌  
許多學(xué)編程專(zhuān)業(yè)的同學(xué)面試的時(shí)候,考官都會(huì)問(wèn)到Java如何打印數(shù)組這樣的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Java打印數(shù)組的三種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

在Java開(kāi)發(fā)中有時(shí)候需要打印數(shù)組信息,下面是整理歸納的幾種打印數(shù)組方法:(如下)

①、使用 for 循環(huán)打印

最簡(jiǎn)單的方法,逐個(gè)遍歷打印

注:如果是多維數(shù)組的話(huà),使用多層 for 循環(huán)嵌套就可以打印了。

一維數(shù)組:

public static void main(String[] args) {
    int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
    // 普通for循環(huán)打印
    System.out.println("普通for循環(huán)打印:");
    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i] + "、");
    }
    System.out.println(); // 換行
    // 增強(qiáng)for循環(huán)打印
    System.out.println("增強(qiáng)for循環(huán)打印:");
    for (int num : arr) {
        System.out.print(num + "、");
    }
}

二維數(shù)組:

public static void main(String[] args) {
      int[][] arr = new int[][] {{1,2},{2,3},{3,4},{4,5},{5,6}};// 二維數(shù)組
        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()

對(duì)于一維數(shù)組,可以使用Arrays.toString()方法,它支持將任意類(lèi)型的數(shù)組轉(zhuǎn)換為字符串,代碼如下:

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));
}

但對(duì)于多維數(shù)組,用 Arrays.toString() 就會(huì)出現(xiàn)和直接打印數(shù)組變量名時(shí)一樣的問(wèn)題,打印出來(lái)的是地址值。這時(shí)候,就需要使用 Arrays.deepToString() 方法了,如下圖:

Java不會(huì)去使用多維數(shù)組,最多用到二維,因?yàn)镴ava會(huì)用到面向?qū)ο?/p>

public static void main(String[] args) {
    int[][] arr = new int[][] {{1,2},{2,3},{3,4},{4,5},{5,6}};// 二維數(shù)組
    //使用Arrays.deepToString()
    System.out.println(Arrays.deepToString(arr));
}

一維數(shù)組用 Arrays.toString() 方法,多維數(shù)組用 Arrays.deepToString() 方法

③、使用 Arrays.asList()

該方法是將數(shù)組轉(zhuǎn)化為list

以下幾點(diǎn)需要注意:

(1)該方法不適用于基本數(shù)據(jù)類(lèi)型

(byte,short,int,long,float,double,boolean),但可以用基本數(shù)據(jù)類(lèi)型的封裝類(lèi)。比如int的封裝類(lèi)Integer.(Object 數(shù)組也是有效)

(2)該方法將數(shù)組與列表鏈接起來(lái),當(dāng)更新其中之一時(shí),另一個(gè)自動(dòng)更新

(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));
        //打印結(jié)果:[[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));
        //打印結(jié)果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    }

補(bǔ)充:java byte數(shù)組打印

十六位數(shù)組打印輸出

簡(jiǎn)單的方式

Byte[] bs = {0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F};
System.out.println(Arrays.toString(bs));

// 打印輸出結(jié)果
[15, 31, 47, 63, 79, 95, 111]

更加通用一點(diǎn)的方式

byte[] bs = hexStringToByteArray("e04fd020ea3a6910a2d808002b30309d");
System.out.println(Arrays.toString(bs));

/**
 * 將String轉(zhuǎn)換為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;
}

// 打印輸出結(jié)果
[-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0, 43, 48, 48, -99]

普通數(shù)組打印輸出

byte[] bs = "你好,這是一段字符串!".getBytes();
System.out.println(Arrays.toString(bs));

// 打印輸出結(jié)果
[-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]

總結(jié)

到此這篇關(guān)于Java打印數(shù)組的三種方法的文章就介紹到這了,更多相關(guān)Java打印數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot REST國(guó)際化的實(shí)現(xiàn)代碼

    Spring Boot REST國(guó)際化的實(shí)現(xiàn)代碼

    本文我們將討論如何在現(xiàn)有的Spring Boot項(xiàng)目中添加國(guó)際化。只需幾個(gè)簡(jiǎn)單的步驟即可實(shí)現(xiàn)Spring Boot應(yīng)用的國(guó)際化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署的實(shí)現(xiàn)

    使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署的實(shí)現(xiàn)

    本文主要介紹了使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署
    2022-01-01
  • 概述java虛擬機(jī)中類(lèi)的加載器及類(lèi)加載過(guò)程

    概述java虛擬機(jī)中類(lèi)的加載器及類(lèi)加載過(guò)程

    這篇文章主要介紹了概述java虛擬機(jī)中類(lèi)的加載器及類(lèi)加載過(guò)程,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • dubbo 如何使用logback來(lái)輸出日志

    dubbo 如何使用logback來(lái)輸出日志

    這篇文章主要介紹了dubbo 如何使用logback來(lái)輸出日志的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java中的FileInputStream(輸入流)

    java中的FileInputStream(輸入流)

    這篇文章主要介紹了java中的FileInputStream(輸入流),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java 并發(fā)編程之線(xiàn)程掛起、恢復(fù)與終止

    Java 并發(fā)編程之線(xiàn)程掛起、恢復(fù)與終止

    這篇文章主要介紹了Java 并發(fā)編程之線(xiàn)程掛起、恢復(fù)與終止的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 深入探究Spring底層核心原理

    深入探究Spring底層核心原理

    理解IOC與AOP的實(shí)現(xiàn)機(jī)制,優(yōu)化應(yīng)用性能與可維護(hù)性。Spring通過(guò)IOC容器管理Bean,AOP實(shí)現(xiàn)切面編程,支持事務(wù)管理、ORM框架等。深入理解Spring原理,可以幫助我們更好地使用Spring框架,提高開(kāi)發(fā)效率與質(zhì)量
    2023-04-04
  • MyBatis mapping類(lèi)基本用法

    MyBatis mapping類(lèi)基本用法

    這篇文章主要為大家介紹了MyBatis mapping類(lèi)基本用法示例詳解,
    有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • java接口性能優(yōu)化技巧

    java接口性能優(yōu)化技巧

    這篇文章主要為大家介紹了java接口性能優(yōu)化技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Spring控制bean加載順序使用詳解

    Spring控制bean加載順序使用詳解

    在使用spring框架開(kāi)發(fā)過(guò)程中,我們可能會(huì)遇到某個(gè)bean被另一個(gè)bean依賴(lài),也就是bean-b的創(chuàng)建必須依賴(lài)bean-a等問(wèn)題,類(lèi)似這樣的場(chǎng)景還有很多,總結(jié)來(lái)說(shuō),這就涉及到bean的加載順序問(wèn)題,如何解決呢,本文將給大家列舉出幾種常用的解決方案,需要的朋友可以參考下
    2023-09-09

最新評(píng)論