자바의 정석 가자!

chapter4 - 1~11 조건문 if문&if-else문, if-else if문, 중첩if문, switch문

'쪼리' 2022. 10. 11. 16:09

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문 예제_ 이클립스 실행화면