Day 4(8/4) IF, Switch

2016. 8. 4. 10:21Programming/Java

[오늘 배운 내용]

1) IF 조건문 활용

2) SWITCH문 활용


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public class L01If { //main과 class는 독자적 영역 가짐
     public static void main(String[] args) {
  /* if - 조건문
   * if() <- 참과 거짓 boolean을 이용해 조건문을 만든다.
   * 보통 비교연산자를 많이 사용한다.
   * ==, <, >, !(주소를 비교), equals(값을 비교)
   * &&, ||(or)
   * A && B -> A와 B의 교집합
   * A || B -> A와 B의 합집합
   */
      boolean flag = 10>2;
      if(flag){
           System.out.println("()의 조건이 true");
  }
      if(!flag){
           System.out.println("()의 조건이 false");
  }
  
  //성적 출력 시스템: 점수를 넣으면 성적이 나온다.
    
      int score = 91;
      String grade = "A+";
      if(score>=95){
           grade = "A+";
   
          }else if(score>=90){
           grade = "A";
          }else if(score>=85){
           grade = "B+";
          }else if(score>=80){
           grade = "B";
          }else if(score>=75){
           grade = "C+";
          }else if(score>=70){
           grade = "C";
          }else{
           grade = "F";
          }
          System.out.println("학생의 성적은 "+grade+"입니다");
 
  //유효 문자를 검사하는 시스템 -> 영문자만 문자로 취급
  //(a~z or A~Z)의 문자를 검사한다.
          char x = 'ㄱ';
  
  if((x>=98 && x<=123|| (x>=65 && x<=90)){
//(x>='a' && x<='z') || (x>='A' && x<='Z') 와 동일함
        System.out.println(x+"유효문자입니다.");
   
          }else{
        System.out.println(x+"는 사용할 수 없습니다.");
      }
   }
}
cs


// this.매개변수에서 .의 역할: 해당 클래스(this)의 모든 자원 접근 가능하게 해줌.

// this()는 생성자가 () 안 데이터에 접근하게 해줌

// 메서드(매개변수)의 매개변수는 메서드 내에서만 활용 가능,

따라서 this를 이용해 접근 영역 확대 ex) this.name

//main() 매우 중요(JVM 접근해 여러 메서드 실행 가능케)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class L02Switch {
     public static void main(String[] args) {
  /* Switch
   * if문 보다 빠르다
   * if문 보다 조건을 파악하기 쉽다 -> if문 이 조건식이 더 다양하다 
   * switch문에 조건문으로 사용되는 key 값은 '기본데이터 타입만' 가능
   */
      int state = 2;
      switch(state){
            case 1System.out.println("시스템 동작"); break
            case 2System.out.println("시스템 대기"); break//여러 층의 거름망에 진흙을 내리는 느낌 
            case 3System.out.println("시스템 정지"); break//걸리면 break문으로 빼낸다.
            defaultSystem.out.println("시스템 오류"); break;
            }
          int key = 10;
          String month = "May";
  
          switch(key){
              case 1: month = "January"break;
              case 2: month = "Februry"break;
              case 3: month = "March"break;
              case 4: month = "April"break;
              case 5: month = "May"break;
              case 6: month = "Jun"break;
              case 7: month = "Jul"break;
              case 8: month = "Aug"break;
              case 9: month = "Sep"break;
              case 10: month = "Oct"break;
              case 11: month = "Nov"break;
              case 12: month = "Dec"break;
              default: month = "Invalid Month"break;
  
              }
              System.out.println("오늘은 "+month+" 입니다.");
  
              //A~F 까지 내는 성적 시스템 switch문으로 "+"가 없다. 90~ 80~ 70~
  
              int score = 71;
              char grade = 'A';
  
              switch(score/10){ // int이기 때문에 자동적으로 9.1 -> 9
                  case 9case 10: grade = 'A'break;
                  case 8: grade = 'B'break;
                  case 7: grade = 'C'break;
                  default: grade = 'F'break;
   
               }
              System.out.println("학생의 성적은 "+grade+" 입니다.");
 }
}
cs


 

 

<국어,영어,수학 점수 입력 받아 학점(A, B, C) 표시해주기>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
public class L03SwitchEx {
      public static void main(String[] args) {
      String grade = "B";
      Scanner scan = new Scanner(System.in);
int kor_score, en_score, m_score;
     kor_score = scan.nextInt(); //nextInt는 정수만 받는다는 
     en_score = scan.nextInt();
     m_score = scan.nextInt();
  
  //switch 문으로 만든 성적 프로그램으로 3개의 점수의 평균 점수와 학점을 출력하세요.
  //switch 문으로 '+' -> 95~, 85~
  
int avg = (kor_score+en_score+m_score)/3;
      switch(avg/10){ // int이기 때문에 자동적으로 9.1 -> 9
          case 9case 10: grade = "A"break;
          case 8: grade = "B"break;
          case 7: grade = "C"break;
          default: grade = "F"break;
      }
  
      char plus ='0';
      //(조건식)?true:false;
      plus =(((avg+5)/10-avg/10)==1)?'+':'0'//이 부분 이해가 힘듬
  
      System.out.println("학생의 성적은 "+grade+plus+" 입니다.");
  
   }
}
cs


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

Day 6(8/8) DoWhile, BreakLoop, Method, Instance  (0) 2016.08.08
Day 5(8/5) For, While  (0) 2016.08.05
Day 3(8/3) Casting & String & Array  (0) 2016.08.04
Day 2(8/2) Variable & DataType  (0) 2016.08.02
Day 1(8/1) 클래스 생성  (0) 2016.08.01