반응형
* 제어문(if, switch, for, while, break, continue, return)
- 제어문(Control Statement) : 프로그램의 흐름(스레드)을 바꾸는 명령
- 스레드는 기본적으로 위에서 아래로(순차적으로) 읽는다.
이 흐름을 바꿔주는게 제어문이다. - 선택문(if, switch), 반복문(for, while), 기타(break, continue, return)
* if 문
- if 문 : 조건식에 의해 명령을 선택 실행하기 위한 선택문을 작성하기 위한 키워드
- 형식 1)
: if(조건식){명령; 명령; …}
→ 조건식의 결과값이 [true]인 경우 블럭 내부에 작성된 명령들 실행
→ 블럭 내부에 작성된 명령이 하나인 경우 블럭 기호 생략 가능 - 형식 2)
: if(조건식){명령; 명령; …} else{명령; 명령;...}
→ 조건식의 결과값을 구분하여 명령을 선택 실행 - 형식 3)
: if(조건식){명령; 명령; …} else if(조건식){명령; 명령; …} else{명령; 명령; …}
→ 다수의 조건식에 작성하여 조건식이 참인 블럭 내부의 명령을 선택 실행
→ 모든 조건식이 거짓인 경우 else 블럭의 명령 실행(else는 생략 가능)
* 지역변수(LocalVariable)
- 지역변수(Localvariable) : 메소드 블럭({ }) 내부에서 선언된 변수
→ 지역변수는 선언된 블럭이 종료되면 자동 소멸되므로 선언된 블럭 내부에서만 사용이 가능하다.
→ 클래스(class) 안에 변수를 설정한 것이 필드(Field)이다.
* switch 문
- switch : 값을 비교하여 명령을 선택 실행하기 위한 선택문을 작성하는 키워드
- 형식)
switch(변수 또는 연산식){
case 값1 : 명령; 명령; … break; ⇒ break는 생략 가능
case 값1 : 명령; 명령; … break; ⇒ break는 생략 가능
case 값1 : 명령; 명령; … break; ⇒ break는 생략 가능
….
default : 명령; 명령; … ⇒ 생략가능
} - switch 키워드로 제공되는 변수값 또는 연산 결과값을 case 키워드로 제공되는 값과 비교하여 같은 값인 경우 case 위치의 명령부터 하단에 작성된 모든 명령을 실행
- switch 키워드 및 case 키워드로 제공되는 값은 반드시 리터럴 또는 상수만 작성 가능하며 중복 작성될 경우 에러가 발생한다.(실수값은 사용 불가능)
- case 키워드로 제공되는 값은 반드시 리터럴 또는 상수만 작성 가능하며 중복 작성될 경우 에러가 발생
- 명령 실행시 break 키워드를 실행하면 switch 명령은 종료된다.
- switch 키워드로 제공되는 값이 case 키워드로 제공되는 값과 모두 다른 경우 default 키워드의 명령이 실행된다.
* break 문
- break : switch 구문 또는 반복문을 강제로 종료하기 위한 키워드
* continue 문
- continue : 반복문의 명령을 처음부터 다시 실행하기 위한 키워드
- 반복문의 블록 내부에서 continue 명령이 실행되면 하단에 작성된 명령을 실행하지 않고 블럭 내부의 명령을 처음부터 다시 실행한다.
* for 문
- for : 조건식에 의해 명령을 반복 실행하기 위한 명령을 작성하는 키워드
→ for : 반복의 횟수가 정해져 있을때 사용
→ while : 반복의 횟수가 정해져있지 않을 때 사용 - 형식)
for(초기식;조건식;증감식) {명령; 명령; …}
→ 초기식 : 변수에 초기값을 저장하는 연산식
→ 증감식 : 변수값을 증가하거나 감소하는 연산식 - 초기식, 조건식, 증감식은 반드시 [;] 기호를 사용하여 구분
(for 구문에는 반드시 [;] 기호가 2개 존재해야 한다.) - 해석순서
: 초기식 >> 조건식(참) >> 블럭 내부의 명령 실행 >> 증감식 >> 조건식(참) >> 블럭 내부의 명령 실행 >> 증감식 >> 조건식(참) >> 블럭 내부의 명령 실행 >> … (반복) - 조건식의 결과값이 거짓인 경우 반복문이 종료된다
- 초기식, 조건식, 증감식 생략이 가능하다 → 조건식이 생략된 경우 무조건 참으로 처리한다.
(주의) 조건식의 결과값이 무조건 참인 경우 무한루프가 발생할 수 있다. - 반복문 작성시에 반복문을 구분하기 위한 식별자(라벨명) 선언이 가능하다
- 형식)
라벨명 : 반복문 ⇒ [라벨명 :] 다음 줄바꿈 하고 반복문을 적어도 된다
//반복문에 식별자 선언한 예시코드
loop : for(int i=1;i<=5;i++) {
for(int j=1;j<=5;j++) {
//break 라벨명 : 라벨명으로 지정된 반복문 종료
if(j == 3) break loop; //for(int j=1;j<=5;j++) 종료
System.out.println("i = "+i+", j ="+j);
}
}
* 이중 for 문
- 이중 for : for 문 안에 또 다른 for 문을 이중으로 사용
for(int i=1;i<=3;i++) {//[가]나라에서 섬으로 이동하는 갯수 - 3번 반복
for(int j=1;j<=4;j++) {// 섬에서 [나]나라로 이동하는 갯수 - 4번 반복
count++;
}
}
* while 문
- while : 조건식에 의해 명령을 반복 실행하기 위한 명령을 작성하는 키워드
- 형식)
while(조건식){명령; 명령; …} - 조건식의 결과가 참인 경우 블럭 내부의 명령을 반복 실행한다.
- 조건식의 결과가 거짓인 경우 반복을 종료한다.
- 반복의 횟수가 명확하지 않은 경우 사용하는 반복문이다.
- 조건식을 생략할 수 없으며, 블럭 내부의 명령을 0번 이상 실행한다.
- Do while : 조건식이 거짓이여도 명령을 1번은 실행하고자 할때 사용
형식)
do{명령; 명령;...} while(조건식);
→ 블럭 내부의 명령을 1번 이상 실행(조건식이 거짓이라 할지라도)
반응형
'IT개발 > JAVA' 카테고리의 다른 글
JAVA 수업 복습 정리(10)_2차원 배열(java/프로그래밍/백엔드/Double Array/개발) (1) | 2024.11.11 |
---|---|
JAVA 수업 복습 정리(9)_Scanner/java/프로그래밍 (2) | 2024.11.05 |
JAVA 수업 복습 정리(7)_연산자/Operator/java/프로그래밍 (0) | 2024.08.03 |
JAVA 수업 복습 정리(6)_형변환/TypeCast/java/프로그래밍 (0) | 2024.06.26 |
JAVA 수업 복습 정리(5)_자료형/리터럴/값/java/프로그래밍 (0) | 2024.06.01 |
댓글