TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다.
비교연산자 (관계연산자)
두 값을 비교하는 연산자이며 이항 연산자이다.
비교 연산을 수행한 결과 값은 논리값 (true/false)로 표시되며
조건에 만족하면 true, 만족하지 않으면 false가 된다.
주로 조건문에 자주 사용된다.
[표현식과 의미]
a < b : a가 b보다 작습니까?
a > b : a가 b보다 큽니까?
a <= b : a가 b보다 작거나 같습니까?
a >= b : a가 b보다 크거나 같습니까?
a == b : a랑 b랑 일치합니까?
a != b : a랑 b랑 일치하지 않습니까?
활용 예시)
System.out.println("a > b : " + (a > b));
System.out.println("a <= b : " + (a <= b));
System.out.println("a == b : " + (a == b));
System.out.println("a != b : " + (a != b));
-> 1. 산술 연산 + 비교 연산을 사용하는 경우 짝수인지 홀수인지 판별 가능하다.
System.out.println("a가 짝수입니까 : " + ( a % 2 == 0));
System.out.println("a가 홀수입니까 : " + ( a % 2 == 1));
=> 즉, 2로 나눴을 때 나머지 값이 0이냐/ 1이냐를 가지고 짝수인지 홀수인지 판별한다
-> 2. 또한 양수인지 아닌지 출력 가능
System.out.println("사용자가 입력한 값은 양수입니까 : " + (0<num));
논리연산자
두 개의 논리값을 연산하는 연산자이며,
두 가지의 종류를 가지고 있다.
&&: 그리고, ~이면서 AND
||: 또는, ~이거나 OR
풀어서 표현식과 함께 얘기해보자면,
논리값 && 논리값
* &&: 두 개의 조건이 모두 true여야 결괏값이 true. (and)
* true && true = true
* true && false = false
* false && true = false
* false && false = false
* => && 연산자를 기준으로 앞의 결과가 false값이 나온다면 뒤의 조건은 굳이 연산하지 않는다.
논리값 || 논리값
* ||: 두 개의 조건이 하나라도 true면 결괏값이 true이다. (or)
* true || true = true
* true || false = true
* false || true = true
* false || false = false
* => || 연산자를 기준으로 앞의 결과가 true값이 나온다면 뒤의 조건은 굳이 연산하지도 않는다.
앞(좌항)의 결과에 따라 뒤(우항)의 조건은 굳이 연산하지 않는다면?
사진 속 코드처럼, 우항의 결과값이 달라지게 된다.
삼항연
산자
3개의 항을 가지고 연산하는 연산자이다.
[표현식]
조건식 ? 참에해당하는결과값 : 거짓에해당하는결과값
예시1) 비교 연산자와 활용
int num = 1;
String result = (num > 0) ? "양수이다" : "양수가 아니다" ;
System.out.println( result );
===> console : "양수가 아니다"
예시2) 비교, 산술 연산자로 짝수인지 홀수인지 알아보는 활용 예시
int num = 4;
String result = (num % 2 == 0) ? "짝수이다." : "홀수이다." ;
System.out.println( result );
===> console : "짝수이다"
예시3) 비교 연산자와 논리 연산자로 영문자의 대소문자 구분
; 문자의 대소 비교: 문자는 각각 고유의 숫자가 있다 (유니코드 표 참고) (ex. 대문자 A=65)
char ch = 'C';
String result = (ch >= 'A' && ch <= 'Z') ? "대문자이다." : "대문자가 아니다.";
System.out.println( result );
===> console : "대문자이다"
예시4) 삼항 연산자 중첩 사용
양수인지, 음수인지, 0인지 정확한 판별이 필요할 때
조건식? 참의값 : (조건식2? 조건식2의참값 : 거짓값);
int num = 55;
String result = ( num > 0 ? "양수이다" : ( num=0? "0이다" : "음수이다" )
System.out.println( result );
===> 양수이다.
**예시5) 사용자에게 두 정수값과 덧셈이나 뺄셈의 산술 연산 문자를 하나 입력받아 셈을 해주는 활용
1. Scanner import
2. Scanner 호출
3. 사용자 입력값 받기 (출력 값 입력) + next변수
4. 삼항연산자 변수에 담기
(여기서 int 변수와 char 변수인 '+' '-' , 그리고 문자열인 "잘못입력하셨습니다"
이 모든 것을 담을 수 있는 데이터 형식은 String으로 하며,
만약 "num1+num2"로 ""을 입력할 경우, 모두 문자열로 받아들이니 +""을 추가하기
5. 결과값 출력
'Java' 카테고리의 다른 글
[Java] 제어문1_조건문(switch); if문과는 비슷하지만 다른 switch문 (0) | 2020.12.24 |
---|---|
[Java] 제어문1_조건문(if); 단독 if문과 if-else문, 그리고 if-else if문 (0) | 2020.12.23 |
[Java] 연산자; 증감연산자 자세히 알기(전위연산,후위연산,대량연산) (0) | 2020.12.21 |
[Java] System.out.printf("활용하기"); println/print/printf 차이점과 활용 (0) | 2020.12.21 |
[Java] 형변환? 자동형변환과 그의 순서, 그리고 강제형변환 (0) | 2020.12.19 |
댓글