제어문
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문을 빠져나갈 수 있는 강제 종료 키워드
'basic > java 이론' 카테고리의 다른 글
day06 - 배열 array (0) | 2021.04.28 |
---|---|
day05 - 반복문 (do-while, for) (0) | 2021.04.27 |
day03 - 연산자 종류와 우선순위 (0) | 2021.04.23 |
day02 - [변수, 출력문, 형변환, Scanner입력문] (0) | 2021.04.23 |
day01 - [자바세팅, 이클립스설치, java플랫폼, 변수, 데이터타입, 변수의 선언과 사용] (0) | 2021.04.23 |