자바의 정석 가자!

Chapter3 13 ~ 19 비교 연산자, 문자열의 비교, 논리 부정 연산자, 조건 연산자, 대입 연산자

'쪼리' 2022. 10. 7. 13:46

chapter3 - 13,14 비교 연산자, 문자열의 비교

* 비교 연산자 > < >= <= == !=

두 피연산자를 비교해서 true(참) 또는 false(거짓)을 반환

- 추가

'A' > 'B' 

-> int보다 작은 타입들은 모두 int형으로 변환.

따라서 (char > char    ->     int > int)

65 > 66 이니까 결과는  false 

 

:: 비교연산자는 결과가 항상 true, false 둘 중 하나이다.::

 

 

* 문자열 비교에는 == 대신 equals()를 사용해야 한다.

 

* 논리 연산자 && ||

조건식을 연결할 때 사용하는 연산자

|| (OR결합)       피연산자 중 어느 한 쪽이 true이면 true를 결과로 얻는다.

&& (AND결합)  피연산자 양쪽 모두 true이어야 true를 결과로 얻는다.

 

ex)

1. x는 10보다 크고 20보다 작다

10 < x && x < 20

 

2. i는 2의 배수 또는 3의 배수이다.

i%2==0 || i%3==0

 

3. i는 2의 배수 또는 3의 배수지만, 6의 배수는 아니다.

( i%2==0 || i%3==0 ) && i%6 != 0

 

4. 문자 ch는 숫자('0' ~ '9')이다.

'0' <= ch && ch <= '9'

-> 유니코드에서 문자'0'부터 '9'까지 연속적으로 배치되어 있기 때문에 가능. ('0' = 48)

만약 ch = '5' 라면

'5'가 53, '0'이 48, '9'가 57로 변환하여

식이 48 <= 53 && 53 <= 57 이 되어서  결과는 true

 

5. 문자 ch는 대문자 또는 소문자이다.

('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z)

 

==============================================================

 

ch3 - 16 논리 부정 연산자 !

true를 false로, false는 true로 바꾼다.

 

논리 부정 연산자는 단항연산자이며,

대입 연산자와 단항 연산자는 연산방향 : 오른쪽 -> 왼쪽

 

따라서

boolean b - true; 일때

!!b -> !!true -> !fasle -> true 

결과 : true

 

=====================================================

 

ch3 - 17~19 조건 연산자, 대입 연산자

*조건 연산자 (유일한 삼항 연산자 == 피연산자가 3개)

(조건식은 참 또는 거짓을 반환하는 식이어야 한다.)

ex)

result = (x  > y) ? x : y;

조건식 : (x > y)

식1 : x

식2 : y

조건식의 결과가 참일 때, 식1인 x가 result에 대입. 

조건식의 결과가 거짓일 때, 식2인 y가 result에 대입.

 

ch3 - 18 대입 연산자

오른쪽 피연산자를 왼쪽 피연산자에 저장 후, 저장된 값을 반환

(+ 모든 연산자는 결과값을 반환한다.)

(+ 대입 연산자의 연산방향은 오른쪽 -> 왼쪽!  _단항 연산자도~)