조건문 if, switch - case / java

aljongjong·2021년 8월 23일
0

학원 복습일지

목록 보기
7/84

if문

  • 조건식에 따라 다른 실행이 이루어지는 문법
if(조건식 true, false) {
	수행문 -> 조건식이 true일 경우 실행
} else {
	수행문 -> 조건식이 false일 경우 실행
}
  • 수행문이 하나일 경우 {} 중괄호 생략 가능
if(조건식 true, false)
	수행문 -> 조건식이 true일 경우 실행, 수행문이 하나일 경우 {} 생략 가능
else
	수행문 -> 조건식이 false일 경우 실행, 수행문이 하나일 경우 {} 생략 가능


👉수행문이 두 개 이상일 때 중괄호 생략시 컴파일 오류

  • if만 단독 사용 가능
if(조건식)
	수행문 -> 조건식이 true일 경우 실행, if 단독 사용 가능

if - else if - else문

  • 조건이 여러 개일 때 사용
  • 하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용
  • 각 조건은 상호 배타적

    상호 배타적 mutually exclusive
    두 사건이 상호 배타적이라는 것은 두 사건 중 한 사건이 일어날 확률[ P(A or B) ]이 두 사건이 각각 일어날 단순 확률의 합 [ P(A)+P(B) ]과 같다는 말이다. 또는 두 사건이 동시에 일어날 확률이 0(영)이 되면 두 사건은 상호 배타적(mutually exclusive)이다. P(A or B)=P(A)+P(B)-P(A and B) 여기서 P(A and B)=0이므로 P(A or B)=P(A)+P(B)이 된다.

if(조건식1) {
	수행문 -> 조건식1이 true일 경우 실행
} else if(조건식2) {
	수행문 -> 조건식2가 true일 경우 실행
} else {
	수행문 -> 조건식1, 2가 false일 경우 실행
}


👉하나의 조건이 만족하면 다른 else if문이 실행되지 않는다.

switch - case문

  • 조건이 여러 개일 때 사용
  • 비교 조건이 특정값이나 문자열인 경우 사용
  • break문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
switch(n) {
case 1:
	수행문 -> n이 1이면 여기부터 실행
case 2:
	수행문 -> n이 2이면 여기부터 실행
case 3:
	수행문 -> n이 3이면 여기부터 실행
default:
	수행문 -> 해당하는 case가 없으면 여기부터 실행
}


👉break문를 사용하지 않으면 해당 case부터 모두 실행

switch(n) {
case 1:
	수행문 -> n이 1이면 실행하고 switch 블럭을 빠져 나감.
    break;
case 2:
	수행문 -> n이 2이면 실행하고 switch 블럭을 빠져 나감.
    break;
case 3:
	수행문 -> n이 3이면 실행하고 switch 블럭을 빠져 나감.
    break;
default:
	수행문 -> 해당하는 case가 없으면 여기부터 실행
}


👉break문 사용시 해당 case만 실행하고 switch문 블럭을 빠져 나간다.

  • 같은 수행문을 실행하는 조건이 여러 개 일때, case를 묶어 간략히 표현 가능
switch(n) {
case 1: case2: case3:
	수행문 -> n이 1, 2, 3이면 실행하고 switch문 블럭을 빠져 나감.
    break;
case 4: case 5:
	수행문 -> n이 4, 5이면 실행하고 switch문 블럭을 빠져 나감.
    break;
default:
	수행문
}

문자열이 지원되는 switch - case문

Java 14버전부터 지원되는 switch expression

  • 조건을 간단히 쉼표(,) 구분 가능
  • 식으로 표현 하여 반환 값을 받을 수 있음. 리턴 값이 없는 경우는 오류가 생김
  • yield 키워드 사용 —> 반환값의 의미



    👉수행식 두 개 이상일 때 중괄호 사용, 그러나 중괄호로 값의 반환이 안 되어 반환값의 의미를 지정하는 yield 키워드 사용
    👉끝에 세미콜론(;) 써줘야 함

0개의 댓글