3. 연산자
3.1 부호/증감연산자
부호 연산자는 변수의 부호를 유지하거나 변경
+ 피연산자 피연산자의 부호유지
-피연산자 피연산자의 부호 변경
증감연산자 ++ -- ++피연산자 --피연산자 피연산자의 값을 1증가, 감소
피연산자++ 피연산자-- 다른 연산을 수행한 후에 피연산자 값을 증가,감소
3.2 산술연산자
+덧셈연산 -뺄셈연산 *곱셈연산 /나눗셈연산 %나눗셈의 나머지
3.3 오버플로우와 언더 플로우
오버플로우란 타입이 허용하는 최댓값을 벗어나는 것 반대로 언더플로우는 타입이 허용하는 최솟값을 벗어나는 것.
벗어나면 오류가 발생하는게 아니라 최솟값 또는 최댓값으로 되돌아감.
byte 가 -128~127인데 byte++을하면 -128이 되어버림
오버플로우와 언더플로우는 기대값이 아니므로 범위를 항상 주의할것 int가 넘을거 같으면 long으로쓰기
하나라도 long && 마지막값 long -> long연산되기 위해
3.4 정확한 계산은 정수연산으로 하는 것이 좋다.
3.5 나눗셈 연산후 NaN과 Infinity 처리
/와 %연산의 결과가 infinity || nan인지 확인할 필요가 있다.
boolean result = Double.isInfinite(변수);
boolean result = Double.isNaN(변수);
예외처리해주자.
3.6 비교연산자

==헷갈릴때 있다. 주의하자
3.7 논리연산자
AND(논리곱) &&또는& 피연산자가 모두 참일경우만 true
OR(논리합) ||또는| 피연산자 중 하나만 참인경우 true
XOR(배타적논리합) ^ 피연산자가 하난는 true이고 다른하나가 false일 경우만 true
NOT(논리부정) ! 피연산자의 논리값을 바꿈 !true = false !false = true
&&와 &의 차이 &&는 앞의 피연산자가 false라면 뒤를 평가하지 않고 false를 바로 산출 but &는 두 피연산자 모두를 평가한 후 결과를 냄 따라서 &&가 더효율적임
3.8 비트 논리 연산자 & 3.9 비트 이동 연산자
비트단위로 계산을 해야할때(데이터 크기 측정) 웹개발에서는 거의 사용되지 않으니 이해만 하기.
3.10 대입연산자
우측피연산자를 죄측 피연산자인 변수에 대입
3.11 삼항(조건) 연산자
삼항연산자(피연산자1? 피연산자2: 피연산자3)는 총 3개의 피연산자를 가진다.
?앞의 피연산자는 boolean 변수 도는 조건식이 오므로 조건 연산자라고도 한다.
이 값이 true이면 콜론: 앞의 피연산자가 선택되고 false이면 콜론뒤 피연산자가 선택된다.
피연산자 2와 3 에는 주로 값이 오지만 경우에 따라서 연산식이 올 수 있다.
int score = 85;
char grade = (score > 90) ? 'A' : ((score >80) ? 'B' : 'C');
System.out.println(score + "점은 " + grade + "등급입니다.");
3.12 연산의 방향과 우선순위
+ - 보다는 * / 연산자가 먼저
대부분의 연산자는 왼쪽에서 우측으로
대입연산자는 우측에서 왼쪽으로 a = b = c = 5 c=5 b=c a=b가 되는거
()는 ()부터
'기초단계 > JAVA' 카테고리의 다른 글
| 2022.12.14-4 JAVA 복습 참조타입 (0) | 2022.12.14 |
|---|---|
| 2022.12.14-3 JAVA 복습 조건문과 반복문 (0) | 2022.12.14 |
| 2022.12.14-1 JAVA 복습 변수와 타입 (0) | 2022.12.14 |
| 2022.12.13-2 JAVA 데이터베이스 입출력 (0) | 2022.12.13 |
| 2022.12.13 JAVA 데이터베이스 입출력 (0) | 2022.12.13 |