연산자 > 조건, 삼항 연산자

김지원·2022년 5월 22일
0

Java

목록 보기
7/38

조건식

: 결과가 참 또는 거짓 단 2개가 나오는 식.

조건 연산자 (비교 연산자)

: 조건식에서 쓰는 연산자

== : 같다.
!= : 같지 않다.
<, > : 미만, 초과
<=, >= : 이하, 이상

조건식A, 조건식B
A&&B : 둘 다 참이여야 참
A||B : 둘 중 하나라도 참이면 참
!A : 참이면 거짓, 거짓이면 참.

< example >

System.out.println(10 == 20); //false
System.out.println(10 == 10 && 20 > 30); //false
System.out.println(!(10 > 30)); //true

삼항 연산자

기본식 : 조건식 ? true : fasle

< example >

String q = " Q. 다음 중 프로그래밍 언어가 아닌 것은?\n"
				+"1. JAVA\n"
				+"2. Python\n"
				+"3. C언어\n"
				+"4. 망둥어";
                
Scanner s = new Scanner(System.in);
int choice = 0;

>>입력 및 출력
System.out.println(q);
choice= s.nextInt();
System.out.println(choice == 4? "정답":"오답");

-> 값은 나오지만 이렇게 코딩하는건 좋지 않다.

int answer = 4;   //변수 지정하기!
System.out.println(choice == answer? "정답":"오답");       

-> 항상 값은 변수(저장공간)에 담아야 한다. 정답도 변수(answer)에 넣자!

Result code

String result = ""; //결과 변수 지정.
result = choice == answer? "정답":"오답";
System.out.println(result);

-> 결과 또한 변수를 지정해서 출력하기.

버그 발생!

  • 1~4가 아닌 수를 입력헀을시에 대한 대처가 없음.
  • 삼항연산자안에 삼항연산자를 한번 더 사용해준다.
result = choice == answer? "정답": choice >=1 && choice <=4 ? "오답":"잘못입력하셨습니다.";

참고 plus 문제)
만약 실수를 넣게 되는 mistake가 발생한다면!

실수인지 정수인지 가리기 위해서는 문자열로 값을 넣어줘야한다.
그래야 오류가 나지 않는다. 
문자열로 받고 나서 실수로 형변환해준다. (정수든 실수든 실수로 형변환이 된다.)
그 실수로 바꾼것을 정수로 한번더 형변환해준다. 

실수로 바꾼것 - 정수로 바꾼것 = 0 또는 0.xxx 둘중 하나의 값이 나오는데
이것으로 입력된 값이 실수인지 정수인지 가릴 수 있다.

< example >

3.5를 문자열로 받아서 실수로 형변환 -> 정수로 형변환
3.5 - 3 = 0.5
0.5가 나오게 되니 입력된 값(3.5)는 실수!

0개의 댓글

관련 채용 정보