벌써 자바기초 마지막이라니!!
아직 아무것도 이해하지 못한것 같은데 앞으로 내가 잘 할 수 있을까??
블로깅도 제대로 못한것 같고 아무것도 못한것 같은데 벌써 시작한지 2주가 지나가고 있다.
24주라는 짧은 시간이지만 하루하루 갈 수록 더 조급해 지는건 내 노력이 부족해서 인것같기도 하다....
점점 미궁으로 빠지는 느낌
마지막에 부트캠프가 끝나는 날에는 오늘의 글을 보며 저땐 왜 저렇게 힘들어했는지 이해 못할정도로 잘 적응했으면 좋겠다.
(그래도 어제 조건문보다는 이해하기 쉬웠다)
# 배열 (Array)
- 배열이 무엇인지 안다.
- 1차원 배열과 2차원 배열을 이해한다.
- 배열을 선언하고 초기화하는 방법, 탐색하고 값을 사용하는 방법을 이해한다.
1. 배열이란?
: 동일한 타입의 여러 값을 하나의 묶음으로 묶은 자료 구조 (연관성이 있을 때 가능)
double[] 변수명 = {1,2,3,4,5,6, ..., 100};
2. 배열의 차원
: 배열이 중첩된 정도 (배열의 요소가 또 다른 배열인 경우)
double[] 변수명 = {1,2,3,4,5,6, ..., 100}; // 1차원 배열
double[] 변수명 = {{1,2,3,4,5,6}{7,8,9}}; // 2차원 배열
- 1차원 배열
double[] 변수명; // 배열에 변수명 할당 // 선언
변수명 = new double [31] // 변수명에 31개의 double형 값을 저장할 수 있는 배열 생성 // 초기화
double[] 변수명 = new double[] {1,2,3,4,5,6, ...,31};
- 2차원 배열
// 하루 세끼를 한달동안 기록
int[][] kcal;
kcal = new int{31][3]; // [31] 한달동안 [3]세끼
// 위 두 줄의 코드를 한 줄로 줄일 수 있음
int[][] kcal = new int[31][3];
{
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
...
{0, 0, 0}
}
// 선언과 초기화를 하나의 문장으로 할 때에 한해 new int[][] 를 생략할 수 있음
int[][] kcal = {
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
...
{0, 0, 0}
}
3. 가변 배열
: 배열이 2차원 이상일 때, 마지막 차수에 해당하는 배열의 길이는 고정하지 않아도 됨
int[][] ages = new int[5][];
// 2칸 5줄의 빈칸 생성
[][]
[][]
[][]
[][]
[][]
ages[0] = new int[5];
ages[3] = new int[7];
// 0번째 줄에는 5칸, 3번째 줄에는 7칸 나머지 1,2,4 줄에는 빈공간 즉 기본 두칸
[][][][][]
[][]
[][]
[][][][][][][]
[][]
4. 배열 탐색
- for문
int[] scores = {100, 90, 85, 95, 100};
int sum = 0;
for (int i = 0; i < scores.length; i++) { //i는 0부터 시작, scores.length보다 작으면
sum += scores[i]; // scores[i]의 값을 더하고
} // i에 1을 더함
System.out.println(sum);
- while문
int[] scores = {100, 90, 85, 95, 100};
int sum = 0;
int i = 0; // i는 0부터 시작
while (i < scores.length) { // i가 scores.length 보다 작으면
sum += scores[i++]; // sum에 scores 값을 더하고, i에 1을 더함
}
System.out.println(sum);
- 향상된 for문
int[] scores = {100, 90, 85, 95, 100};
int sum = 0;
for (int score : scores) {
sum += score;
}
System.out.println(sum);
배열이 비어있을 경우
int 타입은 0
string 타입은 null
을 리턴
error: illegal start of type
일반적으로 Java 소스 코드에서 중괄호 {}나 괄호 ()의 사용이 잘못된 경우에 발생
# 클래스와 객체
# 필드와 메서드
↓ 이전 글 ↓
↓ 코트스테이츠 부트캠프 관련 글 한번에 보기 ↓
[코드스테이츠] 04_24_TIL : 객체지향 _ 생성자와 이너클래스 (0) | 2023.04.24 |
---|---|
[코드스테이츠] 04_21_TIL : 객체지향 _ 클래스, 객체, 필드, 메서드 (0) | 2023.04.21 |
[코드스테이츠] 04_19_TIL : JAVA 세번째 _ 반복문 (0) | 2023.04.20 |
[코드스테이츠] 04_18_TIL : JAVA 두번째 _ 연산자, 조건문 (0) | 2023.04.18 |
[코드스테이츠] 04_17_TIL : JAVA 첫번째 _ 변수/타입, 문자열 (0) | 2023.04.17 |