* 형 변환(type casting)
- 데이터의 크기
# byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)
- float은 4바이트인데 long보다 큰 타입인 이유는 표현할 수 있는 값의 경우의 수가 float이 더 크기 때문입니다.
- 크기가 작은 데이터 타입을 크기가 큰 데이터 타입으로 변환할 때는 캐스트 연산자를 사용하지 않아도 컴파일러에 의해 자동으로 형 변환이 일어납니다.(자동 형 변환: Promotion)
- 크기가 큰 데이터 타입을 크기가 작은 데이터 타입으로 변환할 때는 반드시 캐스트 연산자를 사용하여 변환할 데이터 타입을 명시해야 합니다.(강제 형 변환: Type Casting). 그렇지 않으면 컴파일시 오류가 발생합니다.
- 서로 다른 타입의 데이터의 연산을 진행할 경우 두 데이터 중 큰 데이터 타입을 가진 쪽에 맞추어 자동 형 변환된 후 연산을 진행합니다.
- int형보다 작은 데이터타입의 연산을 진행할 경우 자동으로 int형으로 형 변환이 이루어집니다.
* 연산자(Operator)
- 연산자는 변수의 값을 변경하거나 대입하는데 사용됩니다.
- 자바에서는 연산자에 따라 연산 대상이 될 수 있는 데이터 타입이 정해져 있습니다.
- 오버플로(overflow) 또는 언더플로(underflow) 등 범위를 벗어나는 연산들에 대해서는 연산 결과에 불필요한 값이 저장됩니다.
- 0으로 나눌 경우는 오류가 발생합니다.
* 단항 연산자(Unary Operator)
- 단항 연산자는 피 연산자가 하나인 연산자를 말합니다.
- 단항 연산자의 종류
1. 변수의 앞이나 뒤에 붙어서 변수 값을 하나 증가시키거나, 감소시키는 증/감 연산자(++, --)
2. 양수와 음수를 나타내는 부호 연산자(+, -)
3. 비트의 값을 바꿔주는 비트 반전 연산자(~)
4. 논리대수의 값을 반전시켜주는 논리 반전 연산자(!)
5. 데이터 타입을 바꿔주는 캐스트연산자 ( (type) )
* 2항 연산자(Binary Operator)
- 2항 연산자는 피 연산자(Operand)가 두 개인 연산자를 의미합니다.
- 연산자가 int형(4byte)보다 작은 크기의 데이터 타입인 경우에 boolean형을 제외하고 모두 int형으로 자동 형 변환되어 연산을 수행합니다.
- 2항 연산자의 종류
1. 산술 연산자 ( +, -, *, /, % )
- 나머지 연산은 결과가 항상 정수입니다.
2. 비교 연산자 ( <, <=, >, >=, ==, != )
- 비교 연산자의 결과 값은 크기 값을 비교하여 조건을 만족하면 true 그렇지 않으면 false를 반환합니다.
- 만약 비교되는 숫자의 데이터 타입이 다를 경우 기본적으로 크기가 큰 데이터 타입에 맞추어 비교 연산을 실행합니다.
3. 비트 연산자 ( &, |, ^ )
- 비트 연산자는 두 수를 각각 2진수로 변환하여 두 수의 각 비트 연산을 수행합니다.
a. & (비트곱): 두 비트가 1일 때 1, 나머지는 0.
b. | (비트합): 두 비트 중 하나 이상이 1이면 1, 두 비트 모두 0이면 0.
c. ^ (xor 배타적 논리합): 두 비트가 다르면 1, 같으면 0.
4. 비트 이동 연산자 ( <<, >> )
- 왼쪽 항의 값을 2진수로 변환하여 오른쪽 항의 값만큼 비트를 왼쪽(<<), 오른쪽(>>)으로 이동시키는 연산을 수행한다.
ex) int a = 192;
00000000 00000000 00000000 11000000
a << 3
00000000 00000000 00000110 00000000 //1536
5. 논리 연산자 ( &, |, &&, || )
a. & : 연산을 수행하여 양쪽 항이 모두 true일 때만 true를 반환합니다.
b. | : 연산을 수행하여 양쪽 항 중 한쪽만 true를 만족해도 true를 반환합니다.
c. && : 만일 왼쪽 항이 false일 경우에는 오른쪽 항을 수행하지 않고 무조건 false를 반환합니다.
d. || : 만일 왼쪽 항이 true일 경우에는 오른쪽 항을 수행하지 않고 무조건 true를 반환합니다.
- &&, ||을 short circuit operator라고 부릅니다.
* 대입 연산자(Assignment Operator)
- 대입 연산자의 기본형은 '=' 이고, 추가로 발전된 형태의 대입 연산자들이 있습니다.
- +=, -=, *=, /=, %=
* 3항 연산자
- 피 연산자가 3개인 연산자를 말합니다.
- ( 조건식 ? 연산식1 : 연산식2 )
: 조건식의 결과값이 참이면 연산식1, 거짓이면 연산식2를 실행하라.
- 조건식에는 boolean형 조건식이 들어갑니다.
★★★★★★★★계산순서★★★★★★★★
- 소괄호 > 단항 > 이항 > 삼항 >대입