== 산술 연산자, 증가/감소 연산자 ==
1
1
2
2
2
1
0
0
0
== 관계 연산자 ==
true
false
false
true
== 논리 연산자 ==
false
true
== 복합 대입 연산자 ==
15
10
20
2
== 삼항 연산자 ==
aResult = yes
public class Main {
public static void main(String[] args) {
// 1. 비트 논리 연산자
System.out.println("== 비트 논리 연산자 ==");
// 1-1. AND 연산자 (&)
int num1 = 5;
int num2 = 3;
int result = 0;
result = num1 & num2;
System.out.println(result);
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num2)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result)));
// 1-2. OR 연산자 (|)
num1 = 5;
num2 = 3;
result = num1 | num2;
System.out.println(result);
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num2)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result)));
// 1-3. XOR 연산자 (^)
num1 = 5;
num2 = 3;
result = num1 ^ num2;
System.out.println(result);
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num2)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result)));
// 1-4. 반전 연산자 (~)
num1 = 5;
result = ~num1;
System.out.println(result);
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1)));
System.out.printf("%s\n", (Integer.toBinaryString(result)));
// 2. 비트 이동 연산자
System.out.println("== 비트 이동 연산자 ==");
// 2-1. << 연산자
int numA = 3;
result = numA << 1;
System.out.println(result);
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(numA)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result)));
// 2-2. >> 연산자
numA = 3;
result = numA >> 1;
System.out.println(result);
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(numA)));
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result)));
// 2-3. >>> 연산자
numA = -5;
result = numA >> 1;
System.out.println(result);
System.out.printf("%s\n", (Integer.toBinaryString(numA)));
System.out.printf("%s\n", (Integer.toBinaryString(result)));
numA = -5;
result = numA >>> 1;
System.out.println(result);
System.out.printf("%s\n", (Integer.toBinaryString(numA)));
System.out.printf("%s\n", (Integer.toBinaryString(result)));
}
}
== 비트 논리 연산자 ==
1
0101
0011
0001
7
0101
0011
0111
6
0101
0011
0110
-6
0101
11111111111111111111111111111010
== 비트 이동 연산자 ==
6
0011
0110
1
0011
0001
-3
11111111111111111111111111111011
11111111111111111111111111111101
2147483645
11111111111111111111111111111011
1111111111111111111111111111101
Leave a comment