-
[Java] 연산자Java 2022. 7. 8. 22:07
자바의 연산자는 연산 결과의 특징에 따라 3가지로 나눌 수 있다.
1. 연산 결과가 특정 값이 나오는 산술, 증감, 비트, 시프트 연산자
2. 연산 결과가 참 또는 거짓 중 하나의 값으로만 나타나는 비교, 논리, 연산자
3. 값을 반환하는 것이 아닌 값을 대입하는 의미를 지니고 있는 대입 연산자와 삼항 연산자
자료형 연산기호 기능 결과 산술 연산자
증감 연산자
비트 연산자
시프트 연산자+, -, *, /, %
++, --
&, |, ~, ^
>>>, >>, <<사칙연산 및 나머지 연산
값이 1씩 증가 및 감소
비트 AND, OR, NOT, XOR
비트 단위로 이동값 비교 연산자
논리 연산자<, >, <=, >=, ==, !=
&&, ||, !, ^값의 크기 비교
논리 AND, OR, NOT, XOR참 또는 거짓 대입 연산자
삼항 연산자=, +=, -=, *=, /=
&=, |=, >>=, <<=, >>>=
(참 또는 거짓) ? x : y산술 연산 결과의 대입
('연산자' + '='의 축약 표현)
참일 때 x, 거짓일 때 y실행 -> 보통 대입 연산자가 있어야지 변수의 값이 바뀜. 예외) ++a, a++, --a, a--
증감 연산자
* 전위형 int a1 = 3; int b1 = ++a; // a1: 4, b1: 4 * 후위형 int a2 = 3; int b2 = a2++; // a2: 4, b2: 3
시프트 연산자
연산자 부호 특성 예 << 양수
음수1 bit 시프트당 x2, 부호유지 3 << 1 = 6
-3 << 1 = -6>> 양수
음수1 bit 시프트당 / 2, 부호유지, 소수 버림
1 bit 시프트당 /2, 부호유지, 소수 올림5 >> 2 = 1
-5 >> 2 = -2논리 시프트 ( >>>)
· 부호 비트를 포함해서 전체 비트를 오른쪽으로 이동시키는 연산으로 빈칸은 모두 0으로 채움
· 부호 비트까지 이동시키므로 부호 비트가 1인 음수일 때 논리 시프트 이후에는 값이 양수로 변함
등가 비교 비교대상
· 등가비교( ==, != )의 비교대상은 스택 메모리의 값
삼항 연산자
· ( 참 또는 거짓 ) ? 참일 때 연산결과 : 거짓일 때 연산결과
int a = (true) ? 1 : 2; // a: 1 int b = (a / 2 == 0) ? 10 : 20; // b: 20
stack, heap
stack | heap
reference variable | 객체
* reference type(참조 자료형): Array, Class, Interface -> new로 객체 생성(static만 new x)
728x90'Java' 카테고리의 다른 글
[Java] Set 성적관리 프로그램 (0) 2022.09.19 [Java] ArrayList 성적관리 프로그램 (0) 2022.09.19 [Java] 참조 자료형 (0) 2022.07.09 [Java] 제어문 (0) 2022.07.08 [Java] 자료형 (0) 2022.07.08