728x90
반응형
SMALL

Arrays

문자열 비교와 출력

equals(), toString()

class Arrays6_1 {
    public static void main(String[] args) {
        int[] num = {0, 1, 2};
        int[][] score = {
                {88, 35, 100},
                {84, 60, 55},
                {100, 99, 72},
                {33, 54, 77}
        };

        System.out.println("Arrays.toString(num) = " + Arrays.toString(num));
        System.out.println("Arrays.deepToString(score) = " + Arrays.deepToString(score));
        System.out.println();

        String[][] strArr1 = {
                {"AAA","BBB","CCC"},
                {"aaa","bbb","ccc"},
        };
        String[][] strArr2 = {
                {"AAA","BBB","CCC"},
                {"aaa","bbb","ccc"},
        };

        // 1 차원 비교에는 equals
        System.out.println("Arrays.equals(strArr1[0], strArr2[0]) = " + Arrays.equals(strArr1[0], strArr2[0])); // true
        System.out.println("Arrays.equals(strArr1[1], strArr2[0]) = " + Arrays.equals(strArr1[1], strArr2[0])); // false

        System.out.println("Arrays.equals(strArr1, strArr2) = " + Arrays.equals(strArr1, strArr2)); // false

        System.out.println();
        // 다차원 비교에는 deepEquals
        System.out.println("Arrays.deepEquals(strArr1, strArr2) = " + Arrays.deepEquals(strArr1, strArr2)); // true
    }
}

배열 복사

copyOf(), copyOfRange()

class Arrays6_2 {
    public static void main(String[] args) {
        int[] arr = {0,1,2,3,4};
        System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr));
        
        System.out.println();
        // copyOf
        int[] arr2 = Arrays.copyOf(arr, arr.length);
        System.out.println("Arrays.toString(arr2) = " + Arrays.toString(arr2));
        int[] arr3 = Arrays.copyOf(arr, 3);
        System.out.println("Arrays.toString(arr3) = " + Arrays.toString(arr3));
        int[] arr4 = Arrays.copyOf(arr, 7); // 범위가 넘어가는 복사는 초기화값이 들어간다.
        System.out.println("Arrays.toString(arr4) = " + Arrays.toString(arr4));

        System.out.println();
        // copyOfRange
        int[] arr5 = Arrays.copyOfRange(arr, 2, 4);
        System.out.println("Arrays.toString(arr5) = " + Arrays.toString(arr5));
        int[] arr6 = Arrays.copyOfRange(arr, 0, 7);// 범위가 넘어가는 복사는 초기화값이 들어간다.
        System.out.println("Arrays.toString(arr6) = " + Arrays.toString(arr6));
    }
}

정렬

sort()

class Arrays6_3 {
    public static void main(String[] args) {
       int[] arr = {3, 1, 8, 5, 9, 2, 10, 7, 6, 4};
        System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr));
        System.out.println();

        Arrays.sort(arr); // 오름차순으로 정렬됩니다.
        System.out.println("sort");
        System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr));
    }
}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

객체의 생성과 배열  (0) 2023.01.20
클래스와 객체  (0) 2023.01.20
2차원 배열  (0) 2023.01.19
String 배열  (0) 2023.01.19
배열 연습하기  (0) 2023.01.19
728x90
반응형
SMALL

2차원 배열

테이블 형태의 데이터를 저장하기 위한 배열입니다.

국어 영어 수학

88 35 100
84 60 55
100 99 72
33 54 77

2차원 배열의 선언과 생성

**int[][] score = new int[4][3]; 4행 3열의 2차원 배열 score 가 생성된다.

[0][0] [0][1] [0][2]

[1][0] [1][1] [1][2]
[2][0] [2][1] [2][2]
[3][0] [3][1] [3][2]

score[0][0] = 88; 배열 score 의 1행 1열에 88을 저장합니다.

2차원 배열의 초기화

int[][] score = new int[][]{{}, {}, {}, {}};

int[][] score = {{}, {}, {}, {}};

class Arrays5_1 {
    public static void main(String[] args) {
        int[][] score = {
                {88, 35, 100},
                {84, 60, 55},
                {100, 99, 72}, 
                {33, 54, 77}
        };
        
        //길이 확인하기
        System.out.println("score.length = " + score.length);
        System.out.println("score[0].length = " + score[0].length);
        
        System.out.println();
        // 출력 예 1 : Arrays.toString()
        System.out.println("Arrays.toString()");
        System.out.println("Arrays.toString(score[0]) = " + Arrays.toString(score[0]));
        System.out.println("Arrays.toString(score[1]) = " + Arrays.toString(score[1]));
        System.out.println("Arrays.toString(score[2]) = " + Arrays.toString(score[2]));
        System.out.println("Arrays.toString(score[3]) = " + Arrays.toString(score[3]));

        System.out.println();
        // 출력 예 2 : for
        System.out.println("for");
        for (int i = 0; i < score.length; i++) {
            for (int j = 0; j < score[i].length; j++) {
                System.out.println("score[" + i + "][" + j + "] = " + score[i][j]);
            }
            System.out.println();

        }

        System.out.println();
        // 출력 예 3 : 향상된 for
        System.out.println("향상된 for");
        for (int[] ints : score) {
            for (int it : ints) {
                System.out.println("anInt = " + it);
            }
            System.out.println();
        }
    }
}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

클래스와 객체  (0) 2023.01.20
Arrays  (0) 2023.01.19
String 배열  (0) 2023.01.19
배열 연습하기  (0) 2023.01.19
배열의 길이와 초기화  (0) 2023.01.19
728x90
반응형
SMALL

String 클래스

char[] 와 메서드(기능)를 결합한 것입니다.

기본형 처럼 사용이 가능한 참조형 String str = "행복";String str = new String("행복");

문자열을 많이 사용하기 때문에 특별하게 만들어진 클래스

String 클래스는 내용을 변경할 수 없습니다. 새로운게 만들짐

String name = "choi"; String firstName = "wb"; name = name + firstName;

String 클래스의 주요 메서드

메서드 설명

char charAt(int index) 문자열에서 해당 위치(index)에 있는 문자를 반환한다
int length() 문자열의 길이를 반환한다.
String substring(int from, int to) 문자열에서 해당 범위(from~to)의 문자열을 반환한다.(to는 포함 안됨)
boolean equals(Object obj) 문자열의 내용이 같은지 확인한다. 같으면 true, 다르면 false
falsechar[] toCharArray() 문자열을 문자배열(char[])로 변환해서 반환한다.
class Arrays4_1 {
    public static void main(String[] args) {
        String str = "ABCDEFG";
        char ch = str.charAt(3);
        System.out.println("ch = " + ch); // ch = D

        String str2 = str.substring(1, 4);
        System.out.println("str2 = " + str2); // str2 = BCD

        String str3 = str.substring(1);
        System.out.println("str3 = " + str3); // str3 = BCDEFG

        String str4 = str.substring(1, str.length());
        System.out.println("str4 = " + str4); // str4 = BCDEFG

        char[] chArr = str.toCharArray();
        System.out.println("Arrays.toString(chArr) = " + Arrays.toString(chArr));
    }
}

String 배열의 선언과 생성

String[] name = new String[3];

3개의 문자열을 담을 수 있는 배열을 생성한다.

참조형 이기 때문에 기본값 null 로 초기화 된다.

class Arrays4_2 {
    public static void main(String[] args) {
        String[] strArr = {"축구", "야구", "골프", "테니스"};
        System.out.println("Arrays.toString(strArr) = " + Arrays.toString(strArr));
        
        String[] strArr2 = new String[4];
        System.out.println("Arrays.toString(strArr2) = " + Arrays.toString(strArr2));
    }
}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

Arrays  (0) 2023.01.19
2차원 배열  (0) 2023.01.19
배열 연습하기  (0) 2023.01.19
배열의 길이와 초기화  (0) 2023.01.19
배열  (0) 2023.01.19

+ Recent posts