Java

[Java] 연산자

noobdev 2019. 11. 17. 17:15

자바 연산자는 앞서 포스팅한 자바스크립트 연산자와 거의 같다고 생각하면 된다.

자바스크립트 연산자

 

[JavaScript] 연산자

연산자란 프로그래밍 언어에서 말그대로 연산을 위해 쓰이는 문법이다. 연산자는 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 산술 연산과 문자 결합 연산, 증감, 비교, 논리, 삼항 조건 연산자등 다양한 연산자가 있다. 산..

kj99658103.tistory.com


피연산자 개수에 의한 연산자 구분

  • 단항 연산자 : 피연산자가 하나 존재
+x, -x, !x

 

  • 이항 연산자 " 피연산자가 두개 존재
x = y ,  x < y,  x != y

 

 

  • 삼항 연산자
조건식 : true ? false

삼항 연산자는 조건식이 true인 경우 true에 해당하는 코드를 실행하고, false인 경우 false에 해당하는 코드를 실행한다.

 

 


1. 대입 연산자

int x = 10;
int y = 20;

// 대입 연산자
System.out.println("x = " + x);
System.out.println("y = " + y);

대입 연산자는 연산자 기준으로 오른쪽에 있는 값을 왼쪽의 변수에 대입하는 연산자이다.

 


 

산술 연산자

수학 연산과 같이 피연산자를 이용하여 + , - , * , / , % 등의 연산을 한다.

int x = 10;
int y = 20;

// 산술 연산자
System.out.println("x + y = " + (x + y));
System.out.println("x - y = " + (x - y));
System.out.println("x * y = " + (x * y));
System.out.println("x / y = " + (x / y));
System.out.println("x % y = " + (x % y));

 

 


2. 복합 대입 연산자

산술 연산자와 대입 연산자를 결합한 연산자이다.

// 복합대입 연산자
x = 10;
System.out.println("x += 10 : " + (x += 10));
x = 10;
System.out.println("x -= 10 : " + (x -= 10));
x = 10;
System.out.println("x *= 10 : " + (x *= 10));
x = 10;
System.out.println("x /= 10 : " + (x /= 10));
x = 10;
System.out.println("x %= 10 : " + (x %= 10));

x += 10 의 의미는 x = x + 10; 과 같으며 나머지 연산자도 같은 형식이다.

ex ) x -= 10;  ==  x = x - 10;  ,    x *= 10;  ==  x = x * 10;

 

 


3. 관계 연산자

두개의 피연산자를 비교해서 true / false를 구분한다.

// 관계 연산자
x = 10; y = 20;
System.out.println("x > y : " + (x > y));	//fasle
System.out.println("x < y : " + (x < y));	//true	
System.out.println("x >= y : " + (x >= y));	//false
System.out.println("x <= y : " + (x <= y));	//true
System.out.println("x == y : " + (x == y));	//false
System.out.println("x != y : " + (x != y));	//true

x 와 y 를 비교한 결과를 리턴한다.

 

 


4. 증감 연산자

1만큼 증가하거나 감소를 수행하며 반복문 등에서 많이 쓰인다.

// 증감 연산자
x = 10;
System.out.println("++x : " + (++x));	//11
x = 10;
System.out.println("--x : " + (--x));	//9
x = 10;
System.out.println("x++ : " + (x++));	//10
System.out.println("x : " + x);	//11
x = 10;
System.out.println("x-- : " + (x--));	//10
System.out.println("x : " + x);	//9

 ++x의 경우 그 행에서 바로 값이 증가하며 x++는 다음행으로 넘어갈 때 값이 증가한다.

 

 


논리 연산자

피연산자의 논리곱(AND), 논리합 (OR), 논리 부정(NOT)을 수행한다.

// 논리 연산자
boolean b1 = false;
boolean b2 = true;
System.out.println("b1 && b2 : " + (b1 && b2));	//AND연산 둘 중 하나라도 false 면 false를 리턴
System.out.println("b1 || b2 : " + (b1 || b2));	//OR 연산 둘 중 하나라도 ture면 true를 리턴
System.out.println("!b1 : " + !b1);	//논리부정 true면 false 를 false면 true를 리턴
System.out.println("!b2 : " + !b2);	//논리부정 true면 false 를 false면 true를 리턴

 

 


삼항 연산자

조건 연산자라고도 불리며 조건식을 비교해서 true면 첫 번째 코드를 false면 두 번째 코드를 실행한다.

// 조건(삼항) 연산자
x = 10; y = 20;
int result = 0;
result = (x > y) ? 100 : 200;	
System.out.println("result : " + result);	//200
result = (x < y) ? 100 : 200;
System.out.println("result : " + result);	//100
result = (x == y) ? 100 : 200;
System.out.println("result : " + result);	//200

조건식 ? 식1 : 식2 의 형식을 띈다.

 

 


비트 연산자

데이터를 비트(bit)단위로 환산하여 연산하고 다른 연산자보다 연산 속도가 빠르다.

  • & : AND 연산 
  • | : OR 연산 
  • ^ : XOR 연산 
// 비트 연산자
x = 2;
y = 3;
System.out.println("x & y : " + (x & y));
System.out.println("x | y : " + (x | y));
System.out.println("x ^ y : " + (x ^ y));

 

 

 

 

 

"본 포스팅은 필자가 공부한 것을 정리해 놓은 것으로 인프런 "자바 프로그래밍 입문 강좌"의 강의자료를 참고하였습니다"