증감 연산자
for, while, do-while 문에서 사용
전치: ++a, --a( a = a + 1, a = a - 1)
후치: a++, a--
조건연산자(조건부 연산자, 삼항연산자)
// 참 반환 값과 거짓 반환 값의 반환형은 같아야 함
(조건식) ? 참일 때 반환할 문장 : 거짓일 때 반환할 문장
if문이 가독성이 좋기 때문에 조건연산자는 잘 사용하지 않음
중첩을 통해 if문과 같은 결과를 만들 수 는 있지만 가독성이 좋지 않음
public static void main(String[] args) {
int data = 10;
String result = (data >= 10 || data < 5) ? "참일 때 반환할 문장" : "거짓일 때 반환할 문장";
System.out.println(result);
data = 8;
result = (data % 2 == 0) ? "짝수" : "홀수";
System.out.println(data + " = " + result);
data = 9;
result = (data % 2 == 0) ? "짝수" : "홀수";
System.out.println(data + " = " + result);
data = 9;
int total = (data % 2 == 0) ? --data : ++data; // 조건문의 결과 false, 전치 연산으로 10 반환
System.out.println(data + " = " + total);
}
비트 연산자
public static void main(String[] args) {
int data1 = 55, data2 = 22, or = 0, and = 0, xor = 0;
/**
* data1 == 55(10) == 0011 0111(2)
* data2 == 22(10) == 0001 0110(2)
* or: 0011 0111 == 55(1)
* and: 0001 0110 == 22(10)
* xor: 0010 0001 == 33(10)
*/
or = data1 | data2;
and = data1 & data2;
xor = data1 ^ data2;
System.out.println("data1 | data2 = " + or);
System.out.println("data1 & data2 = " + and);
System.out.println("data1 ^ data2 = " + xor);
}
cf) xor연산을 이용해서 분산 된 데이터 저장소를 사용하는 경우, 일부가 삭제된 경우 복구 가능
Shift 연산자
public static void main(String[] args) {
int data = 1; // 0000 0001 == 1
data = data << 1; // 0000 0010 == 2
System.out.println("1. data <<= 1 : " + data);
data = data <<= 1; // 0000 0100 == 4
System.out.println("2. data <<= 1 : " + data);
data = data <<= 3 ; // 0010 0000 == 32
System.out.println("3. data <<= 3 : " + data);
data = data >>= 1; // 0001 0000 == 16
System.out.println("1. data >>= 1 : " + data);
data = data >>= 1; // 0000 1000 == 8
System.out.println("2. data >>= 1 : " + data);
data = data >>= 1; // 0000 0100 == 4
System.out.println("3. data >>= 1 : " + data);
}
제어문
순차적인 흐름을 조건에 따라 통제하는 명령
조건
if - else if - else
단순 if문
// 조건식이 true인 경우 종속문(실행문) 수행
if(조건식) 종속문(실행문);
다음문장;
if(조건식) {
}
다음문장;
if else문
if(조건식) 문장1;
else 문장2;
다음문장;
if(조건식) {
}
else {
}
다음문장;
반복
while, do while, for
선택
switch - case
흐름변경
continue 반복문 내부에서 사용, 아래 문장을 수행하지 않고 반복문 시작으로 이동
break 반복문, 선택문에서 사용
'오늘의 공부 & 기록' 카테고리의 다른 글
2월 17일(금) (0) | 2023.02.17 |
---|---|
2월 16일(목) (0) | 2023.02.16 |
2월 14일(화) (0) | 2023.02.14 |
2월 13일(월) (0) | 2023.02.13 |
스프링부트 강의 기록 (0) | 2023.01.29 |