반응형
안녕하세요
앞서서 나온 Java의 연산자 그 두번째 편입니다.
5. 비트연산자
1
2
3
4
5
6
7
8
|
int a = 10;//1010
int b = 7;//0111
int c = a & b;
System.out.println("논리곱 : " + c);
c = a | b;
System.out.println(" 논리합 : " + c);
c = a ^ b;
System.out.println("xor : " + c);
|
cs |
논리연산자와 유사하지만 bit단위(2진수)의 연산만 가능하다
일반적으로 시프트연산자와 함께 암호화, 복호화 작업에 사용되는 경우가 많다.
논리곱(and) : 2진수로 변환시 두 값이 모두 1일때만 1, 나머지는 0
논리합 (or) : 2진수로 변환시 두 값이 0일때만 0, 나머지는 1
베타적or : 2진수로 변환시에 값이 같으면 0 다르면 1
6.시프트 연산자
1
2
3
4
5
6
7
|
int n = 12; //1100
int res = n >> 2;
System.out.println(res);
char ch = 'F';//1000110
char ch_res = (char)(ch >> 1);
System.out.println(ch_res);
|
cs |
2진수 단위의 연산을 수행하되 오른쪽이나 왼쪽으로 이동해 값에 변화를 준다.
7. 증감연산자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
int a = 10;
System.out.println("a : " + ++a);
int b = 10;
System.out.println("b : " + b++);
System.out.println(b);
--b;
--b;
b++;
b--;
++b;
b++;
--b;
System.out.println(b++);
System.out.println(b);
|
cs |
1씩 증가시키거나, 1씩 감소시키는 연산자
선행증감과 후행증감의 차이점을 알아야한다!!
8.삼항(조건)연산자
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int a = 10;
int b = 15;
boolean res = ++a >= b ? true : false;
System.out.println("++a >= b :" + res);
int i1 = 5;
int i2 = 10;
int res2 = (i1 += i1) == i2 ? 100 : 200;
System.out.println("(i1 += i1) == i2 : " + res2);
char gender = '남';
char res3 = gender == '여' ? '합' : '불';
System.out.println(res3);
|
cs |
하나의 조건식을 두고 조건식이 참일때와 거짓일때의 결과를 모두 돌려받을 수 있도록 하는 연산자입니다.
반응형
'Java' 카테고리의 다른 글
Java 제어문 for문과 while문 (0) | 2021.01.29 |
---|---|
Java 제어문 분기문과 반복문은? if문과 switch문 (0) | 2021.01.27 |
Java 연산자에 대해서 알아보자 첫 번째 (0) | 2021.01.26 |
Java의 변수 int? double?이 뭐야? (0) | 2021.01.24 |
Java의 JVM, JRE, JDK 란? JVM과 JRE, JDK 정리 (0) | 2021.01.24 |