Jay's Developer Note

[JAVA] 자바 언어 기본 문법 - 4(조건문) 본문

JAVA

[JAVA] 자바 언어 기본 문법 - 4(조건문)

Jay(J) 2022. 2. 11. 20:47
728x90

조건문

조건문에는 크게 if 문 과 switch-case 문 이 있다.

if 문

if 문에서도 1갈래 분기, 2갈래 분기, n갈래 분기로 나뉜다.

( ) 괄호 안에는 논리형만 들어가야하며 최종 결과가 TRUE 냐 FALSE 냐에 따라 { } 블록 안에 코드들의 실행 여부를 결정짓는다.

1갈래 분기

int a = 20;
int b = 10;

if (a > b) {
  System.out.println("a 가 b 보다 크다");
}

2갈래 분기

int a = 20;
int b = 10;

if (a > b) {
  System.out.println("a 가 b 보다 크다");
} else {
  System.out.println("a 가 b 보다 작다");
}

n갈래 분기

else if 로 여러 조건을 늘려갈 수 있다.

int a = 20;
int b = 10;

if (a > b) {
  System.out.println("a 가 b 보다 크다");
} else if (a < b) {
  System.out.println("a 가 b 보다 작다");
} else {
  System.out.println("a 가 b 보다 같다");
}

1줄 코드 작성

{ } 블록 안에 수행 코드가 한 줄이라면 { } 블록 없이 바로 쓸 수 있다.

if (a > b) System.out.println("a 가 b 보다 크다");
else if (a < b) System.out.println("a 가 b 보다 작다");
else System.out.println("a 가 b 보다 같다");
Switch-case 문

if 문의 n갈래 분기처리와 동일한 기능을 할 수 있다. switch(조건식) 을 걸고 n 개의 case 별로 해당 블록 안에 코드를 실행한다.

// Switch-case 문 테스트용 Method
private void switchTest(int a) {
  swtich (a) {
    case 1:
      System.out.println("case 1");
      break;
    case 2:
      System.out.println("case 2");
      break;
    case 3:
      System.out.println("case 3");
      break;
    default:
      System.out.println("default");
      break;
  }
    
  // if 로 변환한다면?
  /*
  if (a == 1) System.out.println("case 1");
  else if (a == 2) System.out.println("case 2");
  else if (a == 3) System.out.println("case 3");
  else System.out.println("default");
  */
}

각 case 안에 break; 가 있는데 이 break; 가 없으면 해당 case 코드를 수행하고 밑에 있는 다음 case 코드를 계속적으로 수행한다. 즉, 분기처리가 안된다는 의미다. break 외에 continue 도 있는데 이것은 분기문 게시글에서 좀 더 다뤄보겠다.

728x90