3.1 반복문



- while문의 '조건식'은 for문처럼 true인경우 반복이 계속되고 false일 경우 while문을 벗어난다. 단! for문과 달리 '조건식'이 없으면 컴파일 오류가 발생.

- '조건식'은 while문과 동일하며 '조건식'이 없으면 컴파일 오류 발생. do-while문은 '작업문'실행 후 반복조건 따짐-> '작업문'이 최초 한 번은 반드시 실행.
중첩반복
- 반복문 안에 다른 반복문 만들 수 있음. (for문 안에 for문 or while문 안에 for,while,do-while문)
3.2 continue문과 break문
- continue문 : 반복문을 빠져나가지 않으면서 즉시 다음 반복으로 넘어가고자 할 때 사용(continue; 자체가 하나의 문장)

- break문 : 하나의 반복문을 즉시 벗어날 때 사용, break; 자체가 하나의 문장
- break문 실행되면 현재의 반복문을 벗어나 다음 코드로 실행이 계속됨.
3.3 자바의 배열
- 배열: 인덱스와 인덱스에 대응하는 일련의 데이터들로 이루어진 연속적인 자료구조. 같은 종류의 데이터들이 순차적으로 저장.

대신


로 간단하게 합을 구할 수 있다.
배열선언 및 생성
- 배열에 대한 레퍼런스 변수 선언
- 배열 생성 - 배열공간 할당

- int intArray []; 를 선언했을 때 배열공간은 아직 생성되지 않는다. intArray변수는 레퍼런스(참조)라 불리는 배열의 주소값을 가지며 그 자체가 배열은 아니다. 그러므로 intArray변수값은 null.
- 배열 생성할 때 int intArray[]=new int [5]; 처럼 선언과 생성을 동시에 할 수도 있다.
- 배열 선언문에서 '{}' 사이에 원소를 나열하여 초기화된 배열을 만들 수 있다.
- int intArray[]={4,3,2,1,0}; --> intArray의 크기는 자동으로 5가 됨.
- 배열의 인덱스는 정수만 가능.

레퍼런스 치환과 배열 공유

배열의 크기, length 필드
- 자바는 배열을 객체로 다룸.
- 배열이 생성되면 배열공간과 함께 배열의 크기 값을 가진 length 필드가 배열 객체 내에 생성
- int intArray[]=new int[5]; (인덱스는 0~4까지 가능)
- int size=intArray.length; //size는 5
- length필드를 이용하면 프로그램에서 배열의 크기를 따로 관리할 필요 x.
- C/C++은 배열과 배열의 크기를 따로 관리해야함. 자바는 배열이 그 크기 제공 -> 배열 다루기가 훨 쉬움.

배열과 for-each문
- for문을 변형한 for-each문은 배열이나 나열의 크기만큼 루프를 돌면서 각 원소를 순차적으로 접근하는데 매우 유용


3.4 다차원 배열_2차원 배열
- 2차원 배열의 레퍼런스변수 선언: int intArray[][]; 또는 int [][] intArray;
- 2행 5열의 2차원배열 선언 : intArray=new int[2][5];

- 2차원 배열의 초기화

3.5 메소드의 배열 리턴
- 메소드가 배열 리턴할 때는 배열 메모리 전체가 아닌 배열에 대한 레퍼런스만 리턴
- 메소드의 리턴타입에는 배열의 크기를 지정하지 않는다.

//makeArray()로부터 배열 리턴받기
int [] intArray;//makeArray()의 리턴타입과 동일한 타입 선언
intArray=makeArray(); //메소드가 리턴하는 배열 받음

3.6 자바의 예외처리
- 실행 중 오동작이나 결과에 악영향을 미치는 예상치 못한 상황 발생 : exception(에외)
- 문법에 맞지 않게 작성된 코드는 컴파일러에 의해 컴파일 오류로 걸러짐
- 예외는 사용자의 잘못된 입력이나 배열의 인덱스가 배열의 크기를 넘어가는 등의 사건에 의해 프로그램 실행 중 발생'실행 중 예외 발생 -> 자바 플랫폼이 가장 먼저 알게됨 -> 현재 실행중인 자바 프로그램에게 예외 전달 ->응용프로그램이 예외에 대응.
- 응용프로그램에 예외 대처 코드가 없다면 자바플랫폼이 응용프로그램을 강제종료
- 예외발생경우
- 정수를 0으로 나누기
- 배열의 크기보다 큰 인덱스로 배열의 원소 접근
- 정수 읽는 코드가 실행되고 있을 때 사용자가 문자입력
예외처리, try-catch-finally 문

- 예외가 발생할 가능성이 있는 실행문들을 try { } 블록으로 묶고 예외처리코드는 catch { } 블록에 작성

- finally { }는 선택적 구문으로서 생략해도 상관x. 많은 경우 생략.
- 발생한 예외타입과 일치하는 catch 블록이 없으면 프로그램 강제 종료.
- catch블록 내에서 System.exit(0)을 호출하면 언제든지 프로그램 종료 가능

'언어 > JAVA' 카테고리의 다른 글
| ch05. 상속 (0) | 2025.03.26 |
|---|---|
| [JAVA] ch04. 클래스와 객체 (1) | 2025.01.06 |
| [JAVA] ch02. 자바 기본 프로그래밍 (0) | 2025.01.01 |
| [JAVA] ch01. 자바 시작 (1) | 2024.12.28 |