자바

자바 3회차

코딩만만세 2024. 4. 30. 15:07




* 형 변환(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형 조건식이 들어갑니다.




★★★★★★★★계산순서★★★★★★★★
- 소괄호 > 단항 > 이항 > 삼항 >대입






'자바' 카테고리의 다른 글

자바 6회  (0) 2024.04.30
자바 5회차  (0) 2024.04.30
자바 4회  (0) 2024.04.30
자바 2회차  (0) 2024.04.30
* 자바의 특징(Write once. run every where)  (0) 2024.04.30