코드네임 :
JAVA 1주차 (형변환과 연산자) 본문
반드시 클래스가 하나이상 필요
클래스의 첫글자는 대문자로
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 |