100일 챌린지/빅데이터기반 인공지능 융합 서비스 개발자

Day05 - 배열과 문자열

ksyke 2024. 7. 26. 21:14

목차

    배열

    자료형[]

    • 배열은 동일한 자료형의 묶음으로밖에 사용이 안 된다.

    자료형 선언과 초기화

    자료형[] 변수형 = new 자료형[갯수]

    int[] a = new int[5];

    자료형 호출하기

    변수명[index]

    • index
      • 0부터 시작하고, 갯수-1개 까지 존재한다.
      • 연속되는 숫자이다.
      • 범위를 넘어설 경우 exception이 발생한다.
    int[] a = new int[5];
    a[0] = 1;
    a[1] = 3;
    a[2] = 5;
    a[3] = 7;
    a[4] = 9;
    for(int i = 0; i < a.length; i++){
        System.out.println(a[i]);
    }

    배열의 길이 호출하기

    변수명.length;

    byte 배열 만들기

    byte[] byt = new byte[3];
    byt[0] = 65;
    byt[1] = 66;
    byt[2] = 67;
    String msg4 = new String(byt);
    System.out.println(msg4);

    혹은

    String[] arr2 = new String[] {"item1", "item2", "item3"};
    
    String[] arr3 = {"ITEM1", "ITEM2", "ITEM3"}; // 사용하지 않는걸 추천

    문자열

    • 문자열은 문자의 집합이다.
    • "" <-와 같이 비어있는 문자의 집합이라는 개념으로 사용이 가능하다.
    • '+' 연산만 가능하다.
    • String = java.lang.String
      • `java.lang.String msg1 = "hello";은 참조변수이다. 따라서, 개념적으로 객체생성이 가능하다.
        String msg2 = new String("hello");
        System.out.println(msg2);

    문자열을 String으로 만들기

    char[] ch = new char[5];
    ch[0] = 'H';
    ch[1] = 'E';
    ch[2] = 'L';
    ch[3] = 'L';
    ch[4] = '0';
    String msg3 = new String(ch);
    System.out.println(msg3);

    String을 char, byte로 만들기

    String msg = "Hello Java";
    char[] arr1 = msg.toCharArray();
    for(int i = 0; i < arr1.length; i++) {
        System.out.println(arr1[i]);
    }
    byte[] arr2 = msg.getBytes();
    for(int i = 0; i < arr2.length; i++) {
        //System.out.println(arr2[i]);
        byte by = arr2[i];
        char ch = (char)by;
        System.out.println(ch + ", " + by);
    }

    다중배열

    자료형[][] 변수명 = new 자료형[][];

    int[] arr1 = {1, 3, 5};
    int[] arr2 = {2, 4, 6};
    
    int[][] arr3 = new int[2][];
    arr3[0] = arr1;
    arr3[1] = arr2;
    
    int[][] arr4 = {{1, 3, 5}, {2, 4, 6}};
    
    for(int i = 0; i < arr3.length; i++) {
        int[] arr5 = arr3[i];
        for(int j = 0; j < arr5.length; j++) {
            System.out.print(arr5[j] + " ");
        }
        System.out.println();
    }