본문 바로가기

dev/Java

[Java]조건문 - if, switch

조건문

  : 조건의 true/false에 따라 작업 수행. 

 

if

   if(조건식){
     수행문;
   }
  ※ { }생략 가능.
     , 생략되면 바로 뒤 첫 번째 문장만 if문에 포함됨(수행문이 한 줄인 경우 생략)
//두개의 정수를 입력받아 두 숫자의 차를 구하시오
//단, 음수가 나오면 안됩니다.
public class IfEx3 {

	public static void main(String[] args) {

		Scanner s = new Scanner(System.in);
		
		System.out.print("첫번째 숫자 : ");
		int a = s.nextInt();
		
		System.out.print("두번째 숫자 : ");
		int b = s.nextInt();
		
		int result;
		
		if(a>b) {
			result = a-b;
			System.out.println("두 수의 차 : "+result);
		}else {
			result = b-a;
			System.out.println("두 수의 차 : "+result);
		}

	}

}
더보기
더보기

실행결과

첫번째 숫자 : 14
두번째 숫자 : 16
두 수의 차 : 2


if-else문

  : 조건식이 true인 경우 if문 실행. false인 경우 else문 실행.

   if (true/false){
    true일 경우 실행 후 if문 종료
   }else if (true/false) {
    조건식2 true일 경우 실행 후 if문 종료
   }else{
    모든 조건이 false일 경우 실행(조건문에서 처리가 가능한 경우 생략가능)
   }
//성적을 입력하면 성적에 맞는 학점을 출력하세요
//90~100: A, 80~89: B, 70~79: C, 그 외 나머지는 F
public class IfEx5 {

	public static void main(String[] args) {

		int score;
		String grade;
		
		Scanner s = new Scanner(System.in);
		
		System.out.print("점수를 입력하세요 : ");
		score = s.nextInt();
		
		if(score <= 100 && score >= 90) {
			grade = "A";
			if(score >=98) {
				grade += "+";
			}else if(score <= 93) {
				grade += "-";
			}
		}else if(score <= 89 && score >= 80) {
			grade = "B";
		}else if(score <= 79 && score >= 70) {
			grade = "C";
		}else {
			grade = "F";
		}
		
		System.out.printf("%s학점입니다.", grade);
	}

}
더보기
더보기

실행결과

점수를 입력하세요 : 92
A-학점입니다.


switch문

  : 조건식의 결과가 정수 또는 문자열의 값이고 그 값에 따라 수행문이 결정될 때 사용.

    if-else if-else문을 대신해 사용.    ※ 자바7부터 case값에 문자열 사용이 가능함

   switch(){
     case :  수행문;  break;  // break; => switch문을 벗어남
     case :  수행문;  break;
     case :  수행문;  break;
   }
public class SwitchEx1 {

	public static void main(String[] args) {

		int rank = 2; // 등수
		String medalColor; //메달 색상
		
		switch(rank) {
			case 1 : medalColor = "Gold";
				break;
			case 2 : medalColor = "Silver";
				break;
			case 3 : medalColor = "Bronze";
				break;
			default : medalColor = "Null";
		}
		
		System.out.println(rank+"등의 메달은 "+medalColor+"입니다.");
	}
}
더보기
더보기

실행결과

2등의 메달은 Silver입니다.

 

//입력한 월이 몇일까지 있는지 알려주는 코드
//여러 케이스가 같은 수행문을 가지고 있는 경우 case를 동시에 사용이 가능하다
public class SwitchEx2 {

	public static void main(String[] args) {

		int month = 12;
		String day;
		switch(month){
			case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = "31";
				break;
			case 4: case 6: case 9: case 11: day = "30";
				break;
			case 2 : day = "28";
				break;
			default : day = "해당 달은 존재하지 않습니다.";
		}
		if(month >= 1 && month <=12) {
			System.out.printf("%d월은 %s일까지입니다.", month, day);
		}else {
			System.out.println(day);
		}
	}
}
더보기
더보기

실행결과

12월은 31일까지입니다.

 

'dev > Java' 카테고리의 다른 글

[Java]참조타입변수 - 클래스/배열/열거타입  (0) 2022.01.06
[Java]반복문 - for, while, do~while  (0) 2022.01.05
[Java]데이터 입출력  (0) 2022.01.04
[Java]연산자  (0) 2022.01.04
[Java]시작하기  (0) 2021.12.31