< 논리부정연산자 >
- 논리값(true, false)을 반대로 바꿔주는 연산자
[ 표현법 ] !논리값;
!true == false
!false == true
- !!true = 부정의 부정은 긍정!
< 비교연산자(관계연산자) >
- 이항연산자, 두 개의 값을 가지고 비교함
- 비교연산을 한 결과값 : 참일 경우 true, 거짓일 경우 false
- 특정 조건을 제시할 수 있는 ☆조건문★에서 쓰일 예정
- 의문문으로 생각하는게 좋음
- 피연산자는 숫자, 결과값은 논리값
[ 종류 ]
1. 크고 작음을 비교 (대소비교연산자)
a < b | a가 b보다 작은가? |
a > b | a가 b보다 큰가? |
a <= b | a가 b보다 작거나 같은가? |
a >= b | a가 b보다 크거나 같은가? |
2. 일치함을 비교 (동등비교연산자)
a == b | a와 b가 일치하는가? |
a != b | a와 b가 일치하지 않는가? |
System.out.println("a < b : " + (a < b)); // true
// 대소비교연산자보다 산술연산자의 우선순위가 높음. 괄호로 우선순위 지정
< 논리연산자 >
- 두 개의 논리값을 연산하는 연산자
[ 표현법 ] 논리값 논리연산자 논리값 => 결과값도 논리값
[ 종류 ]
1. AND 연산자 : 논리값 && 논리값 (& : 앰퍼샌드Ampersand)
- 좌항과 우항의 결과값이 모두 true여야만 최종 결과가 true
- 좌항에 false가 나올 확률이 높은 식을 적음(숏컷연산)
- 의미 : ~이면서, ~이고, 그리고
true && true | true |
true && false | false |
false && true | false |
false && false | false |
boolean result = (1 <= num) && (num <= 100); // 사이값의 경우 눈에 보이게 작성
2. OR 연산자 : 논리값 || 논리값 (| : 파이프Pipe, 버티컬바Vertical bar)
- 좌항 또는 우항의 값 중 하나라도 true이면 최종 결과가 true
- 의미 : ~이거나, 또는
true || true | true |
true || false | true |
false || true | true |
false || false | false |
int num = 10;
boolean result = false && (num > 0);
// Deadcode : 뒤의 비교연산 구문이 실행되지 않음
// 실행 오류는 나지 않지만, 결과값은 false이므로 쓸 필요가 없음
< 삼항연산자 >
- 피연산자가 3개 => 값 3개와 연산자 1개로 이루어짐
- 조건식 형식으로 쓰임
* 조건식 : 결과값에 따라 연산을 처리하는 방식.
결과값이 참일 경우 식1을 처리하고, 결과값이 거짓일 경우 식2를 처리
[ 표현법 ]
조건식 ? 조건이 true일 경우 결과값 : 조건이 false일 경우 결과값
// 영문자 하나를 입력받아서 대문자인지 아닌지 판별
public void method() {
Scanner sc = new Scanner(System.in);
System.out.println("영문자를 하나만 입력하세요 : ");
char ch = sc.nextLine().charAt(0);
// charAt(index) : 문자열에서 index에 해당하는 단일문자 추출
String result = ('A' <= ch) && (ch <= 'Z') ? "대문자" : "대문자 아님";
// 'a' <= ch && ch <= 'z' ? "대문자가 아닙니다" : "대문자";
// ASCII코드표를 보지 않아도 자동형변환
System.out.println(ch + "은(는) " + result);
}
'개발 > Java' 카테고리의 다른 글
[Java] 자바 - 단축키 (+ 추가 중) (0) | 2022.09.07 |
---|---|
[Java] 자바 - if문 / if-else / if-else if (조건문) (0) | 2022.09.07 |
[Java] 자바 - 산술연산자 / 증감연산자 / 복합대입연산자 (0) | 2022.09.05 |
[Java] 자바 - 형변환(Type Casting) (0) | 2022.09.04 |
[Java] 자바 - 입력값 받기 (0) | 2022.09.04 |