<순위가 높은 순서대로>
* 최 우선연산자 : ()
* 단 항연산자 : !
* 산 술연산자 : + - * / %
* 쉬 프트연산자 : << >> >>>
* 관 계연산자 : > < >= <= == !=
* 논 리연산자 : && || !
* 삼 항연산자 : 조건식 ? 값1: 값2
* 대 입연산자 : =
1. + (더하기)
- String타입이 덧셈에 사용되면 결과는 String타입으로 나온다(자동 형변환)
- char타입이 덧셈에 사용되면 각각의 문자에 해당하는 아스키코드값으로 계산되기
때문에 int타입이라고 봐도 무방하다.
---------------------------------------------------------------
2. - (빼기)
- String타입은 뺼셈 연산 불가능.
- char타입은 아스키코드에 부여된 int값으로 해석함.
---------------------------------------------------------------
3. * (곱하기)
- String타입은 곱셈 연산 불가능.
- char타입은 아스키코드에 부여된 int값으로 해석함.
---------------------------------------------------------------
4. / (나누기)
- string타입은 나눗셈 연산 불가능.
- char타입은 아스키코드에 부여된 int값으로 해석함.
- 0으로는 나눌 수 없다. (오류발생)\
- int / int = int (몫)
---------------------------------------------------------------
5. % (나머지 연산자)
- 나머지를 계산하는 연산자이다.
ex) 10 % 3 = 1 (나머지)
---------------------------------------------------------------
※ 프로그램에서의 연산은 2진수로 변환되어 이루어진다.
실수는 2진수로의 변환이 되지 않기 떄문에, 실수의 나눗셈은 오차가 발생한다.
( + = - ) < ( * = / = % )
-> 연산자가 여러개 사용되었을 경우, 연산자의 우선순위에 따라 해석한다.
연산자의 우선순위가 같다면 앞에서부터 해석한다.
= 연산결과는 boolean 값으로 나온다.
1. a > b
= a가 b보다 크니? 맞으면 true, 아니면 false.
2. a < b
= a가 b보다 작니? 맞으면 true, 아니면 false.
3. a >= b
= a가 b보다 크거나 같니? 맞으면 true, 아니면 false.
4. a <= b
= a가 b보다 작거나 같니? 맞으면 true, 아니면 false.
5. a == b
= a가 b랑 같니? 맞으면 true, 아니면 false.
= 피연산자 자리에 boolean타입의 값이 들어가고, 연산 결과도 boolean타입이다.
1. a && b (and 연산)
= a도 true 그리고 b도 true라면 결과는 true, 아니면 false.
2. a || b (or 연산)
= a 혹은 b 둘 중 하나라도 true라면 결과는 true, 아니면 false.
3. !a (not 연산)
= a가 true라면 결과는 false, false라면 결과는 true.
= 조건에 따라서 다른 값이 결과로 나와야 할 떄 사용한다.
-> 조건식 ? 값1 : 값2
= 조건식 자리값이 true라면 결과는 값1, false라면 결과는 값2.
※ 조건식
= 참 또는 거짓을 판별할 수 있는 식.
조건식 자리에는 boolean타입 값이 와야한다.
1. +=
2. -=
3. *=
4. /=
5. %=
ex) num = num + 5; (=) num += 5;
1. 후위형 (현재 변수의 값을 먼저 수식에 적용하고, 후에 변수에 대한 1증가를 처리한다.)
* num++ (=) num += 1 (=) num = num + 1
* num-- (=) num -= 1 (=) num = num - 1
2. 전위형 (현재 변수의 값을 1증가 시킨 후, 그 결과를 수식에 적용한다.)
* ++num
* --num
* instanceof
-> 사용법 : 객체 instanceof 클래스
해석 : 해당 객체가 클래스타입의 인스턴스라면 true, 아니면 false.