Chapter3-5 조건문2 _&A

2011. 9. 21. 02:05

현 블로그는 모바일 환경이 아닌 PC환경에 최적화 되어있습니다.

 Mir의 운영환경


public class Test3_5 {


public static void main(String[] args){

int x=100; // 점수x가 무엇이냐에 따라 학점이 출력된다.

String grade; //A++을 넣어야 하기때문에 한글자만 저장할수 있는

      //char형말고 String형으로 변수를 만들었다.

//우선은 if문을 사용할것이다.

//if문으로 만들때는 중복if문을 사용할지 그냥 연속된 

//if,else문을 사용할지에 따라 프로그래밍이 조금 달라진다.

//우선은 중복 if문을 보자.

if( x >= 60 ){ grade = "D";   

//점수가 60점 이상일때.학점은 E가 된다.

    if( x >= 70){  grade = "C";  

    //점수가 60점 이상이며 70점을 넘었을때. 학점은 E에서 C로 변경이 된다. 

if( x >= 80){  grade = "B";

   //60점 이상 70점이상일때 80점을 넘으면 학점은 C에서 B로 변경된다.  

if( x >= 90){  grade = "A";

//위 조건을 모두 만족하고 90점을 넘으면 학점은 A가 된다.

  if( x == 100 ){ grade = "A++";

  //100점이면 A++를 담게 하였다.

                     }  }  } }

      //이클립스에서는 대괄호가 자동으로 생기지만 그래도

      //주의 하기 바란다.

     }else{ grade = "F";}

             // 60점 이상이 되지 않으면(false값) 학점은 F가 된다.

             //이 else가 어디 if의 else인지 잘 봐야한다.

             // (x>=60)의 조건식의 else가 아니게 되면 60점 이상인데도

             // 학점이 f가 될수도 있다.

           

    

    

System.out.println("Mir의 학점은" + grade +"입니다.");

//이번엔 연속된 if,else문으로 만들어보겠다.

if (x == 100) { grade = "A++";

}else if (x >= 90){grade = "A";

}else if (x >= 80){grade = "B";

}else if (x >= 70){grade = "C";

}else if (x >= 60){grade = "D";

}else grade = "F";

//다시한번 중첩된 if문을 보자.

if( x >= 60 ){ grade = "D";   

    if( x >= 70){  grade = "C";   

if( x >= 80){  grade = "B";  

if( x >= 90){  grade = "A";

  if( x == 100 ){ grade = "A++";

                     }}}}}else{ grade = "F";}

// 위 두 if문의 기능은 똑같다.

// 하지만 해석은 달라진다.

// 연속된 if,else문은 100점이 아니면 90점과,

// 90점이 아니면 80점과

// 이런식으로 조건범위가 작은부분부터 큰부분으로 내려오지만.

// 중첩된 if문은 60점 이면 70점과 한번더, 

// 70점이면 80점과 한번더

// 이런식으로 조건범위가 큰부분부터 작은부분으로 내려오는것이다.

// 후에 가면 중첩된 if문을 많이 쓰게 되는데

// X란 조건을 만족하는 변수들이 

// 또다시 i란 조건으로 넘어가게 할수 있기 때문이다.

// 쉽게 설명하면 1차 서류접수에 합격한사람들이

// 이번엔 면접을 보고 합격, 불합격으로 나눌수 있는것이다.

// 이번엔 삼항연산자로 만들어 보겠다.

// 삼항연산자는 이런 단순 프로그램에서는

// 정말 간단하게 쓰일수 있다.

// 하지만 String형을 쓸수 없기때문에 

// char형 점수를 선언하였다.

// char형은 하나의 문자만을 저장하기때문에

// 100은 빼버리도록 하자. (문제를 잘못낸거 같다.)

char grade2 = (x >= 90) ? 'A' :

  (x >= 80) ? 'B' :

      (x >= 70) ? 'C' :

      (x >= 60) ? 'E' : 'F' ;

// : 표시가 true와 false를 나눈다는것만 잘기억하면

// 쉽게 만들수 있다.

// 삼항연산자도 90점이 아니면 80점과 비교를 해야되기때문에

// 조건범위가 작은거부터 큰부분으로 내려가야한다.

// 마지막으로 char형은 ''로 String형은 ""로

// 둘러 쌓야된다는거 까먹지 말자!

System.out.println("Mir의 학점은" + grade2 +"입니다.");


//마지막 switch이다.

// switch는 chapter설명때도 한번 언급을 했었는데

// 범위를 지정할수 없기때문에 우선 10으로 나눠주어야 한다.

switch(x/10){  // 이렇게 되면 96점은 9점이 84점은 8점이 되어버릴것이다.

               // x가 int형으로 선언되엇다는것을 기억하기 바란다.

case 10: grade = "A++"break;    

case 9 : grade = "A"break

case 8 : grade = "B"break

case 7 : grade = "C"break;

case 6 : grade = "D"break;

default : grade = "F"

// break구문을 빠트리면 어떤점수를 넣어도 F나온다는거 까먹지 말자!

}

System.out.println("Mir의 학점은" + grade +"입니다.");

}

}




------------------------------------------------------------------------------------
본 블로그의 글을 퍼가실때 꼬릿말, 퍼가시는곳 주소를 꼭 남겨주세요.

출처 꼭 기재해주시고요. 상업적인 용도의 이용은 절대 금합니다.

혹 프린트를 할 경우 블로그주소와 함께 프린트 해주세요.
허락을 맡지 않고 무단도용을 할경우 법적인 제제가 있을수도 있습니다.
(전 분명히 경고했습니다. 합의같은거 안합니다.)
그리고 혹 무단도용한것을 보신분은 신고해주시면 사례금 챙겨 드리겠습니다.
-----------------------------------------------------------------------------------

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

Chapter4-1 구구단 만들기 _&A  (0) 2011.09.21
Chapter3-6 Switch문2 _&A  (0) 2011.09.21
Chapter3-4 조건문 _&A  (0) 2011.09.21
Chapter3-3 Switch문 _&A  (0) 2011.09.21
Chapter3-2 IF문2 _&A  (0) 2011.09.21

+ Recent posts