Java

[Java]연산자(operator)

patrck_jjh 2025. 3. 23. 16:36

 

연산자 우선순위

[최]우선 (  ) 괄호
[단] ~ , ! , + , -, ++ , --
[산]  * , / , % , + , - ,
[쉬]프트 << , >> , >>>
[관]계(비교) > , < , >= , <= , == , !=
[논] 비트논리 : & , ^ , ! , | 
인발논리 : && , ||
[삼] ? :
[대] 산술대입  =. += , -= , *= , /=, %=
쉬프트대입 <<= , >>=, >>>=
비트논리대입 &=, != , ^=
[콤]마 , 콤마

 

  • 최단/산쉬관논/삼대콤으로 암기해두면 복잡한 수식 있을 때 괄호를 줄일 수 있음
  • 이항 연산자에는 산술, 비교, 논리 연산자가 포함됨 
  • 단항 > 이항> 삼항
  • 단항, 대입연산자만 진행방향이 왼쪽이다 
  • 대입연산자는 항상 마지막

 

 

//단항연산자 : 증감 ==> ++, -- , ~ ,.....
int x = 10, y;

//	y = x++;    // 후위연산 : 대입먼저, 연산나중
//	y = ++x;    // 전위연산 : 연산먼저, 대입나중

++x; // x++;
y = x;


int x = -7, y ;
y = ~x;

 

  • 증감연산자 단독으로 쓰인다면 ++x(전위)나 x++(후위)는 차이 없다
  • 비트전환연산자 ~는 정수형에만 사용가능하며 -(원래값 + 1)이 출력됨

 

 

정수 연산(+ - * / % ^) 정수는 정수임

ex) 7/3 = 2 몫을 취함, 7%3 = 1 나머지 취함

 

 

 

이항연산자

 

이항연산자는 연산 수행하기 전에 피연산자의 타입을 일치시킨다

int보다 크기 작은 타입은 int로 변환

그 외 표현범위가 큰 타입으로 형변환 

 

 

 

 

public class OperatorTest {
	public static void main(String[] args) {
		// shift 연산자 :  <<, >>,  <<<
		
		int x = 8,  result;
		
//		result = x << 2;    // left shift :   원래값 * 2^bit수  ==>  8 * 4 = 32
		result = x >> 3;    // right shift : 원래값 / 2^bit수  ==>  8 / 2^3 = 1
		
		
//		System.out.println(" left shift result : " + result);
		System.out.println(" right shift result : " + result);
		
	}
}

 

 

 

 

shift 연산자

<<, >>, <<<

x << n(left shift)은 $x \ast 2^{n}$과 같다

x >>n(right shift)은 $\frac{x}{2^{n}}$과 같다

 

 

비교연산자

 

비트연산자

 

논리연산자

 

 

삼항연산자

 

 

대입연산자 

 

 

 

 

 

'Java' 카테고리의 다른 글

[Java]객체지향 프로그래밍 I  (0) 2025.04.06
[Java]배열(array)  (0) 2025.03.25
[Java]제어문(조건문, 반복문)  (0) 2025.03.23
[Java]변수(variable)  (0) 2025.03.20
[Java]컴파일, 경로설정, 메모리 영역  (0) 2025.03.19