Jun's Blog

[Java] 조건문 (if문, switch문) <학점계산기> 본문

Java

[Java] 조건문 (if문, switch문) <학점계산기>

Fizzyelf 2020. 9. 12. 21:37

1. 조건문 (if문, switch문)
  - 조건식과 문장을 포함하는 블록{}으로 구성되어 있다.
  - 조건식의 연산결과에 따라 프로그램의 실행 흐름을 변경할 수 있다.

2. if문
  - 구조
    if(조건식) {
     조건식이 true일 때, 수행될 문장
    }
    
- 변형
     if(조건식) {
      조건식이 true일 때 수행
     } else {
      조건식이 false일 때 수행
     }
   
- 2단 변형
   if(조건식1) {
      조건식이 true일 때 수행
     } else if(조건식 2) {
      조건식1이 false이고 조건식2가 true일 때 수행
     } else {
      조건식1과 조건식2가 모두 false일 때 수행
     }

 

3.  switch-case문
  - 조건의 경우의 수가 많을 때, if문보다는 switch문을 사용하는 것이 좋다.
  - 조건의 결과값으로 int형 범위의 정수 값을 허용한다.
  
  - 구조
  
  switch(조건식) {
      case 값1 : //조건식의 값 == 값1
      조건식 == 값1일 때 수행될 문장
  break;

    case 값2 : //조건식의 값 == 값2
    조건식 == 값2일 때 수행될 문장
  break;

    default :
    조건식과 만족하는 값이 없을 때 수행되는 문장
}
    


  	boolean power = true;

ex) 1. 윗 변수의 초기화를 이용하여,

power가 true이면 "켜져있음"을 출력, false면 꺼져있음을 출력하시오.

 

답 : 

if (power) {
    System.out.println("켜져있음");
} else {
    System.out.println("꺼져있음");
}

  int a1 = 10;

ex) 2. a1의 값이 0보다 크면 "양수"를, 0보다 작으면 "음수"를, 값이 0이면 "0"을 출력하시오.

 

답 : 

if (a1 > 0) {
    System.out.println("양수");
} else if (a1 <0) {
    System.out.println("음수");
} else {
    System.out.println("0");
}

[문제] 1. score의 값이 90이상이면 "A"를 출력(95점 이상 +, 95 미만 -), 80점 이상 90점 이상이면 "B"를 출력(85점 이상 +, 85 미만 -), 70점 이상 80점 미만이면 "C"를 출력(75점 이상 +, 75 미만 -), 60점이상 70점 미만이면 "D"를 출력(65점 이상 +, 65 미만 -), 60점 미만이면 "F"를 출력하시오.

 

  int score = (int)(Math.random()*101);
  
  if(score >= 90) {
      System.out.print("A");
	  // 95이상이면 "+", 95미만이면 "-"
	  if(score >= 95) {
	      System.out.println("+");
	  } else {
	      System.out.println("-");
      }
  } else if(80 <= score) {	// score < 90 && score >= 80
      System.out.print("B");
      if(85 <= score) {
          System.out.println("+");
      } else {
	      System.out.println("-");
	  }
  } else if(70 <= score) {	// score < 80 && score >= 70
      System.out.print("C");
      if(75 <= score) {
	      System.out.println("+");
	  } else {
	      System.out.println("-");
      }
  } else if(60 <= score) {	// score < 70 && score >= 60
     System.out.print("D");
    if(65 <= score) {
        System.out.println("+");
    } else {
        System.out.println("-");
    }
  } else {					// score < 60
      System.out.println("F");
  }

[문제] 2. score의 값이 90이상이면 "A"를 출력, 80점 이상 90점 이상이면 "B"를 출력, 70점 이상 80점 미만이면 "C"를 출력, 60점이상 70점 미만이면 "D"를 출력, 60점 미만이면 "F"를 출력하시오.

  int random1 = (int)(Math.random()*101);
  System.out.println(random1);
		
  switch(random1/10){
    case 10:
	case 9:
	    System.out.print("A");		
		break;
	case 8:
		System.out.println("B");
		break;
	case 7:
		System.out.println("C");
		break;
	case 6: 
		System.out.println("D");
		break;
	default:
		System.out.println("F");
  }

'Java' 카테고리의 다른 글

[Java] 배열 (Array)  (0) 2020.09.17
[Java] 반복문 (for문, while문, do-while문) <계산기>  (0) 2020.09.16
[Java] 연산자(간단 문제)  (0) 2020.09.07
[Java] 연산자  (0) 2020.09.02
[Java] 변수의 타입 (간단 문제)  (0) 2020.09.01
Comments