Rumah  >  Artikel  >  Java  >  Apakah kaedah untuk mencetak tatasusunan dalam Java?

Apakah kaedah untuk mencetak tatasusunan dalam Java?

PHPz
PHPzke hadapan
2023-04-19 19:28:052390semak imbas

    Kadangkala perlu mencetak maklumat tatasusunan dalam pembangunan Java Berikut adalah beberapa cara untuk mencetak tatasusunan: (seperti berikut)

    ①, gunakan untuk Gelung. mencetak

    Cara paling mudah ialah melintasi dan mencetak

    satu demi satu Nota: Jika tatasusunan berbilang dimensi, anda boleh mencetaknya dengan menggunakan berbilang lapisan untuk bersarang gelung.

    Tatasusunan satu dimensi:

    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 + "、");
        }
    }

    Tatasusunan dua dimensi:

    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] + "、");
             }
         }
     }

    ②, gunakan Arrays.toString() atau Arrays.deepToString()

    Untuk tatasusunan satu dimensi, anda boleh menggunakan kaedah Arrays.toString(), yang menyokong penukaran sebarang jenis tatasusunan kepada rentetan Kodnya adalah seperti berikut:

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

    Tetapi untuk berbilang tatasusunan -dimensi, gunakan Arrays.toString( ) akan mempunyai masalah yang sama seperti semasa mencetak nama pembolehubah tatasusunan secara terus, dan nilai alamat akan dicetak. Pada masa ini, anda perlu menggunakan kaedah Arrays.deepToString(), seperti yang ditunjukkan di bawah:

    Java tidak akan menggunakan tatasusunan berbilang dimensi, paling banyak tatasusunan dua dimensi, kerana Java akan menggunakan berorientasikan objek

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

    Gunakan kaedah Arrays.toString() untuk tatasusunan satu dimensi dan kaedah Arrays.deepToString() untuk tatasusunan berbilang dimensi

    ③ 🎜>

    Kaedah ini menukar tatasusunan kepada senarai

    Perkara berikut perlu diberi perhatian:

    (1) Kaedah ini tidak sesuai untuk jenis data asas

    (bait, pendek, int, panjang, terapung, double, boolean ), tetapi anda boleh menggunakan kelas enkapsulasi jenis data asas. Contohnya, kelas enkapsulasi Integer bagi int (tatasusunan objek juga sah)

    (2) Kaedah ini memautkan tatasusunan dan senarai Apabila salah satu daripadanya dikemas kini, yang satu lagi dikemas kini secara automatik

    (3) Kaedah tambah dan alih keluar tidak disokong

        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]
        }
    Tambahan: percetakan tatasusunan java byte

    cetakan tatasusunan 16-bit

    Cara mudah

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

    [15, 31, 47, 63, 79, 95, 111]

    Cara yang lebih umum

    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;
    }
    //Cetak hasil output

    [-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0, 43, 48, 48, -99]

    Cetakan tatasusunan biasa

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

    [-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]

    Atas ialah kandungan terperinci Apakah kaedah untuk mencetak tatasusunan dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam