나도코딩 자바 기본편_10일차(24.11.30)
#026 <배열>
*배열
같은 자료형의 값 여러 개를 저장하는 연속된 공간
String coffeeRoss = "아메리카노";
String coffeeRachel = "카페모카";
String coffeeChandler = "라떼";
String coffeeMonica = "카푸치노";
System.out.println(coffeeRoss + " 하나"); → 아메리카노 하나
System.out.println(coffeeRachel + " 하나"); → 카페모카 하나
System.out.println(coffeeChandler + " 하나"); → 라떼 하나
System.out.println(coffeeMonica + " 하나"); → 카푸치노 하나
System.out.println("주세요");
1) 배열 선언 첫 번째 방법 (각각의 위치값 정의)
String[] coffees = new String[4];
→ 크기 4에 해당하는 coffees 라는 이름의 String 배열 선언
2) 배열 선언 두 번째 방법 (각각의 위치값 정의)
String coffees[] = new String[4];
coffees[0] = "아메리카노"; → 인덱스 값은 0부터 시작
coffees[1] = "카페모카";
coffees[2] = "라떼";
coffees[3] = "카푸치노";
3) 배열 선언 세 번째 방법 (배열 선언과 동시에 값 넣기)
String[] coffees = new String[] {"아메리카노", "카페모카", "라떼", "카푸치노"};
→ 여기에는 숫자 넣지 않음
4) 배열 선언 네 번째 방법 (new String 생략)
String[] coffees = {"아메리카노", "카페모카", "라떼", "카푸치노"};
* 커피 주문
System.out.println(coffees[0] + " 하나"); → 아메리카노 하나
System.out.println(coffees[1] + " 하나"); → 카페모카 하나
System.out.println(coffees[2] + " 하나"); → 라떼 하나
System.out.println(coffees[3] + " 하나"); → 카푸치노 하나
System.out.println("주세요");
5) 배열의 값을 바꿀 때
System.out.println(coffees[0] + " 하나"); → 아메리카노 하나
System.out.println(coffees[1] + " 하나"); → 카페모카 하나
coffees[2] = "에스프레소"; → 해당 요소 앞에서 변수처럼 값 변경
System.out.println(coffees[2] + " 하나"); → 에스프레소 하나
System.out.println(coffees[3] + " 하나"); → 카푸치노 하나
System.out.println("주세요");
6) 다른 자료형
int[] i = new int[3];
i[0] = 1;
i[1] = 2;
i[2] = 3;
double[] d = new double[] {10.0, 11.2, 13.5};
boolean[] b = {true, true, false};
→ 선언된 자료형에 맞춰서 값 넣기
#027 <배열 순회>
String[] coffees = {"아메리카노", "카페모카", "라떼", "카푸치노"};
1) for 반복문 순회
→ 배열의 일부 요소만 순회 가능(선착순 3명까지만 커피 사주기)
→ 인덱스값 이용한 작업
for (int i = 0; i < 4; i++) {
System.out.println(coffees[i] + " 하나");
}
System.out.println("주세요");
2) 배열의 길이를 이용한 순회
for (int i = 0; i < coffees.length; i++) { → 배열 이름.length (배열의 길이/크기)
System.out.println(coffees[i] + " 하나");
}
System.out.println("주세요");
3) enhanced for (for-each) 반복문
→ 배열의 모든 요소 순회하면서 작업
for (String coffee : coffees) { → coffees 라는 배열의 값들을 순회
→ 순회되는 값을 coffee라는 이름으로 받아서 사용함
System.out.println(coffee + "하나");
}
System.out.println("주세요");
#028 <다차원 배열>
-소규모 영화관 좌석
A1 - A5
B1 - B5
C1 - C5
1) 1차원 배열로 표현
String[] seatA = {"A1", "A2", "A3", "A4", "A5"};
String[] seatB = {"B1", "B2", "B3", "B4", "B5"};
String[] seatC = {"C1", "C2", "C3", "C4", "C5"};
2) 다차원 배열로 표현 (3 x 5 크기의 2차원 배열)
String [][] seats = new String[][] { → new String 생략 가능
{"A1", "A2", "A3", "A4", "A5"},
{"B1", "B2", "B3", "B4", "B5"},
{"C1", "C2", "C3", "C4", "C5"}
};
// B2에 접근하려면?
// seats[세로 인덱스 번호][가로 인덱스 번호] → 인덱스 번호 0부터 시작
System.out.println(seats[1][1]); → B2
System.out.println(seats[2][4]); → C5
// 첫 줄 3칸, 둘째 줄 4칸, 셋째 줄 5칸 배열
String[][] seats2 = {
{"A1", "A2", "A3"},
{"B1", "B2", "B3", "B4"},
{"c1", "C2", "C3", "C4", "C5"}
};
// A3에 접근하려면?
System.out.println(seats2 [0][2]); → A3
// A5(없는 값)에 접근하려면?
System.out.println(seats2 [0][4]); → 배열 범위 벗어나면 오류 발생
3) 3차원 배열 만들기 (세로 x 가로 x 높이)
String[][][] marray = new String [][][] {
{ {}, {}, {} },
{ {}, {}, {} },
{ {}, {}, {} }
};
// 접근 방법
// System.out.println(marray[0][1][2]);
오늘의 한마디
새벽에 일어났더니 너무 졸려서 도서관에서 꾸벅꾸벅 졸았다. 초콜릿과 새콤달콤의 힘으로 겨우 정신 차리고 공부했다. 학원 개강 전에 KDC 온라인 과정도 수료해야 하고 자바 강의 심화편도 끝내고 싶은데... 마음만 급하고 진도는 팍팍 못 나가는 것 같아서 답답하다. 이럴 때일수록 조급함을 버리는 게 중요하지. 여유로운 척이라도 해보자!
'공부를 하자! > 나도코딩 자바 기본편' 카테고리의 다른 글
[나도코딩 자바 기본편] 12일차: 퀴즈5, 메소드, 전달값, 반환값, 전달값과 반환값 (0) | 2024.12.02 |
---|---|
[나도코딩 자바 기본편] 11일차: 다차원 배열 순회, 아스키 코드 (0) | 2024.12.02 |
[나도코딩 자바 기본편] 9일차: 퀴즈4 (0) | 2024.11.30 |
[나도코딩 자바 기본편] 8일차: 이중 반복문, Break, Continue (0) | 2024.11.24 |
[나도코딩 자바 기본편] 7일차: For, While, Do While (0) | 2024.11.24 |