♦ 자바의 연산자
연산자는 변수 또는 리터럴등과 같은 데이터의 피연산자에 대해 연산을 하기 위한 요소이다. 피연산자의 개수에 따라서 단항, 2항, 3항 연산자로 구분한다.
*리터럴 : 자바언어가 처리하는 실제 데이터
산술연산자
산술연산자는 2항 연산자로 피연산자에 대해 덧셈, 뻴셈, 곱셈, 나눗셈, 나머지를 구하기 위한 연산자이다.
+ | 덧셈 |
– | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나머지 |
비교연산자
비교연산자의 if 문, while문 같은 제어문에서 주로 사용되며 결과는 반드시 논리값(true, false)이다.
a==b | a와 b는 같은가 |
a>b | a가 b보다 큰가 |
a>=b | a가 b보다 크거나 같은가 |
a<b | a가 b보다 작은가 |
a<=b | a가 b보다 크거나 작은가 |
a!=b | a와 b가 같지 않은가 |
a instanceof b | a가 b의 인스턴스 타입인가 |
public class Test01 { public static void main(String[] args) { int a = 10; int b = 20; System.out.println( a == b); System.out.println( a > b); System.out.println( a >= b); System.out.println( a < b); System.out.println( a <= b); System.out.println( a != b); String str = "Hello World"; System.err.println( str instanceof String ); // str 이 String 의 인스턴스 타입인지 여부를 출력 } }
대입연산자
a=b | b를 a에 대입한다. |
a+=b | a와 b를 더해서 a에 대입한다 ⇒ a=a+b; |
a-=b | a에서 b를 빼서 a에 대입한다 ⇒ a=a-b; |
a*=b | a와 b를 곱해서 a에 대입한다 ⇒ a=a*b |
a/=b | a를 b로 나누고 a에 대입한다 ⇒ a=a/b |
a%=b | a를 b로 나눈 나머지를 a에 대입한다 ⇒ a=a%b |
public class Test01 { public static void main(String[] args) { int a = 10; int b = a; System.out.println( b ); b += a; System.err.println( b ); b -= a; System.err.println( b ); b *= a; System.err.println( b ); b /= a; System.err.println( b ); b %= a; System.err.println( b ); } }
증감연산자
변수 값을 1 증가하거나 1감소하는 경우에 사용하는 연산자이다. 단항연산자로서 변수의 앞 또는 뒤에 올 수 있다.
변수의 앞에 오면 전위 연산자라고 하며 변수의 값을 증가시키거나 감소시키고 난 후에 연산을 한다.
변수의 뒤에 오면 후위 연산자라고 하며 연산을 한 후에 변수의 값을 증가시키거나 감소시킨다.
++ | 값이 1증가 |
— | 값이 1감소 |
public class Test01 { public static void main(String[] args) { int a = 10; ++a; System.out.println( a ); a--; System.err.println( a ); } }
논리연산자
논리연산자의 연산결과는 반드시 논리값이다.
&& | AND 연산자 |
|| | OR 연산자 |
! | NOT 연산자 |
&& 와 || 연산자의 진리표
값 | && | || | |
true | true | true | true |
true | false | false | true |
false | true | false | true |
false | false | false | false |
&& 연산자는 피 연산자의 값이 모두 true 인 경우에만 true 가 된다.
|| 연산자는 피 연산자의 값이 모두 false 인 경우에만 false 가 된다.
NOT 연산자의 진리표
값 | ! |
true | false |
false | true |
! 연산자는 true 값을 false 값으로, false 값을 true 값으로 변경한다.
public class Test01 { public static void main(String[] args) { boolean a = true; boolean b = false; System.err.println( a && b); System.err.println( b && a); System.err.println( a || b); System.err.println( b || a); System.err.println( !a ); System.err.println( !b ); } }
3항 연산자
3항 연산자는 3개의 항으로 구성된다.
변수 = 조건식 값1 : 값2 ;
조건식이 true 면 값1 을 취하고, false 면 값2 를 취한다.
public class Test01 { public static void main(String[] args) { int a = 10; int b = 20; int c = ( a > b ) a : b; // a가 b보다 크면 a를 취하고, b보다 작으면 b를 취한다. System.out.println(c); } }