------------------------------------
조건문 (if, switch)


정보처리 기사 과목 : (전자계산)알고리즘, 데이터베이스, 전산영어

정보처리 기사 실기 시험 합격 기준
- 평균 60점 이상이어야 합격
- 평균 60점 미만 불합격.

//Ex17.java
package com.test;

public class Ex17 {

 public static void main(String[] args) {
  
  /*
  정보처리 기사 과목 : (전자계산)알고리즘, 데이터베이스, 전산영어
  
  정보처리 기사 실기 시험 합격 기준
  - 평균 60점 이상이어야 합격
  - 평균 60점 미만 불합격.
  */
  
  int sub1 = 60;
  int sub2 = 80;
  int sub3 = 40;
  
  double ave = (sub1 + sub2 + sub3) / 3.0;
  
  //평균 원본 값
  System.out.println(ave);
  
  //절삭
  System.out.println(Math.floor(ave)); //소수 이하 첫 번째 자리부터
  System.out.println(Math.floor(ave*10)/10.0); //소수 이하 두 번째 자리부터
  System.out.println(Math.floor(ave*100)/100.0); //소수 이하 세 번째 자리부터
  
  //반올림
  //Math 클래스의 round() 메소드를 이용하면
  //반올림 연산을 할 수 있다.
  //반환 자료형은 long 형(정수형)이 된다.
  System.out.println(Math.round(ave));
  
  //1-> ave*10 -> 616.666
  //2-> Math.round(ave*10) -> 617
  //3-> Math.round(ave*10)/10.0 -> 61.7
  System.out.println(Math.round(ave*10)/10.0);

  //소수 이하 세 번째 자리부터
  System.out.println(Math.round(ave*100)/100.0);
  
  //합격, 불합격 판단
  long result = Math.round(ave);
  if (result >= 60) {
   System.out.printf("점수:%d -> 합격 %n", result);
  } else {
   System.out.printf("점수:%d -> 불합격 %n", result);
  }

 }

}

 

 


정보처리 기사 필기 시험 합격 기준
- 과목별 40점 이상, 평균 60점 이상이어야 합격
- 과목별 40점 미만 과락(불합격).
- 평균 60점 미만 불합격.


//Sample21.java
package com.test;

public class Sample21 {

 public static void main(String[] args) {

  /*
  정보처리 기사 과목 : (전자계산)알고리즘, 데이터베이스, 전산영어

  정보처리 기사 필기 시험 합격 기준
  - 과목별 40점 이상, 평균 60점 이상이어야 합격
  - 과목별 40점 미만 과락(불합격).
  - 평균 60점 미만 불합격.
  */
  
  int sub1 = 90;
  int sub2 = 75;
  int sub3 = 20;
  
  double ave = (sub1 + sub2 + sub3) / 3.0;
  
  long result = Math.round(ave);
  

  /*
  if (합격조건->평균60점이상, 과목별40점이상) {
   //합격
  } else {
   //불합격
   if (과락조건->평균60점이상) {
     //과락(불합격)
   } else {
    //불합격
   }
  }
  */
  System.out.printf("과목1:%d, 과목2:%d, 과목3:%d, 평균:%d %n", sub1, sub2, sub3, result);
  if (result>=60
    && sub1>=40 && sub2>=40 && sub3>=40) {
   System.out.println("->합격");
  } else {
   if (result>=60) {
    System.out.println("->불합격(과락)");
   } else {
    System.out.println("->불합격(평균60점미만)");
   }
  }
  
 }

}

 


문제) 특정 점수(0~100)가 특정 범위 안에 오는지 확인하고 범위명을 출력.


A등급 : 90~100
B등급 : 80~89
C등급 : 70~79
D등급 : 60~69
F등급 : 0~59

 

//Sample22.java
package com.test;

public class Sample22 {

 public static void main(String[] args) {

  //0~100 사이의 정수로 한정
  int score = 89;
  
  String grade = "";
  
  //if문
  if (score>=90) {
   grade = "A등급";
  } else if (score>=80) {
   grade = "B등급";
  } else if (score>=70) {
   grade = "C등급";
  } else if (score>=60) {
   grade = "D등급";
  } else {
   grade = "F등급";
  }
  
  
  System.out.printf("점수: %d, 등급: %s %n", score, grade);
  
  
 }

}

 

 

//Sample23.java
package com.test;

public class Sample23 {

 public static void main(String[] args) {

  //0~100 사이의 정수로 한정
  int score = 89;
  
  String grade = "";
  
  //if문
  if (score>=90) {
   grade = "A등급";
  }
  if (score<90 && score>=80) {
   grade = "B등급";
  }
  if (score<80 && score>=70) {
   grade = "C등급";
  }
  if (score<70 && score>=60) {
   grade = "D등급";
  }
  if (score<60) {
   grade = "F등급";
  }  
  
  
  System.out.printf("점수: %d, 등급: %s %n", score, grade);
  
  
 }

}

 

 

//Sample24.java
package com.test;

public class Sample24 {

 public static void main(String[] args) {

  //0~100 사이의 정수로 한정
  int score = 89;
  
  String grade = "";
  
  //if문
  int result = (score / 10);
  if (result==10 || result==9) {
   grade = "A등급";
  } else if (result==8) {
   grade = "B등급";
  } else if (result==7) {
   grade = "C등급";
  } else if (result==6) {
   grade = "D등급";
  } else {
   grade = "F등급";
  }
  
  
  System.out.printf("점수: %d, 등급: %s %n", score, grade);
    
  
 }

}

 

 

 


------------------------------------
2. switch문
- if문과 같은 조건식 검사 구문.
- 기본 형식

switch (식) {
case 값1:
 실행구문;
 break;
case 값2:
 실행구문;
 break;
default:
 실행구문; 
}

식의 결과값이 case 구문에 있는 값과 일치하는 경우에
case 구문을 실행합니다.

case 구문이 여러개인 경우는 첫 번째 조건을 만족하지 않는 경우
두 번째 case 구문을 검사합니다.

default 구문은 모든 case 구문이 일치하지 않는 경우에 실행됩니다.

break; 구문은 case 구문의 실행을 마치고 블럭을 나갈때 사용.


switch (식) {
case 값1:
case 값2:
 실행구문;
 break; 
default:
 실행구문; 
}

식의 결과값이 값1 이거나, 값2인 경우 실행.


특정 점수(0~100)가 특정 범위 안에 오는지 확인하고 범위명을 출력.


A등급 : 90~100
B등급 : 80~89
C등급 : 70~79
D등급 : 60~69
F등급 : 0~59

 

//Sample25.java
package com.test;

public class Sample25 {

 public static void main(String[] args) {
  
  //0~100 사이의 정수로 한정
  int score = 89;
  
  String grade = "";
  
  //if문 -> switch문 (일치하는 경우만 실행된다)
  //switch 문에서
  //case 구문은 여러개 추가 가능
  //default 구문은 생략 가능
  //break; 구문도 생략 가능
  //실행문은 최소한의 내용으로 작성할 것.
  /*
  switch(식) {
  case 값1: 실행문; break;
  case 값2: 실행문; break;
  default: 실행문; break;
  }
  */
  switch(score/10) {
  case 10:
  case 9: grade = "A등급"; break;
  case 8: grade = "B등급"; break;
  case 7: grade = "C등급"; break;
  case 6: grade = "D등급"; break;
  default: grade = "F등급"; break;
  }
  
  System.out.printf("점수: %d, 등급: %s %n", score, grade);

 }

}

 


----------------------------------------------------------
문제) 쿠폰 도장 갯수에 따른 서비스 제공
5개 -> 커피 1잔 무료 제공
10개 -> 음료 1잔 무료 제공
15개 -> 음료 2잔 무료 제공
20개 -> 전체 금액 10% 할인


----------------------------------------------------------
문제) 2+1 계산
1개 구입시->1개 가격
2개 구입시->2개 가격
3개 구입시->(2+1 적용) 2개 가격
4개 구입시->(2+1 적용) 3개 가격
5개 구입시->(2+1 적용) 4개 가격
6개 구입시->(2+1 적용) 4개 가격
...

//Sample27.java
package com.test;

public class Sample27 {

 public static void main(String[] args) {

  /*
  문제) 2+1 계산
  1개 구입시->1개 가격
  2개 구입시->2개 가격
  3개 구입시->(2+1 적용) 2개 가격
  4개 구입시->(2+1 적용) 3개 가격
  5개 구입시->(2+1 적용) 4개 가격
  6개 구입시->(2+1 적용) 4개 가격
  ...
  */
  
  int a = 11;
  String cp = "";
  int div = (a/5);

  switch(div) {
  case 1: cp = "Coffe 1잔무료"; break;
  case 2 : cp = "음료 1잔 무료 제공"; break;
  case 3 : cp = "음료 2잔 무료 제공"; break; 
  case 4 : cp = "전체 금액 10% 할인"; break;
  }
  
/*  if(a == 1) {
   cp = "Coffe 1잔 무료";
  } else if(a == 2) {
   cp = "음료 1잔 무료";
  } else if(a == 3) {
   cp = "음료 2잔 무료";
  } else {
   cp = " 전체 금액 10% 할인";
  }
  
*/  System.out.printf("할인 내용은 : %s 입니다.", cp);
 }

}

 

----------------------------------------------------------
가위, 바위, 보 게임에 대한 조건문 작성

가위를 1, 바위를 2, 보를 3로 표현한 경우
승패 규칙은 다음과 같다.

모든 경우의 수
user1  -  user2  -> 승
  1         2        2
  1         3        1
  2         1        2  (중복)
  2         3        3
  3         1        1  (중복)
  3         2        3  (중복)

중복을 제거한 경우의 수
user1  -  user2  -> 승
  1         2        2
  1         3        1
  2         3        3

승과 관련한 수학적 수식
user1    -   user2        -> 승
 1%3->1  !=  (2+1)%3->0     user2
 1%3->1  ==  (3+1)%3->1     user1
 2%3->2  !=  (3+1)%3->1     user2

 

//Sample26.java
package com.test;

public class Sample26 {

 public static void main(String[] args) {
  /*
  가위, 바위, 보 게임에 대한 조건문 작성
  가위를 1, 바위를 2, 보를 3로 표현한 경우
  */
  
  int user1 = 3;
  int user2 = 2;
  
  String s = "";
  if (user1 == user2) {
   //비긴 경우
   s = "비겼습니다.";
  } else {
   /*
   if ( (user1%3) == ((user2+1)%3) ) {
    //user1가 이긴 경우
    s = "user1이 이겼습니다.";
   } else {
    //user2가 이긴 경우
    s = "user2가 이겼습니다.";
   }
   */

   s = ((user1%3) == ((user2+1)%3))?"user1이 이겼습니다.":"user2가 이겼습니다.";

  }
  System.out.println(s);
  
  
 }

}

 

---------------------------------------
요약

1. 실수 표현->절삭, 반올림, 자릿수 지정

Math.floor()
정수 나눗셈 -> 결과가 절삭 효과

Math.round(a)
Math.round(a * 10) / 10.0

System.out.printf("%d", 정수);
System.out.printf("%f", 실수);
System.out.printf("%.1f", 실수);
System.out.printf("%s", 문자열);

2. if문
- 조건식 작성 (평균 60점 이상, 과락)
- 조건식 작성 (가위, 바위, 보 게임에 대한 수식)

2. switch문
switch(식) {
case 값1: 실행구문; break;
case 값2: 실행구문; break;
default: 실행구문;
}

switch(식) {
case 값1: case 값2: 실행구문; break;
case 값3: 실행구문; break;
default: 실행구문;
}

-------------------------------------------

 

 

 

 


 

블로그 이미지

알 수 없는 사용자

,