[자바 라이브 스터디] 3주차 - 연산자
•
1. 산술 연산자
•
정의)
•
특징)
◦
/ 와 % 주의사항
▪
피연산자들이 정수형인 경우, 0으로 나누면
•
ArithmeticException 예외 발생할 수 있음→ 예외 처리 필요함
5 / 0 --> ArithmeticException 예외 발생
5 % 0 --> ArithmeticException 예외 발생
Plain Text
복사
▪
피연산자들이 실수형인 경우, 0.0으로 나누면
•
/ 의 경우 Infinity
•
% 인 경우 NaN을 가짐
2. 비트 연산자
•
정의)
3. 관계 연산자
•
정의)
•
특징)
◦
산술연산자처럼 연산 수행 전에 피연산자의 타입 일치시킴
▪
ex) 65 == 'A' 은 true A가 int 타입으로 변환되어 65 == 65 가 됨)
▪
cf) 0.1f == 0.1 은 false (0.1f는 0.1000…1490…이라서)
◦
연산 결과 타입은 boolean
4. 논리 연산자
•
정의)
•
특징)
◦
피연산자 타입은 boolean, 연산 결과 타입도 boolean
5. instanceof
•
정의) 객체 타입을 확인하는데 사용하는 연산자
•
예시)
class Parent {}
class Child extends Parent {}
...
Parent parent1 = new Parent();
Child child = new Child();
Parent parent2 = new Child();
System.out.println(parent1 instanceof Parent); // true
System.out.println(parent1 instanceof Child); // false
System.out.println(child instanceof Parent); // true
System.out.println(child instanceof Child); // true
System.out.println(parent2 instanceof Parent);//true
System.out.println(parent2 instanceof Child);//true
System.out.println(parent2 instanceof Object);//true
Java
복사
6. assignment(=) operator
•
정의) 오른쪽 피연산자 값(리터럴, 변수, 다른 연산식)을 왼쪽 피연산자인 변수에 저장
7. 화살표(->) 연산자
•
정의) 람다 식을 도입하는 데 사용되는 연산자
◦
8 버전부터 람다 표현식(lambda expression)이 적용되었음
•
예시)
Calculator cal = (int numA, int numB) -> { return numA + numB; };
Java
복사
8. 3항 연산자
•
정의) ? 앞의 조건식에 따라 콜론(:) 앞뒤의 피연산자가 선택됨
◦
조건연산식이라고도 부름
•
예시) 조건식 ? 값 또는 연산식(true 일 때) : 값 또는 연산식(false 일 때)
char grade = (95>90) ? 'A' : 'B';
Java
복사
9. 연산자 우선 순위
•
정의) 연산의 방향과 우선순위
1.
단항, 이항, 삼항 연산자 순으로 우선순위 가짐
2.
산술, 비교, 논리, 대입 연산자 순으로 우선순위 가짐
3.
단항, 부호, 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽임
4.
복잡한 연산식에는 괄호를 사용해 우선순위 정함
10. Java 13. switch 연산자
•
예시)
switch(입력변수) {
case 입력값1: ...
break;
case 입력값2: ...
break;
...
default: ... // 그 외
break;
}
Java
복사
참고