- : (-1) * 숫자
public class UnaryAddMin {
public static void main(String[] args) {
short num = 7;
short a = (short)(+num);
short b = (short)(-num);
System.out.println(a);
System.out.println(b);
}
}
[Console]
7
-7
public class PrefixOp {
public static void main(String[] args) {
int num = 7;
System.out.println(++num);
System.out.println(++num);
System.out.println(num);
}
}
[Console]
8
9
9
public class PostfixOp {
public static void main(String[] args) {
int num = 5;
System.out.print((num++) + " ");
System.out.print((num++) + " ");
System.out.print((num) + "\n");
System.out.print((num--) + " ");
System.out.print((num--) + " ");
System.out.print((num) + "\n");
}
}
[Console]
5 6 7
7 6 5
&(AND) : 둘 다 1이어야 1, 나머지는 0
|(OR) : 둘 다 0이어야 0, 둘 중에 하나라도 1이면 1
^(XOR) : 둘 중 하나만 1이어야 1, 둘 다 같은 숫자면 0 (배타적 연산)
~(NOT) : 0은 1, 1은 0
public class BitOperator {
public static void main(String[] args) {
byte n1 = 5; // 0000 0101
byte n2 = 3; // 0000 0011
byte n3 = -1; // 1111 1111
byte r1 = (byte)(n1 & n2); // 0000 0001
byte r2 = (byte)(n1 | n2); // 0000 0111
byte r3 = (byte)(n1 ^ n2); // 0000 0110
byte r4 = (byte)(~n3); // 0000 0000
System.out.println(r1);
System.out.println(r2);
System.out.println(r3);
System.out.println(r4);
}
}
[Console]
1
7
6
0
<< 숫자 : 숫자만큼 비트를 왼쪽으로 밀기
>> 숫자 : 숫자만큼 비트를 오른쪽으로 밀기
- 시프트 연산은 대입 연산이 아니므로, 변수 값이 그대로 있다.
public class BitShiftOp {
public static void main(String[] args) {
byte num;
num = 2; //0000 0010
System.out.print((num << 1) + " "); // 0000 0100
System.out.print((num << 2) + " "); // 0000 1000
System.out.print((num << 3) + " " + "\n"); // 0001 0000
num = 8; //0000 1000
System.out.print((num >> 1) + " "); // 0000 0100
System.out.print((num >> 2) + " "); // 0000 0010
System.out.print((num >> 3) + " " + "\n"); // 0000 0001
}
}
[Console]
4 8 16
4 2 1
\n : new line(개행)
\t : tab 삽입
\' : 작은따옴표
\" : 큰따옴표
public static void main(String[] args) {
int n1 = 5;
int n2 = 7;
//if문
if (n1 < n2) {
System.out.println("n1 < n2 is true");
}
//if~else문
if (n1 == n2) {
System.out.println("n1 == n2 is true");
} else {
System.out.println("n1 == n2 is false");
}
}
[Console]
n1 < n2 is true
n1 == n2 is false
public class average {
public static void main(String[] args) {
int ko = 100; // korean
int en = 90; // english
int ma = 0; // math
double aver = (ko + en + ma) / (double)3; // average
System.out.println("평균 : " + aver);
if (aver >= 90) {
System.out.println("수 입니다.");
} else if (aver >= 80) {
System.out.println("우 입니다.");
} else if (aver >= 70) {
System.out.println("미 입니다.");
} else if (aver >= 60) {
System.out.println("양 입니다.");
} else {
System.out.println("가 입니다.");
}
}
}
public static void main(String[] args) {
int a = -80;
int b = 33;
int c = 55;
int num = 0;
if(a > b) { // a가 b보다 클 경우
num = a;
}else{ // a가 b보다 작을 경우
num = b;
}
if(num < c) { // c가 num보다 큰 경우
num = c;
}
System.out.println(num);
}