프로젝트 공부

(TIL) 삼항 연산자/ 제어문 (조건식 if)

jojelly 2020. 7. 5. 18:43
반응형

오늘은 주말이라 카페에 나와 자습을 하고 들어가고자 한다. 

오늘 학습할 주제는 삼항 연산자와 / 제어문이다. 간단하게 학습내용을 이곳에 적어둔 후 정리해서 따로 올리도록 하겠다.

 

삼항 연산자 (항이 3개)
       조건식?     true : false
 (항)    1            2        3

​삼항 조건식을 이용해 문제를 만들어 보고자한다. 

Q.다음 중 프로그래밍 언어가 아닌것은?
 * 1.java
 * 2.python
 * 3.c언어
 * 4.망둥어
 정담은 4. 망둥어를 프로그램으로 만들어보겠다.


​String q = "Q. 다음중 프로그래밍 언어가 아닌것은?\n"
    + "1.java\n"
    + "2.python\n"
    + "3.C언어\n"
    + "4.망둥어";

 
String q = "Q. 다음중 프로그래밍 언어가 아닌것은?\n" ;
+ "";

 

글이 길어질때 \n뒤에 엔터키를 눌러주면 아래에 + ""; 가 생기면서 자동으로 글을 이어준다. 

 

 Scanner sc = new Scanner(System.in);
  int choice = 0;
  
  
  System.out.println(q);
  choice = sc.nextInt();
  
  //3-위에 추가를 해준다.
  //1-이렇게 식을 만들고 나와같은 초보는 이렇게 생각한다.
  
  // System.out.println(choice == 4? "정답입니다." : "오답입니다");
  
  //2-물론 값은 나오지만  우리는 값은 변수에 담아야 한다는거 잊지 말아야 한다.

  //3-위에 추가를 해준다. 

       String result = "";  

 

//4-그리고 아래처럼 바꿔준다.
   int answer = 4;
  //System.out.println( choice == answer? "정답입니다." : "오답입니다.");
  
  //5-그러면3항식을 이용하여 정리하게 된다.
  //6- 그 후  ( choice == answer? "정답입니다." : "오답입니다."); 이 통째가 답이라는것을 이해하고 System.out.println          은 따로 나타내준다.
  
  //result = choice == answer? "정답입니다." : "오답입니다.";
  // System.out.println(result);
  
  /*그다음  엉뚱한 답을 입력할경우에 대한 답으 만들어야 한다.
  오답에서 만들어줘야한다는것 그럼 오답에서 3항 연산자를 다시한번 만들어 줘야한다.
  */
  result = choice == answer? "정답입니다." : choice >= 1 && choice <= 4 ? "오답입니다." : ""
    + "잘못입력 했습니다";
  System.out.println(result);
   
  //3항 연산자 안에 3항 연산자를 한번더 넣은거다.

 


 

*삼항 연산자는 가독성이 떨어지고 사용하기 불편하기 때문에 간단한걸 만들때 사용하며

이번엔 더 많이 사용하는 제어문을 배워보겠다.

 

 

제어문은 1.조건문 2.반복문 이 있다.

 

1.조건문은 

- if문

- switch문이 있다


 if문에 대하여 알아보겠다.

if문은 기본적으로

 

if(조건식){
  실행할 문장
 위의 조건식에 상관없이 모두 검사
 }

인데 이를 위에서 만든 퀴즈로 대입해 본다면,

if(answer){
  result
 } 

이다 .

 

그리고 if가 3가지가 나오는 경우 모든 식을 조건식에 상관없이 검사하게 된다. 


 if(조건식){
  실행할 문장
 위의 조건식에 상관없이 모두 검사
 }if(조건식){
  실행할 문장
 }if(조건식){
  실행할 문장
 }

 

ex.)숫자를 1-10까지 중에 맞추기를 한다고 예를들어보겠다. 답이 1일 경우 if문은 1이라는 답을 다 찾아도 계속해서 2~10까지 검사를 하기 때문에 비효율 적이다.

 

그러나 ex.)밥 먹었니? 네 , 양치했니? 아니요, 공부했니? 같이 계속 물어봐야하는경우 사용한다. 

 

 

 

 

else가 들어가면 if조건문이 참이면 아래 식을 검사하지 않지만 거짓이면 다음 식을 검사하게 된다. 


 if(조건식){
  실행할 문장
 위의 조건식이 거짓일 때만 검사
 참일 때에는 검사 안함.
 }else if(조건식){
  실행할 문장
 }else{
  실행할 문장
 }

​ex.위와 같은 검사 방법일때 1이 정답인걸 찾게되면 멈추게 된다. 효율적이다. 그러나 밥 먹었니? 공부했니? 같은 식을 만들때는 비 효율적이다. 

 

 

 

반응형