연산자
단항 연산자
이항 연산자
-산술 연산자(사칙연산)
-비교 연산자
-논리 연산자(참, 거짓)
대입 연산자
-순수 대입
-복합 대입
나열 연산자
단항 연산자
증감 연산자 : ++(가지고 있는 값이 +1),--(가지고 있는 값이 -1)
1.피연산자의 값에 1을 더하거나 빼는 연산자. 위치에 따라 결과 값이 다르게 나타난다.
ex) a + b (+ : 연산자, a,b : 피연산자)
2.전위 연산 : 먼저 연산 후 다른 연산 실행
ex) ++a, --a
3.후위 연산 : 다른 연산 우선 실행 후 연산
ex) a++, a--
논리 값을 부정하여 반대 값으로 변경한다. 제어문을 활용할 때 많이 쓰인다.
ex) boolean bool1 = true;
boolean bool2 = !bool1;
System.out.println(bool2); -> false
일반 수학과 동일한 연산 방법, 우선순위.
단, %(모듈러, Modular)는 나누기의 나머지 값을 구하는 연산이다.
* / % 연산자 예시
int a = 10, b = 20, c = 0;
c = a * b; -> 200
c = a / b; -> 0.5
c= a % b; -> 10
+ - 연산자 예시
int a = 10, b = 20, c = 0;
c = a + b; -> 30
c = a - b; -> -10
'/' 연산 시 형 변환에 유의해야 한다.
데이터가 같은지, 다른지 비교할 때 쓰이며 항상 논리 값(true, false)이 결과 값이다.
모든 자료형(기본형, 참조형) 사용 가능하다. *참조형은 주소값이 같은지 비교
ex) a == b : a와 b가 같으면 true
a != b : a와 b가 다르면 true
두 피연산자의 값의 크기 비교
: 기본형 boolean과 참조형을 제외하고 나머지 자료형에 모두 사용 가능하다.
논리 값 두 개를 비교하는 연산자
&& : 두 피연산자가 모두 true일 때 true 반환(AND)
|| : 두 피연산자 중 하나만 true여도 true 반환(OR)
컴퓨터는 논리연산을 검사할 때 short cut 연산을 한다.
따라서 앞의 값이 true라면 뒤의 값은 검사하지 않고 짧게 끊어버린다
다른 연산자와 대입 연산자가 결합한 것.
자기 자신과 연산 후 연산 결과를 자기 자신에게 누적 대입한다.(코드가 간결하여 메모리에 직접 연산을 수행하여 연산속도가 빠르다.)
ex) a += 10 -> 10에 a을 더하고 그 값을 다시 a라는 변수에 대입(피연산자들의 결합방법은 오른쪽에서 왼쪽)
*증감 연산과 비슷해 보이지만 증감연산자(++, --)는 1씩 증가, 감소하는 것이고,
대입 연산자는 원하는 값을 증가시키고 그 변수에 저장 가능하다.
조건식의 결과 값에 따라 연산을 처리하는 방식으로 결과 값이 참일 경우 식1, 거짓일 경우 식2 실행.
삼항 연산자 안에 삼항 연산자를 중첩하여 쓰는 것도 가능하다.
ex) int result1 = a > b ? a++ : b--; -> a가 b보다 크다면 a++실행, 작다면 b--실행
int result2 = a < b ? a++ : (b == 0 ? a-- : b++); -> a가 b보다 작다면 a++실행, 크다면 중첩된 삼항 연산자의 식을 실행