- 논리 연산자 중 우선순위 높은 것 : && > ||
1. 산술 > 비교 > 논리 > 대입
2. 단항(형변환 연산자도 포함) > 이항 > 삼항
3. 단항 & 대입 연산자를 제외한 모든 연산의 진행방향은 왼 ---> 오
- 증감 연산자의 피연산자로 정수와 실수가 모두 가능
But, 상수는 값을 변경할 수 없으므로 불가능
- 전위형은 변수의 값을 증가시킨 후에 변수의 값을 읽어오는 반면,
후위형은 변수의 값을 먼저 읽어온 후에 값을 증가
j = ++i; (전위형) ---> ++i;
j = i;
j = i++; (후위형) ---> j = i;
i++;
- 유니코드 문자표
0 48
A 65
a 97
소문자 ---> 대문자 : -32
대문자 ---> 소문자 : +32
- round 메서드
1. 매개변수로 받은 값 --> 소수점 첫째자리에서 반올림
2. 그 결과를 "정수"로 반환
- 나머지 연산자(%)는 나누는 수로 음수도 허용
나머지 연산을 한 결과에 왼쪽 피연산자의 부호를 붙이면 됨
- 비교연산자는 주로 조건문과 반복문의 조건식에 사용되며,
연산결과는 오직 true와 false 둘 중의 하나이다.
- 대소비교 연산자 <, >, <=, >=
기본형(boolean 제외)은 다 사용, 참조형은 사용 x
- 등가비교 연산자 ==, !=
기본형(저장된 값이 같은지 알 수 o), 참조형(두 개의 참조변수(=객체의 주소저장) 같은 객체를 가리키고 있는지 알 수 o) 사용 o
- 기본형 & 참조형 서로 형변환 x
등가비교 연산자 (==. !=)로 둘 비교 x
- 비교연산자도 이항 연산자로 연산 수행 전 형변환 o
- float 타입의 값을 정밀도가 더 높은 double로 형변환했다고 해서 오차가 적어지는 것 x
그러면 float 타입의 값과 double 타입의 값을 비교하려면 어떻게 해야할까?
double 타입의 값을 float 타입으로 형변환 한 다음에 비교해야 o
그래야만 올바른 결과 얻을 수 있음 또는 어느정도의 오차는 무시하고 구함
- 두 문자열을 비교할 때는 비교연산자 "==" 대신 항상 !! equals() 메서드 사용
equals()는 객체가 달라도 내용이 같으면 true를 반환
만약, 대소문자 구별하지 않고 비교 원하면 equalsIgnoreCase() 메서드 사용
- 논리연산자는 둘 이상의 조건을 '그리고(AND)' 나 '또는(OR)'로 연결하여 하나의 식으로 표현 o
- OR 연산의 경우, 두 피연산자 중 어느 한 쪽만 '참'이어도 전체 연산결과가 '참'이므로
좌측 피연산자가 ' true(참)'이면, 우측 피연산자의 값은 평가하지 않는다.
- AND 연산의 경우, 두 피연산자 중 어느 한 쪽만 '거짓'이어도 전체 연산결과가 '거짓'이므로
좌측 피연산자가 ' false(거 짓)'이면, 우측 피연산자의 값은 평가하지 않는다.
- 조건 연산자는 조건문인 if문으로 바꿔 쓸 수 있으며, if문 대신 조건 연산자를 사용하면 코드를 보다 간단히 할 수 o
조건 연산자의 결합규칙은 오른쪽 -> 왼쪽으로 () 사용하면 가독성을 높일 수 o
'Java > 자바의 정석' 카테고리의 다른 글
[자바의 정석] 6장. 객체지향 프로그래밍1 (0) | 2023.01.28 |
---|---|
[자바의 정석] 5장. 배열 (1) | 2023.01.14 |
[자바의 정석] 4장. 조건문과 반복문 (0) | 2023.01.09 |
[자바의 정석] 2장. 변수 (0) | 2023.01.04 |