코드네임 :

JAVA 1주차 (형변환과 연산자) 본문

👾Android/JAVA

JAVA 1주차 (형변환과 연산자)

비엔 Vien 2024. 3. 13. 15:18

반드시 클래스가 하나이상 필요

클래스의 첫글자는 대문자로

 

byte < short/char < int < long < float <double

 

자동형변환 (작은게 큰거로)

byte =  1;

=> byte가 int로 자동형변환

short a= 1;
short b= 2;
short res1 = a + b; // 오류남!!!! 왜냐면 a,b가 int로 자동형변환 되었기 때문
int res2 = a + b; //correct! 3

 

 

강제형변환 (casting) (큰 to 작)

- 값 손실 가능

큰거타입 작은거이름 = (작은거타입) 큰거이름;

 


⭐️

일단 ++연산자가 나오는 부분은 전부 실행됨!!!!! (예시 a,b)

그리고 후위연산자가 써있는 걸 더하는 거면 원본을 더함 (예시 c)

int a=1, b=3, c=0;

c = a++ + ++b;

System.out.println(c); // >>> 1 + 4 = 5
System.out.println(a); // >>> 2
System.out.println(b); // >>> 4

 

 

⭐️

쇼트서킷 -> (논리연산자로) 연산 수행 시 결과가 이미 확정된 경우 나머지 연산과정을 수행하지 않음

(즉 AND의 선조건이 false, OR의 선조건이 true인 경우 / XOR은 두조건 모두 살펴봄) 

 

⬇️

<논리연산자를 이용한 논리연산> -> 쇼트서킷 발생@@@@

int a=3, b=3, c=3
System.out.println(false && a++); /// >>> false
System.out.println(true || b++); /// >>> true
System.out.println(true ^ b++); /// >>> true

System.out.println(a); /// >>> 3
System.out.println(b); /// >>> 3
System.out.println(b); /// >>> 4

 

vs

<비트연산자를 이용한 논리연산> -> 조건 모두 검사@@@

int a=3, b=3, c=3
System.out.println(false & a++); /// >>> false
System.out.println(true | b++); /// >>> true
System.out.println(true ^ b++); /// >>> true

System.out.println(a); /// >>> 4
System.out.println(b); /// >>> 4
System.out.println(b); /// >>> 4

 

'👾Android > JAVA' 카테고리의 다른 글

JAVA - 생성자  (0) 2024.04.18
JAVA - 클래스  (0) 2024.04.04
JAVA - 다차원배열 / for~each 문  (0) 2024.03.28
JAVA 2주차 (문자열과 1차원배열)  (1) 2024.03.21
Java.. (그냥 학교 수업 나가면서 같이 할듯)  (1) 2024.03.06