제어문(flow control statement) - 조건문과 반복문
✔ 조건문
: 조건을 만족할 때만 {}를 수행 (0~1번)
: if, switch
✔ 반복문
: 조건을 만족하는 동안 {}를 수행 (0~n번)
:for, while
✔ if문
: 조건식이 '참'일때 괄호 안의 문장 수행
if (조건식) {
//조건식이 참 일때 수행될 문장
}
문자 ch가 공백이거나 탭 또는 개행문자일때
👉 ch== ' ' || ch == '\tap' || ch == '\n'
문자 ch가 숫자일 때
👉 '0' <= ch && ch <= '9'
문자열 str의 내용이 "yes"일 때 (대소문자 구분)
👉 str.equals("yes") // str은 == 가 아니라 str.equals() 를 쓴다.
문자열 str의 내용이 "yes"일 때 (대소문자 구분안함)
👉 str.equals.IgnoreCase("yes") // IgnoreCase 대소문자 무시
✔ 블럭 { }
: 여러 문장을 하나로 묶어주는 것
: 코드의 가독성을 높이기 위해서 블럭 내부 문장은 들여쓰기.
: if문에 속한 조건이 하나인경우 블럭을 생략할 수 있음.
if (score>60)
System.out.println("합격입니다") // if문에 속한 문장
System.out.println("불합격입니다") // if문에 속한 문장이 아님 (블럭이 없어서 윗줄만 해당됨)
✔ if~else문
: 둘 중의 하나 - 조건식이 참일때와 거짓일 때로 나눠서 처리
if (조건식) {
// 조건식이 참일때 수행할 문장
} else {
// 조건식이 거짓일 때 수행할 문장
}
✔ if~else if 문 (전체가 한 묶음이므로 만족하는 하나의 조건만 실행후 종료. 모두 실행될 수 없음)
: 여러개 중의 하나 - 여러개의 조건식을 포함한 조건식
if (조건식1) {
// 조건식 1의 결과가 참일때
} else if (조건식 2) {
// 조건식 2의 결과가 참일때
} else if (조건식 3) {
// 조건식 3의 결과가 참일때
} else { // 마지막은 보통 else 블럭으로 끝나며, else 블럭은 생략가능
// 위의 어느 조건식도 만족하지 않을 때 수행될 문장.
}
✔ 중첩 if문
: if문 안의 if문
if (조건식1) {
// 조건식 1의 연산결과가 true일때 수행될 문장
if (조건식2) {
// 조건식 1,2가 모두 true일때 수행될 문장
} else {
// 조건식 1 true, 2 false일때 수행될 문장
}
} else {
// 조건식 1이 false일때 수행될 문장
}
✔ switch문
: 처리해야 하는 경우의 수가 많을때 유용한 조건문
switch (조건식) {
case 값1 :
// 조건식 결과가 값1과 같을경우 수행될 문장
break; // switch문을 벗어난다
case 값2 :
// 조건식 결과가 값2와 같을경우 수행될 문장
break;
default;
// 조건식의 결과와 일치하는 switch 문이 없을때 수행될 문장
}
① 조건식을 계산한다 (if와 같이 논리값이 아닌 결과값이 있는 계산)
② 조건식의 결과와 일치하는 case문으로 이동
③ 문장 수행
④ break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
✔ switch문의 제약조건
① switch문의 조건식 결과는 정수나 문자열이어야 한다.
② case문의 값은 정수, 상수 (문자포함), 문자열만 가능하며 중복되지 않아야 한다. (* 변수는 불가)
switch (result) {
case '1' : // 문자 리터럴. (정수 49와 동일)
case ONE : // 정수 상수
case "yes" : // 문자열 리터럴 (JDK 1.7~)
case num : // ERROR 변수 불가
case 1.0: // ERROR 실수 불가
따라서 switch → if else로는 변환 가능
if else → switch는 제약이 있음
'🔥 Vamos > Java' 카테고리의 다른 글
0905 | Do it! 자바 프로그래밍 입문 :: 5장 '클래스와 객체1' 연습문제 (0) | 2022.09.05 |
---|---|
0905 | 자바의 정석 기초편 :: ch4-12 (1) | 2022.09.05 |
0903 | 자바의 정석 기초편 :: ch3-11~3-19 (1) | 2022.09.03 |
0903 | 자바의 정석 기초편 :: ch3-7~3-10 (1) | 2022.09.03 |
0902 | Do it! 자바 프로그래밍 입문 :: 5장 '클래스와 객체1' 복습문제2 (0) | 2022.09.02 |