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

Apakah kaedah untuk mencetak tatasusunan dalam Java?

PHPz
Lepaskan: 2023-04-19 19:28:05
ke hadapan
2439 orang telah melayarinya

    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 + "、");
        }
    }
    Salin selepas log masuk

    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] + "、");
             }
         }
     }
    Salin selepas log masuk

    ②, 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));
    }
    Salin selepas log masuk

    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));
    }
    Salin selepas log masuk

    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]
        }
    Salin selepas log masuk
        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]
        }
    Salin selepas log masuk
    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));
    Salin selepas log masuk
    //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;
    }
    Salin selepas log masuk
    //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));
    Salin selepas log masuk
    // 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!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan