Java

Java | 조건문

이진유진 2024. 1. 12. 14:33
반응형

 

velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 
2023년 2월 14일 - https://velog.io/@yujin-17/TIL-9.-Java-%EC%A1%B0%EA%B1%B4%EB%AC%B8%EA%B3%BC-%EB%B0%98%EB%B3%B5%EB%AC%B8

if문

if (조건식) {
	조건식의 결과가 참일 때 실행하고자 하는 문장;
}

if (조건식) { 
	조건식의 결과가 참일 때 실행하고자 하는 문장;
} else {
	조건식의 결과가 거짓일 때 실행하고자 하는 문장;
}

if (조건식1) {
	조건식1의 결과가 참이리 때 실행하고자 하는 문장;
} else if (조건식2) {
	조건식2의 결과가 참일 때 실행하고자 하는 문장;
} else {
	조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 문장;
    즉, 위의 어느 조건식에도 만족하지 않을 때 수행;
}

 

블럭 {} -> 여러 문장을 하나로 묶어준다.

 

Switch문

switch (조건식) {
	case 값1 : 
    	조건식의 결과가 값1과 같을 경우 수행할 문장;
    	break;
    case 값2 :
    	조건식의 결과가 값2와 같을 경우 수행할 문장;
        break;
    ...
    default: 
    	조건식의 결과와 일치하는 case문이 없을 때 수행할 문장;
  • 처리해야하는 경우의 수가 많을 때 유용한 조건문이다.
  • break; 를 작성해주지 않으면, switch문 끝까지 실행이된다.
  • default 문은 생략이 가능하다.
  • if문과 비교해보면, If는 조건식 결과에 Boolean 값만 가능하지만, Switch문은 정수나 문자열만 가능하다. 

실행흐름 

  1. 조건식을 계산한다. 
  2. 조건식의 결과와 일치하는 case문으로 이동한다. 
  3. 해당 case문의 문장을 수행한다. 
  4. break;를 만나거나, switch문이 끝나면 종료된다. 

제약조건 

  1. Switch문의 조건식 결과는 정수 또는 문자열이다.
  2. case문의 값은 정수, 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야한다. 
int num, result;

final int ONE = 1;

switch(result) {
	case '1': // OK. 문자 Literal(정수 49와 동일하다) 
    
    case ONE: // OK. 정수 상수
    
    case "YES" // OK. 문자열 Literal 
    
    case num: // Error. 변수는 불가능하다. 
    
    case: 1.0 // Error. 실수는 불가능하다.
반응형