논리부정 연산자

논리값(true/false)을 반대로 바꾸는 연산자
->결과도 논리값으로 나온다.

boolean b1 = !(5 > 3); // true -> false

증감 연산자

++ : 변수에 담긴 값을 1증가시켜주는 연산자

-- : 변수에 담긴 값을 1감소시켜주는 연산자

 * (증감연산)변수 : 전위연산 -> "선증감" 후처리
 * 변수(증감연산) : 후위연산 -> 선처리 "후증감"

ex)

System.out.println(num1++);// 0(1)
System.out.println(++num1);// 2(2)
System.out.println(num1--);// 2(1)
System.out.println(++num1);// 2(2)
System.out.println(++num1);// 3(3)
System.out.println(num1++);// 3(4)
System.out.println(num1--);// 4(3)
System.out.println(--num1);// 2(2)
System.out.println(--num1);// 1(1)

산술연산자

+ - * / %

복합 대입 연산자

산술연산자와 대입연사자를 결합해서 사용할 수 있다.

+= /+ -= *= %=

int a = 5;
		int b = 10;
		int c = (++a) + b; //a = 6 , b = 10,  c = 16
		int d = 16 / 6; // d = 2
		int e = c % a; // e = 4
		int f = e++; // f = 4, e = 5
		int g = (--b) + (d--); // b = 9, d = 2(1), g = 11
		int h = 2; // a=6, b=9, c=16, d=1, e=5, f=4, g=11, h=2
		
		int i = (a++) + b / (--c / f) * (g-- - d) % (++e + h);
		//        6   + 9 /   (15 / 4) * (11 - 1) % (6 + 2);
		//		  6   + 9 / 	3      *  10    %   8
		//		  6   + 3 * 10 % 8
		//		  6   + 30 % 8
		//		  6   + 6
		//		  12

비교연산자 / 관계연산자

비교연산자
-두값을 비교하는 연산자
-비교연산자는 조건을 만족하면 true(참), 만족하지 않으면 false(거짓)를 반환
즉, 비교연산의 결과는 논리값

대소비교연산 : < , > , <= , >=
동등비교연산 : == , !=

String(문자열)은 단순하게 ==로 동등비교할 수 없다.
참조변수(객체를 담는 변수) 이기 때문이다.

String 비교시에는
문자열.equals(문자열);

논리연산자

두개의 논리값을 연산해주는 연산자
논리연산한 결과도 논리값이 된다.

 * 논리값 && 논리값 : 왼쪽, 오른쪽에 두 논리값이 모두 true일 때만 결과가 true	이다.
 * 논리값 || 논리값 : 왼쪽, 오른쪽 두 값중 하나라도 true라면 결과는 true가 된	다.

&&

  • true && ture -> true;
  • true && false -> false;
  • false && ture -> false;
  • false && false -> false;
  • => 앞의 결과가 false일 경우 뒤의 조건은 굳이 실행하지 않는다.

||

  • true || ture -> true;
  • true || false -> true;
  • false || ture -> ture;
  • false || false -> false;
  • => 앞의 결과가 true일 경우 뒤의 조건은 굳이 실행하지 않아도 된다.

삼항연산자

표현식

조건식 ? 조건식이 참일경우 결과값 : 조건식이 거짓일 경우 결과값

 * 이때, 조건식은 반드시 true 또는 false가 나오는 논리값이여야한다.
 * 주로 비교, 논리연산자를 통해서 작성
 

0개의 댓글