Operator
✅ 단항연산자 Unary Operator
difference between X++
VS ++X
둘 다 X의 값을 1씩 증가시키는데, 그 시기가 다르다.
X++
은 증가시킨 후 그 값을 이후부터 적용,
X++ 다음부터
++X
는 미리 증가시켜서 바로 적용.
지금 당장 ++X
1
2
3
4
5
6
7
8
9
int x1 = 3;
int y1= 3;
int x2 = x1++; // x1은 4, x2는 아직 3
int y2 = ++y1; // y1은 4, y2는 이미 4
int z1 = (x2 * y2); // 3 곱하기 4= 12
int z2 = (x2-- * --y2); // 3곱하기 3= 9
1
2
3
4
5
6
int x = 1;
// 메서드 안으로도 '반환'되어 사용되는 것
System.out.println(x++); //print 1, 그 다음 코드부터 x는 2가 되었을 것
System.out.println(++x); // print 3, 위 코드에서 x는 2가 되었는데, 앞에 ++이 붙으면 바로 1씩 증가시켜 적용
System.out.println(x); //print 3
✅ 논리연산자
a &
b
1&1= 1
1&0= 0
0&1= 0
0&0= 1
주어진 숫자들의 이진값을 계산
1
2
3
4
5
System.out.println(10 & 12);
// 8을 반환합니다.
//10= 1010
//12= 1100
//따라서 1000 = 8
a &&
b AND
a와 b가 모두 true일때만 true 반환
a ||
b OR
a와 b 중 하나만 true면 true 반환
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
boolean eventTime= true;
boolean instagram= true;
boolean regram= true;
boolean comment= true;
if(eventTime){
if(instagram){
if(regram){
if(comment){
System.out.println("참여 가능");
}else{
System.out.println("참여 불가능");
}
}else{
System.out.println("참여 불가능");
}
} else{
System.out.println("참여 불가능");
}
} else{
System.out.println("참여 불가능");
}
//이렇게 긴 코드를 논리연산자로 쓰면 다음과 같다.
//boolean있을 때는 논리연산자 사용을 강추!
if(eventTime && instagram && regram && comment){
System.out.println("참여 가능");
}else{ System.out.println("참여 불가능");
}
✅ short circuit 단축평가
&&
: 앞이 false이면 뒤에 것을 평가할 필요 없음, 무조건 false
||
: 앞이 true이면 무조건 true
✅ 삼항연산자
- a
?
b:
c- a : 불리언 값
- b : a가
true
일 때 반환될 값 - c : a가
false
일 때 반환할 값
- a : 불리언 값
1
2
milk= (thereIsAvocado) ? 6:0
//우유의 개수는, 아보카도가 있으면 6개, 없으면 0개
This post is licensed under CC BY 4.0 by the author.