==, != 연산자는 변수의 값이 같은지, 아닌지 확인 가능하다. 참조 타입 변수의 값은 객체의 번지이므로 ==, != 연산자는 번지를 비교할 수 있다. 번지가 같다면 동일한 객체를 참조하는 것, 다르면 다른 객체를 참조하는 것이다. 예제 코드 public static void main(String[] args) { int[] arr1; int[] arr2; int[] arr3; arr1 = new int[]{1, 2, 3}; arr2 = new int[]{1, 2, 3}; arr3 = arr2; System.out.println("arr1 == arr2 : " + (arr1 == arr2)); // false System.out.println("arr2 == arr3 : " + (arr2 == arr3..
연산자는 우선순위 및 연산 방향이 정해져 있어 복잡한 연산식에서는 주의가 필요하다. 연산자 연산 방향 우선순위 증감(++, --), 부호(+, -), 비트(~), 논리(!) ⬅️ 높음 ⬇️ 낮음 산술(*, /, %) ➡️ 산술(+, -) ➡️ 쉬프트(, >>>) ➡️ 비교(, =, instanceof) ➡️ 비교(==, !=) ➡️ 논리(&) ➡️ 논리(^) ➡️ 논리(|) ➡️ 논리(&&) ➡️ 논리(||) ➡️ 조건(?:) ➡️ 대입(=, +=, -=, *=, /=, %=, &=, ^=, |=, =, >>>=) ⬅️ 표를 숙지했다 하더라도 여러가지 연산자들이 섞여 있다면 어느 연산자가 먼저 처리될지 알기 어려우니 먼저 처리해야 할 연산을 괄호()로 묶는 것을 추천한다. 괄호()는 최우선 순위를 가지기..
산술 연산식에서 피연산자로 사용되는 경우 정수 타입 자바에서는 피연산자를 4byte 단위로 저장하기 때문에 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int보다 작은 byte, char, short 타입 변수는 int 타입으로 자동 변환이 되어 연산을 수행한다. byte x = 10; byte y = 20; byte result = x + y; //error byte x = 10; byte y = 20; int result = x + y; // 30 byte 변수 x, y가 피연산자로 사용되면 변수값은 int 타입으로 연산되고 결과도 int 타입으로 생성된다. 결과값을 byte 변수에 저장할 수 없고, int 변수에 저장해야 한다. 정수 연산식에서 모든 변수가 int 타입으로 변환되는 것은 아..