[Java] 자바의 연산자에 대한 간단한 이해

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

}

 

답글 남기기