♦ 자바의 연산자
연산자는 변수 또는 리터럴등과 같은 데이터의 피연산자에 대해 연산을 하기 위한 요소이다. 피연산자의 개수에 따라서 단항, 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);
}
}