> Java > java지도 시간 > Java에서 배열을 인쇄하는 방법은 무엇입니까?

Java에서 배열을 인쇄하는 방법은 무엇입니까?

PHPz
풀어 주다: 2023-04-19 19:28:05
앞으로
2418명이 탐색했습니다.

    Java 개발에서 배열 정보를 인쇄해야 하는 경우가 있습니다. 다음은 배열을 인쇄하는 여러 가지 방법입니다. (다음과 같이)

    ①, 루프 인쇄에 사용

    가장 간단한 방법은 하나씩 순회하여 인쇄하는 것입니다.

    참고: 다차원 배열인 경우 다단계 for 루프 중첩을 사용하여 인쇄할 수 있습니다.

    1차원 배열:

    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 + "、");
        }
    }
    로그인 후 복사

    2차원 배열:

    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] + "、");
             }
         }
     }
    로그인 후 복사

    ②, Arrays.toString() 또는 Arrays.deepToString()을 사용하세요.

    1차원 배열의 경우 Arrays.toString() 메서드를 사용할 수 있습니다. 유형의 배열을 문자열로 변환하는 코드는 다음과 같습니다.

    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));
    }
    로그인 후 복사

    그러나 다차원 배열의 경우 Arrays.toString()을 사용하면 배열 변수 이름을 직접 인쇄할 때와 동일한 문제가 발생합니다. , 주소 값이 인쇄됩니다. 이때 아래와 같이 Arrays.deepToString() 메서드를 사용해야 합니다.

    Java는 객체 지향

    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));
    }
    로그인 후 복사

    1차원 배열을 사용하기 때문에 다차원 배열을 사용하지 않으며 최대 2차원 배열을 사용합니다. 배열은 Arrays.toString() 메소드를 사용하고, 다차원 배열은 Arrays.deepToString() 메소드를 사용하고

    3, Arrays.asList()를 사용합니다

    이 메소드는 배열을 리스트로 변환하는 것입니다

    다음 사항이 필요합니다. 참고:

    (1) 이 방법은 적용할 수 없습니다. 기본 데이터 유형

    (byte, short, int, long, float, double, boolean)을 기반으로 하지만 기본 데이터 유형의 캡슐화 클래스를 사용할 수 있습니다. 예를 들어 int의 캡슐화 클래스 Integer(객체 배열도 유효함)

    (2) 이 방법은 배열 중 하나가 업데이트되면 다른 하나도 자동으로 업데이트됩니다

    (3) 추가 및 제거 방법은 지원되지 않습니다

        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]
        }
    로그인 후 복사

    보조: Java 바이트 배열 인쇄

    16비트 배열 인쇄

    간단한 방법

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

    //출력 결과 인쇄
    [15, 31, 47, 63, 79, 95, 111]

    좀 더 다양하게

    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;
    }
    로그인 후 복사

    //출력 결과를 인쇄하세요
    [-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0 , 43, 48, 48, - 99]

    일반 배열 인쇄

    byte[] bs = "你好,这是一段字符串!".getBytes();
    System.out.println(Arrays.toString(bs));
    로그인 후 복사

    //출력 결과 인쇄
    [-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]

    위 내용은 Java에서 배열을 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿