chapter4 - 1~11 조건문 if문&if-else문, if-else if문, 중첩if문, switch문
ch4 - 1 ~ 4 조건문 if문, if-else문
main메소드의 첫번째 줄부터 쭉 실행. but 조건문과 반복문을 통해 내가 원하는대로 실행흐름을 바꿀 수 있음
조건문 : 조건을 만족할 때만 {}를 수행( 0~1번 )
-> ex) if문, switch문
반복문 : 조건을 만족하는 동안 {}를 수행(0~n번)
-> ex) for문, while문
조건문&반복문 = 제어문 = 프로그램의 실행흐름을 바꿔준다
ch4 -1 if문
조건식이 참(true)일 때, 괄호 {}안의 문장들을 수행한다.
* 조건식의 연산결과는 항상 true 나 false과 와야함, 그외의 결과가 반환식에 오면 에러.
ch4-2 조건식의 다양한 예
조건문과 반복문은 조건식을 잘 사용해야함.
+ 문자열 비교할 때 .equals 사용
+ equalsIgnoreCase -> 대소문자 무시. 따라서 마지막 예의 결과는 참(true)
ch4-3 블럭 {}
= 여러 문장을 하나로 묶어주는 것.
ch4-4 if-else문
둘 중의 하나 - 조건식이 참일 때와 거짓일 때로 나눠서 처리
ch4-5 if-else if문
여러 개 중의 하나 - 어려 개의 조건식을 포함한 조건식
ch4-6 예제_이클립스 실행화면
ch4-7 중첩 if문 - if문 안의 if
ch4-9 switch문
처리해야 하는 경우의 수가 많을 때 유용한 조건문
(조건문에는 if, switch 두 개밖에 없음. 보통 if문 사용 switch랑 비슷 : if - else if문)
조건식을 계산해서 결과가 맞는 곳으로 이동.
break; - 문을 만나면 switch 문을 벗어남
default; - 조건식 결과가 case문과 일치하는 게 없을 때. (if문에서 else블록 느낌 따라서 생략 가능.)
* switch문 실행과정
1. 조건식을 계산한다. (if문과 달리 true,false 가 아님)
2. 조건식의 결과와 일치하는 case문으로 이동한다.
3. 이후의 문장들을 수행한다.
4. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
if문과 switch문 비교
조건식의 결과
if문 -> true나 false 둘 중 하나, 조건식 여러개 나옴, 조건식이 많아서 블록 많아짐
switch문 -> 정수나 문자열, 조건식 1번만 계산하면 됨, 깔끔
* 조건문의 경우 사실, if문과 if-else문만 알아도 됨. but, 경우의 수가 너무 많아서 복잡할 때 switch문
( switch문은 항상 if문으로 바꿀 수 있음. but, if문은 바꿀 수 없는 경우가 있음. switch문의 제약조건 때문)
* switch문 제약조건
1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
2. case문의 값은 정수, 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다. + 변수는 안 됨(상수만 된다는 말)
ex)
final int ONE = 1; -> 상수 // case ONE; -> 1
switch문 예제_ 이클립스 실행화면