: 결과가 참 또는 거짓 단 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)는 실수!