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