* 연산자 : 연산을 수행하는 기호
- 연산자 : 연산을 수행하는 기호(+ - * 등)
- 피연산자 : 연산자의 작업 대상 (상수, 변수..)
* 연산자의 우선순위
- 산술 > 비교 > 논리 > 대입 , 대입은 제일 마지막에 수행
- 단항 > 이항 > 삼항, 단항 연산자의 우선순위가 이항 연산자보다 높음
- 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽 -> 오른쪽
1. 증감 연산자 : ++ --
- 피연산자에 저장된 값을 1 증가 또는 감소
전위형 : 값이 참조되기 전에 증가
ex. j = ++i;
후위형 : 값이 참조된 후에 증가
ex. j = i++;
2. 산술연산자
1) 사칙 연산자(+ - / * )
2) 나머지연산자(%) ----> 나머지 값을 결과로 반환
int a = 13;
int b = 2
System.out.println(" a%b = " + a%b); // 결과값 a % b = 1
2. 비교연산자 : 크고 작음과 같고 다름을 비교
1) 대소비교 연산자 : <, >, <=, >=
2) 등가비교 연산자 : ==, !=(다르면 true)
** 문자열 비교시 '=='연산자 대신 equals() 메소드 사용해야 함
3. 논리 연산자 : &&(and) , ||(or) , !(not) - > 비교 연산자를 통한 연산이 2개 이상 필요할 때 사용함
1) 논리연산자 : &&, ||, !
- AND 연산자인 &&은 양쪽이 모두 같으면 true, 다르면 false
- OR 연산자인 ||은 어느 한쪽이 'true'여도 'true'로 반환
4. 대입 연산자 : 우변의 값을 좌변에 저장 (+=, -=, *=, /= ....)
x = y =1;
y =1 ---> x = y 순서로 저장
int a = 10;
int b = 20;
System.out.println("a += b : " + (a +=b)); // a = a+ b 과 같은 의미
System.out.println("a -= b : " + (a -=b)); // 위에서 a는 30으로 바뀜 a = a-b
System.out.println("a *= b : " + (a *=b)); // 10 * 20
System.out.println("a /= b : " + (a /=b)); //200 / 20
5. 비트 연산자 : &, |, ^, ~, <<, >>
- 비트 연산자는 피연산자를 비트단위로 연산
- 피연산자를 이진수로 표현했을 때의 각 자리를 아래의 규칙에 따라 수행한다.
&(AND) 연산자 : 피연산자 중 양쪽 값이 1이어야만 1, 아니면 0
|(OR) 연산자 : 피연산자 중 한쪽 값이 1이면, 1을 얻고, 그 외에는 0
^(XOR) 연산자 : 피연산자의 값이 서로 다를 때만 1, 아니면 0
6. 시프트 연산자 : >> , << , >>> --> 오른쪽 또는 왼쪽으로 이동시켜 값 변화 줌
int a = 7; // 111
int b =2; // 10
int c = a >> b; //1. ---> 오른쪽으로 2만큼 옮김(0111 -> 0001)
int d = a<<b; //28 ---> 왼쪽으로 2만큼 옮김(0111-> 0001 1100)
즉, x << n은 x * 2^n
x >> n은 x / 2^n
7. 삼항 연산자 : ? , : -- 하나의 조건을 정의하여 그 조건이 참일 경우 true , 거짓일 경우 false 나타내는 연산자
int n1 = 10; int n2 = 20; char result2;
result2 = (n1 += n1) == n2 ? 'O' : 'X';
System.out.println("result2 : " + result2); // n1 += n1 =20 이므로 20 == 20 은 참이므로 O
참조 : 자바의정석(남궁성)
'JAVA' 카테고리의 다른 글
JAVA_배열(Array) 1 (0) | 2021.07.27 |
---|---|
JAVA_도형 만들기(반복문) (0) | 2021.07.25 |
JAVA_반복문(for, while, do-while) (0) | 2021.07.25 |
JAVA_반복문(if, switch) (0) | 2021.07.24 |
JAVA_기본 개념 (0) | 2021.07.15 |
댓글