basic/java 이론

day04 - 조건문(if,switch), 반복문(while,for,do-while,foreaach), 보조제어문(break, coutinue)

못지(Motji) 2021. 4. 26. 16:45

제어문

1) 조건문 : if, switch (if로 다 되기 때문에 잘 안씀)

2) 반복문 : while, for, do-while (for문을 많이 쓰고 do-while은 잘안씀), 업그레이드 for(foreach문)

3) 보조제어문 : break(강제종료), continue

조건문 if

• 조건이 참이면 영역안의 코드를 실행한다.

구조

✔ if 문

if (조건식) {
// 조건식이 참일때 실행할 코드
}

☑ 조건식 : 비교연산이나 논리연산이 혼합된 식으로 구성 > true / false

☑ 영역 : 영역안에 실행문이 한개면 {} 생략가능하나, 2개 이상일 경우 반드실 기술 > 무조건 적자

 

✔ if~else 문

if (조건식) {
// 조건이 true일 경우 실행할 코드
} else {
//  조건이 true가 아닐경우 (false일경우) 실행할 코드
}

☑ else : 혼자 사용 불가! if와 else 순서가 바뀌어도 안됨, else 구문뒤에는 조건식이 없다, 실행은 둘중하나만 됨, else는 옵션 있어도 되고 없어도 되고 개발자가 false일때 처리할 것이 있으면 작성

 

✔ if~else if~else 문

if (조건식1) {
// 조건식1이 참일때 실행할 코드
} else if(조건식2) {
// 조건식2가 참일때 실행할 코드
} else if(조건식3) {
// 조건식3이 참일떄 실행할 코드
.
.
.
} else {
//위의 조건식이 전부 false일때 처리할 명령이 있다면 작성, 옵션
}

☑ 맞는조건만 실행되고 다 건너띔(무시), 구조가 전부 set, 조건이 여러개일때 묶어서 검사하는 용도로 사용 조건식을 전부 검사해야 한다 하면 if안에 if를 쓰기

if(조건식) {
	if() {
    실행문...;
    } else if(){
    실행문...;
    } else if(){
    	if(){
        }
 	}
} // if안 밖에  숫자 제한없이 맘대로 쓸수 있다. if, else if, else

switch~case 문

다중선택문 : 하나의 값을 평가하여, 각 값에 대한 개별적인 처리를 하는 문장

구조

switch(변수){
case 값1:		//값1과 변수의 값이 동일할 경우
	수행문들....; // 여기 수행문을 실행
    break;		// switch문 종료, break가 없을시 계속 실행
case 값2:
	수행문들....;
    break;  
case 값3:
	수행문들....;
    break;
default:
	수행문들....;
    break; // 마지막 break는 생략가능, 어쩌피 끝나기 때문에
}

특징과 주의점

• 잘 사용하지 않음, if로 대체 가능,

• 비교해볼 case가 많다면, if문 보다 가독성 높게 코드 작성 가능

• switch문으로 평가할 수 있는 변수는 주로 정수형, String(int, char, String 1.7ver부터 가능)

• case 뒤에는 반드시 값이 하나가 와야한다

• case 0: .... case1: ..... case2: .....와 같이 반드시 정렬할 필요 없다. 원하는 순서대로 작성 가능

• default는 생략가능

• case 별로 {}로 묶을 필요 없다. :(콜론) 빼먹지 않기

• break는 다음 case가 자동 실행되지 않도록 할 경우 사용, 마지막은 생략가능

• 정수만 들어갈 수 있음

반복문 while

• 조건식을 먼저 검사한 후, 참일 경우에는 반복 실행하는 반복문 (루프loop)

• 실행문의 영역{} 안에서 루프를 종료할 수 있게 만들어 줘야한다.

구조

✔ 반복의 횟수를 알때

변수 = 초기값;
while(조건식) {
	실행문들....;
    증감식;
}

✔ 무한 반복

반복의 횟수를 (개발할때) 알지 못할때, 또는 외부의 입력에 따라 반복의 횟수가 달라질때

while(true) {
	실행문들....;
    if(조건) {break;} //조건에 부합할때 종료
}

💡 break : while문을 빠져나갈 수 있는 강제 종료 키워드