전체 보기

[백기선 자바] 연산자

작성일자
2023/06/15
태그
SUB PAGE
프로젝트
백기선 자바
책 종류
1 more property

[자바 라이브 스터디] 3주차 - 연산자

목표) 자바가 제공하는 다양한 연산자를 학습합니다.
3
issues

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.1f0.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
복사
참고