Chapter04 조건문과 반복문 if, switch, for, while statement

cookienc·2021년 6월 22일
0

Java 기본 개념

목록 보기
3/13
post-thumbnail

1. 조건문 - if, switch

1.1 if문

if (조건식) {
	// 조건식이 참일 때 수행될 문장
}

1.2 if-else문

if (조건식) {
	// 조건식이 참일 때 수행될 문장
} else {
	// 조건식이 거짓일 때 수행될 문장
}

1.3 if-else if문

if (조건식1) {
	// 조건식1의 연살결과가 참일 때 수행될 문장
} else if (조건식2) {
	// 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다.
} else {	// else블럭은 생략 가능하다.
	// 위의 어느 조건식도 만족하지 않을 때 수행될 문장을 적는다.
}

1.4 중첩 if문

if (조건식1) {
	// 조건식1의 연산결과과  true일 때 수행될 문장들을 적는다.
    if (조건식2) {
    	// 조건식1과 조건식2가 모두 true일 때 수행될 문장들
    } else {
    	// 조건식1이 true이고, 조건식2가 false일 때 수행되는 문장들
    }
} else {
	// 조건식1이 false일 때 수행되는 문장들
}

1.5 switch문

switch (조건식) {
	case1 :
    		// 조건식의 결과가 값1과 같을 경우 수행될 문장들
        break;
        
        case2 :
    		// 조건식의 결과가 값2와 같을 경우 수행될 문장들
        break;
        
        defalut :
		// 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
}
       

< 제약 조건 >
1. 조건식의 결과는 정수 또는 문자열이어야 한다.
2. case문의 값은 정수 상수만 가능, 중복x이다.



2. 반복문 - for, while, do-while

2.1 for문

for(초기화; 조건식; 증감식) {
	//반복될 문장
}
  • 초기화 : 처음에 한번만 수행. 보통 변수 하나만 쓰지만 둘 이상일 경우 ','로 구분한다.
  • 조건식 : 조건식이 참일 동안 조건문을 반복한다.
  • 증감식 : 반복문을 제어하는 변수를 증가 또는 감소 시킨다. ','로 두 문장 이상을 연결해서 쓸 수 있다.

for(;;) { ... } : 무한 반복문

< 향상된 for문 >

배열이나 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용할 수 있다.

for( 타입 변수명 : 배열 또는 컬렉션) {
	// 반복할 문장
}
for(int i=0; i < arr.length; i++) {
	System.out.println(arr[i]);
}

for(int tmp : arr) {
	System.out.println(tmp);
}

// 위의 두 반복문은 같은 역할을 한다.

2.2 while문

for문과 달리 조건식을 생략할 수 없다.

while (조건식) {
	// 조건식의 연산결과가 참인동안, 반복될 문장들
}

< for와 while문 비교>

for(int i=1; i<=10; i++) {
	System.out.println(i);
}
int i = 1;

while(i<=10) {
	System.out.println(i);
    i++;
}
// 두 반복문은 같다.

2.3 do-while문

최소한 한 번은 반복문이 실행된다.

do {
	// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
} while (조건식);

2.4 break문

자신이 포함된 가장 가까운 반복문을 벗어난다.

2.5 continue문

반복문의 끝으로 이동하여 다음 반복으로 넘어간다.

2.6 이름 붙은 반복문

반복문에 이름을 설정하여 break와 continue를 통해서 중첩 반복문을 빠져나가게한다.

Loop 1 : for(int i=2; i <= 9; i++) {
	for(int j=1; j <= 9; j++) {
    ...
    break Loop1;
    }
}
// 'break Loop1'의 위치

0개의 댓글