JAVA

3.제어문

웹꽃기사 2021. 3. 26. 10:23

1)if 조건문

조건식의 연산 결과에 따라 블록 내부 문장의 실행 여부를 결정 할 수 있다.

  • if 문
    • 조건식이 true 일 경우에만 실행문이 실행된다.
    • if(조건식) 다음의 { } 를 생략할 수 있다. 하지만, 생략할 경우 if문에 포함되는 실행문은 단 한 줄만 포함된다.

if(조건식){ 실행문; 실행문; }

  • if - else 문
    • 조건식이 true일 경우 if 블록의 실행문이 실행되고, flase 일 경우 else 블록의 실행문이 실행된다.

if(조건식){ 실행문; 실행문; }else{ 실행문; }

  • if - else if - else문
    • 처음 if문의 조건식의 조건문이 true일 경우 처음 if문의 블록이 실행되고, false일 경우 다음 조건식의 결과에 따라 실행 블록이 달라진다.
    • else if 문의 수는 제한이 없다. 그러나 너무 많은 else if 문은 실행 속도를 느리게 한다.
    • 마지막 else 블록은 생략되도 상관없다.

if(조건식){ 실행문; 실행문; }else if(조건식){ 실행문; }else{ 실행문; }

 

2)삼항 연산자

  • 조건식 ? 피연산자1 : 피연산자2
    • 조건식의 연산결과가 true 이면, 결과는 피연산자 1이고, 조건식의 연산결과가 false 이면 결과는 피연산자2
    int b1 = (5>4) ? 50 : 40; //조건식이 true이므로 b1은 50이 된다.
    • 피연산자1, 피연산자2 에는 주로 값이 오지만, 경우에 따라 연산식이 올 수 있다.
    • 삼항 연산자가 익숙하지 않다면, if문으로 바꾸어 이용해도 좋다.

int b2 = 0; if(5 > 4){ b2 = 50; }else{ b2 = 40; }

 

 

3)switch 문

switch문은 어떤 변수의 값에 따라서 문장을 실행할 수 있도록 하는 제어문이다.

  • switch문에서 사용하는 키워드는 switch, case, default, break 이다.
  • switch문

switch(변수){

      case 1 :

         실행문;

         break;

      case 2 :

         실행문;

         break;

      default;

}

 

int value = 1;

      switch(value){

         case 1:

         System.out.println("1");

         break;

      case 2:

         System.out.println("2");

         break;

      case 3 :

         System.out.println("3");

         break;

      default :

         System.out.println("그 외의 숫자"); }

 

value의 값이 1일 경우 1을 출력하고, 2일 경우는 2를 출력하고, 3일 경우는 3을 출력하고, 그 외에는 그 외의 숫자가 출력된다.

 

case 1:

     System.out.println("1");

case 2:

     System.out.println("2");

case 3 :

     System.out.println("3");

default :

     System.out.println("그 외의 숫자");

 

break를 제거하면 value가 1일 경우 1일 출력되고 switch문장을 빠져나가는 것이 아니라
1,2,3, 그외의숫자가 연속해서 실행된다. break문장이 있을 경우와 없을 경우를 확실하게 구분할 수 있어야 합니다.

 

참고사항

JDK7이전에는 switch다음 괄호안에 정수타입의 변수만 올 수 있었습니다. 그런데 JDK7부터는 switch다음 괄호안에 문자열 타입의 변수도 올 수 있습니다.

String str = "A"; switch(str){ case "A": System.out.println("1"); case "B": System.out.println("2"); case "C" : System.out.println("3"); default : System.out.println("그 외의 숫자"); }

문자열의 값에 따라서 case블록의 내용이 출력되는 것을 알 수 있습니다.

 

 

 

'JAVA' 카테고리의 다른 글

6. for each (향상된 for문)  (0) 2021.03.26
5. 배열  (0) 2021.03.26
4.반복문  (0) 2021.03.26
2. 연산자  (0) 2021.03.26
1. 변수,상수,타입 정리  (0) 2021.03.26