• Home
  • About
    • Young's Github Pages photo

      一日不作一日不食

    • About
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

Java 정리 05

19 Nov 2018

Reading time ~3 minutes

Java 정리 05 - 조건문 if, switch


제어문

  • 조건문, 반복문, 분기문
    • 조건문 - if, switch~case
    • 반복문 - for, while, do~while
    • 분기문 - break, continue

단일 IF문

  • 조건에 맞는 경우에만 코드를 실행
if (조건식) {
    // 조건에 맞을 때 수행 문장들
}
// 음수값을 양수로 만들기
public class TestIf {
     public static void main(String[] args) {
        
         int i = -10;
         
         if (i < 0) {
              i = -i;
         }
         
         System.out.println("i = " + i);
    }
}
// 문자열을 비교할 땐 equals 메소드를 사용!
// 이름을 입력받아 이름이 "이재찬"이면 이름을  출력하기 전
// "반장"을 출력, 그렇지 않으면 이름만 출력

if (args[0].equals("이재찬")) {
    System.out.print("반장 ");
}
System.out.println(args[0]);
// 숫자형태의 문자열을 정수로 변환
// Integer.parseInt() 메소드 사용
// 파라미터로 String 받아서 int를 반환
int i = Integer.parseInt(args[1]);
int j = Integer.parseInt(args[2]);
int r = Integer.parseInt(args[3]);

System.out.println(i+"+"+j+"+"+r+"="+(i+j+r));
public class TestIf3 {

     // Constant는 Class Field에 정의
     // Constant : 변수를 상수처럼 사용할 때 사용하는 변수
     //            값을 변경하지  못함(final)
     public static final int FLAG_VALUE = 1250;
     public static final int FLAG_CNT = 20;
     
     public static void main(String[] args) {
     
         // args[0]를 입력받아 그 수가
         // 20보다 작으면 1250과 입력값을 곱하여 출력
         // 20보다 크다면 1250과 1250의 10%를 더한 값과  입력값을 곱하여 출력
         
         int input = Integer.parseInt(args[0]);
         int some_value = TestIf3.FLAG_VALUE;
         
         if (input > TestIf3.FLAG_CNT) {
              some_value = (int)(TestIf3.FLAG_VALUE
                                     +  TestIf3.FLAG_VALUE*0.1);  
         }
         
         System.out.println(some_value * input);
     }
}

if ~ else

  • 둘 중 하나의 코드를 실행할 때 사용
  • 수행하는 행이 한행이라면 {} 생략 가능
    // 조건에 맞을 때 수행할 문장들;
} else {
    // 조건에 맞지 않을 때 수행할 문장들;
}
public class TestIfElse {
     public static void main(String[] args) {
         
         int i = -23;
         
         System.out.println(i + " 는(은) ");
         
         // 변수값이 음수인지 양수인지 판단
         if (i < 0) {
              System.out.println("음수");
         } else {
              System.out.println("양수");
         }
         
         // 변수값이 홀수인지 짝수인지 판단
         if (i%2 == 0) {
              System.out.println("짝수");
         } else {
              System.out.println("홀수");
         }
         
         // 변수값이 3의 배수라면 "3의 배수"을 출력
         // 그렇지 않다면 변수값 출력         
         if (i%3 == 0) {
              System.out.println("3의 배수");
         } else {
              System.out.println(i);
         }
     }
}

else if

  • 연관된 여러 조건을 비교할 때 사용
if (조건식) { 
    // 조건에 맞을 때 수행문장
} else if (조건식) {
    // 조건에 맞을 때 수행문장
} else if (조건식) {
    // 조건에 맞을 때 수행문장
} else if (조건식) {
    // 조건에 맞을 때 수행문장
} else {
        모든 조건에 맞지 않을 때 수행할 문장;
}
// if else로 제한하여 0~100 사이 수 입력받기
public class TestElseIf {
     public static void main(String[] args) {
         
         int i = Integer.parseInt(args[0]);
         
         System.out.println(i + "은(는) ");
         
         if (i < 0) {
              System.out.println("0보다 작아서  입력실패");
         } else if (i > 100) {
              System.out.println("100보다 커서  입력실패");
         } else {
              System.out.println("입력 성공");
         }
     }
}
public class TestElseIf3 {
     public static void main(String[] args) {
         
         // 태어난해를 입력받아 띠(12) 구하기
         // 11-양, 10-말, 9-뱀, 8-용, 7-토끼, 
         // 6-호랑이, 5-소, 4-쥐, 3-돼지,
         // 2-개, 1-닭, 0-원숭이
         int input = Integer.parseInt(args[0]);
         
         if (input%12 == 11) {
              System.out.println("양");
         } else if (input%12 == 10) {
              System.out.println("말");
         } else if (input%12 == 9) {
              System.out.println("뱀");
         } else if (input%12 == 8) {
              System.out.println("용");
         } else if (input%12 == 7) {
              System.out.println("토끼");
         } else if (input%12 == 6) {
              System.out.println("호랑이");
         } else if (input%12 == 5) {
              System.out.println("소");
         } else if (input%12 == 4) {
              System.out.println("쥐");
         } else if (input%12 == 3) {
              System.out.println("돼지");
         } else if (input%12 == 2) {
              System.out.println("개");
         } else if (input%12 == 1) {
              System.out.println("닭");
         } else {
              System.out.println("원숭이");
         }
     }
}

swtich case

  • 정수를 비교할 때 사용
    • jdk 1.7부터는 문자열도 비교가능
  • switch에 입력되는 변수의 데이터형은 byte, short, int, char, String
    • case는 입력된 변수의 데이터형에 따라 다른 상수범위를 갖는다
switch(변수명) {
    case 상수 : 수행문장;
    case 상수 : 수행문장;
    case 상수 : 수행문장;
        break; // case 탈출
    default : 일치하는 상수가 없을 때 수행 문장;
}
public class TestSwitchCase {
     public static void main(String[] args) {
         
         int i = 1;
         
         switch(i) {
         
            case 0 :
                System.out.println("새벽");
            case 1 :
                System.out.println("아침");
                break;
            case 2 :
                System.out.println("점심");
                break;
            default :
                System.out.println("저녁");
                break;
         }
     }
}

숙제풀이1

숙제풀이2



Java