명품 자바 프로그래밍
[명품 자바 프로그래밍] 3장 반복문과 배열 그리고 예외 처리 정리
n_0_jun
2024. 10. 19. 14:00
반응형
1. 다차원 배열
- 배열 선언과 초기화:
- 다차원 배열은 다음과 같이 선언하고 초기화할 수 있다.
double[][] score = { {3.3, 3.4}, // 1학년 1, 2학기 평점 {3.5, 3.6}, // 2학년 1, 2학기 평점 {3.7, 4.0}, // 3학년 1, 2학기 평점 {4.1, 4.2} // 4학년 1, 2학기 평점 };
- score.length는 배열의 행 개수(학년 수)를 반환하고, score[0].length는 첫 번째 행의 열 개수(학기 수)를 반환한다.
- 다차원 배열은 다음과 같이 선언하고 초기화할 수 있다.
- 반복문을 통한 접근:
- 이중 for 루프를 사용하여 다차원 배열에 접근할 수 있다.
double sum = 0; for (int year = 0; year < score.length; year++) { for (int term = 0; term < score[year].length; term++) { sum += score[year][term]; // 전체 평점 합 } }
- 다차원 배열의 각각의 길이를 활용하여 반복문을 통해 각 요소에 접근할 수 있다.
- 이중 for 루프를 사용하여 다차원 배열에 접근할 수 있다.
- 가변 배열:
- 자바에서는 각 행의 길이가 다르게 설정할 수 있어, 직사각형 형태가 아닐 수도 있다.
- 자바에서는 각 행의 길이가 다르게 설정할 수 있어, 직사각형 형태가 아닐 수도 있다.
int[][] array = new int[4][];
array[0] = new int[2]; array[1] = new int[3]; // 서로 다른 길이의 배열
2. 메소드와 배열
- 배열을 메소드에서 반환:
- 메소드에서 배열을 반환하는 방법은 다음과 같다:
public static double[] createArray() { return new double[]{1.0, 2.0, 3.0}; }
- 메소드는 배열의 실제 주소값을 반환하며, 이를 통해 배열의 내용을 변경할 수 있다.
- 메소드에서 배열을 반환하는 방법은 다음과 같다:
3. 예외 처리
- 예외 처리 구문:
- try-catch 구문을 사용하여 예외를 처리할 수 있다. 예를 들어, 0으로 나누는 경우를 처리하는 코드:
try { int result = 10 / 0; // ArithmeticException 발생 } catch (ArithmeticException e) { System.out.println("0으로 나눌 수 없습니다."); }
- try-catch 구문을 사용하여 예외를 처리할 수 있다. 예를 들어, 0으로 나누는 경우를 처리하는 코드:
- 일반적인 예외:
- ArithmeticException: 0으로 나눌 때 발생.
- NullPointerException: null 객체를 참조할 때 발생.
- NumberFormatException: 문자열을 숫자로 변환할 때 형식이 맞지 않을 때 발생.
- ArrayIndexOutOfBoundsException: 배열의 유효 범위를 벗어날 때 발생.
4. 반복문과 흐름 제어
- for 루프:
- 반복문의 다양한 사용 예시:
for (int i = 0; i < 10; i++) { System.out.println(i); }
- 반복문의 다양한 사용 예시:
- while 및 do-while 루프:
- while 루프는 조건이 true일 때 반복한다.
int j = 0; while (j != 20) { j++; }
- do-while 루프는 조건을 체크하기 전에 최소 한 번은 실행된다.
char c = 'a'; do { System.out.print(c); c = (char) (c + 1); } while (c <= 'z');
- while 루프는 조건이 true일 때 반복한다.
- continue와 break:
- continue: 현재 반복을 건너뛰고 다음 반복으로 진행한다.
- break: 반복문을 즉시 종료한다.
5. 문자열과 입력 처리
- 문자열 입력:
- 전체 한 줄을 입력받기 위해 scanner.nextLine()을 사용할 수 있다.
String text = scanner.nextLine(); // 한 라인을 통채로 입력
- 전체 한 줄을 입력받기 위해 scanner.nextLine()을 사용할 수 있다.
- 문자 단위 입력:
- 한 글자를 입력받기 위해 scanner.next()를 사용할 수 있다.
char alpha = scanner.next().charAt(0); // 첫 글자를 추출
- 한 글자를 입력받기 위해 scanner.next()를 사용할 수 있다.
- 문자열 비교:
- 문자열 비교 시 == 연산자를 사용하면 안 되며, equals() 메소드를 사용해야 한다.
if (text.equals("exit")) { // exit 입력 시 처리 }
- 문자열 비교 시 == 연산자를 사용하면 안 되며, equals() 메소드를 사용해야 한다.
6. 배열 및 길이
- 배열 선언과 초기화:
- 배열은 다음과 같이 선언 및 초기화할 수 있다.
int[] intArray = new int[5]; // 선언 및 할당 int[] intArray2 = {4, 3, 2, 1, 0}; // 선언, 할당, 초기화
- 배열은 다음과 같이 선언 및 초기화할 수 있다.
- 배열 길이:
- 배열의 길이는 length 속성을 사용하여 확인할 수 있다.
int length = intArray.length; // 배열의 길이
- 배열의 길이는 length 속성을 사용하여 확인할 수 있다.
- for-each 문:
- 배열을 순회할 때 for-each 문을 사용할 수 있다.
for (int number : intArray) { System.out.println(number); }
반응형