1. 조건문과 반복문
- 조건문
- if-else문, switch-case
- 조건문은 조건식과 문장을 포함하는 블록 { }으로 구성되어 있으며, 조건식의 연산결과에 따라 실행흐름을 변경할 수 있다
- 반복문
- for, while, do-while
- 반복문은 어떤 작업이 반복적으로 수행되도록 하고자 할 때 사용된다
* 반복의 횟수를 알 수 있을 때 : for
* 반복의 횟수를 알 수 없을 때 : while
2. 조건문 - If 문
- (1) 일반적인 if 문
if(조건식1(boolean형)){
문장; //조건식1이 true일때 수행될 문장
}
...
else if(조건식2){
문장; //조건식1은 False, 조건식2가 true일 때 실행
}
...
else if(조건식3){
문장; //조건식1은 False, 조건식2도 false, 조건식3은 true일 때 실행
}
...
else{
문장; //조건식이 false일 때 수행될 문장
//마지막에는 보통 else블럭으로 끝나며, else블록은 생략 가능
}
- (2) 블록 생략 가능한 if 문
: 수행될 문장이 단 하나일 경우 { }블록을 사용하지 않아도 된다
if(조건식)
문장; //수행될 문장이 단 하나일 경우 블록{ }을 사용하지 않아도 된다
else
문장;
- (3) 삼항 연산자
- 간단한 if - else문은 조건연산자를 사용하여 표현 할 수도 있다
(조건식) ? 식1: 식2
//조건에 해당하면 식1을 반환, 조건에 부합하지 않으면 식2를 반환
- (4) 중첩 if 문
: if 문 안에 또다른 if 문이 있는 경우
if(조건식1){
if(조건식2){
문장; //조건식1이 true, 조건식2가 true일 때 수행될 문장
}
else{
문장; //조건식1이 true, 조건식2가 false일 때 수행될 문장
}
}
else{
문장; //조건식1이 false일 때 수행될 문장
}
2. 조건문 - Switch 문
: 루프 내의 문장들을 한번 실행한 후 조건을 검사하여 false가 될 때까지 루프내의 문장을 반복 실행하는 탈출 조건형 루프
- (1) 일반적인 Switch Case문
switch(조건식){
case 값1:
문장; //변수 값이 값1일 때 실행내용
break;
case 값2:
문장; //변수 값이 값2일 때 실행내용
break;
....
default:
문장; //조건식의 결과와 일치하는 값이 없을 경우 수행
break;
}
* case문 뒤의 break문을 생략하면 다른 break문을 만나거나 switch문의 블록{ }의 끝을 만날 때까지 빠져 나오지 못하고 이하 모든 문장들을 수행한다
* 모든 switch문은 if문으로 변경이 가능하지만, 모든 if문이 switch문으로 변경할 수 없다
* 값은 char, String, 숫자 가능하다
3. 반복문 - while
: 조건을 먼저 검사하여 true인 동안만 문장들을 실행하는 진입 조건형 루프
- (1) 일반적인 while 문
while(조건식){
문장; //조건식의 결과가 true인 경우 수행
}
- (2) do-while 문
- 일단 루프 내의 문장들을 한번 실행한 후, 조건을 검사하여 false가 될때까지 루프내의 문장들을 반복 실행하는 탈출 조건형 루프
do {
문장; //조건식의 결과가 true일 경우 수행
}while(조건식);
// 조건 생각하지 않고 적어도 한번은 문장이 수행된다
3. 반복문 - For 문
- 초기식으로 시작하여 조건식을 거친후 조건식에 만족하면 블럭내의 문장을 수행하고 증감식을 실행한 후 조건식에 만족하지 못할때 까지 조건식 -> 문장 -> 증감식 -> 조건식 의 루프를 반복한다
- (1) 일반적인 for 문
for( 초기식; 조건식; 증감식){
문장; //조건문이 true일 때 수행될 문장
}
- (2) 대표적인 for 문 예시
//1.
for(int i=0; i<10; i++){
문장;
} //int 형 i가 0으로 초기화되어 9가 될때가지 문장을 수행하며 1씩 증가된다
//2.
for( ; ; ){
문장;
} //조건식이 없기에 결과가 true로 간주되어 문장이 무한반복 되어 수행된다
//3.
for(int i=1, int j=1; i < 10 && i*j < 50; i++){
문장;
} //쉼표(,)를 이용하여 하나 이상의 변수를 선언 및 초기화, 증감식 등이 가능하다. 단, 같은 타입인 경우만 가능하다
- (3) for each문
3. 반복문 - break & continue 문
- break 문
- 반복문에서 break문이 정의되어있는 첫번째 반복문 블럭을 탈출한다
- switch문에서 break문이 정의되어있는 첫번째 switch블럭을 탈출한다
반복문 {
문장;
continue;
문장;
}
- continue 문
- 반복문에서 continue를 만나면 그 뒤의 문장은 무시하고 조건검사로 다시 돌아 온다
반복문 {
문장;
continue;
문장;
}
- 이름 붙은 반복문
- 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정하여 하나 이상의 반복문을 탈출하거나 반복을 건너 뛸 수 있다
이름붙은 반복문: 반복문 {
문장;
break 이름붙은 반복문;
문장;
continue 이름붙은 반복문;
}
package com.javaex.basic;
public class Test {
public static void main(String[] args) {
Loops: for(int i = 2; i <= 9; i++) {
for(int j = 1; j <= 9; j++) {
if(j == 5)
break Loops;
break;
continue Loops;
continue;
System.out.println(i + "*" + j +"=" + i*j);
}
}
}
}
'Java' 카테고리의 다른 글
[Chapter 10] Object클래스 (0) | 2021.12.15 |
---|---|
[Chapter08]객체지향 프로그래밍2 (0) | 2021.12.14 |
[chapter 05 ] 배열 (0) | 2021.12.09 |
[Chapter11] 제네릭과 컬렉션 (0) | 2021.12.08 |
[Chapter01]자바 언어 소개 (0) | 2021.12.08 |