+ - * / %
double num3 = 0.1;
double num4 = 0.2;
double result6 = num3 + num4;
double result7 = num3 - num4;
System.out.println(result6); // 결과 0.30000000000000004
System.out.println(result7); // 결과 -0.1
double result8 = (num3*10 + num4*10)/10;
// 실수에 적절한 10^n 값을 곱해서 소수점 부분을 없앤 후 연산을 수행
System.out.println(result8); // 결과 0.3
= += -= *= /= %=
num1 += 3; → num1 = num1 + 3;
// +=을 이용하면 총합을 계산할 수 있다.
num2 -= 3; → num1 = num1 - 3;
num3 *= 3; → num1 = num1*3;
num4 /= 3; → num1 = num1/3;
num5 %= 3; → num1 = num1%3;
++ –
int num3 = 10;
int num4 = 10;
- 증감연산자
int result3 = num3++;
// num3의 값을 result3에 대입하고, num3의 값을 1증가시킨다.
int result4 = ++num4;
// num4의 값을 1증가시키고, num4의 값을 result4에 대입한다.
System.out.println(result3); // 10이 출력된다.
System.out.println(num3); // 11이 출력된다.
System.out.println(result4); // 11이 출력된다.
System.out.println(num4); // 11이 출력된다.
- 감소 연산자
int result3 = num3--;
// num3의 값을 result3에 대입하고, num3의 값을 1 감소시킨다.
int result4 = --num4;
// num4의 값을 감소시키고, num4의 값을 result4에 대입한다.
System.out.println(result3); // 10이 출력된다.
System.out.println(num3); // 9가 출력된다.
System.out.println(result4); // 9가 출력된다.
System.out.println(num4); // 9가 출력된다.
> >= < <= == !=
int num2 = 10;
int num3 = 20;
System.out.println(num2 > num3); // 결과 false
System.out.println(num2 >= num3); // 결과 false
System.out.println(num2 < num3); // 결과 true
System.out.println(num2 <= num3); // 결과 true
System.out.println(num2 == num3); // 결과 false
System.out.println(num2 != num3); // 결과 true
&& || !
&&
||
!
조건식 ? 값1 : 값2
- 값1은 조건식이 true일 때 이 연산식의 최종 결과가 된다.
- 값2는 조건식이 false일 때 이 연산식의 최종 결과가 된다.
- 값1과 값2는 같은 타입의 값이어야 한다.
if(조건식) {
수행문1;
수행문2;
}
- 조건식은 연산결과가 true/false인 연산식이다.
- 수행문1과 수행문2는 조건식이 true로 판정될 때 실행되는 수행문이다.
if(조건식) {
수행문1;
수행문2;
} else {
수행문3;
수행문4;
}
- 조건식이 true로 판정되면 수행문1과 수행문2가 실행된다.
- 조건식이 false로 판정되면 수행문3과 수행문4가 실행된다.
if (조건1) {
수행문1;
} else if (조건식2) {
수행문2;
} else if (조건식3) {
수행문3;
} else {
수행문4;
}
1) 조건식1이 true로 판정되면 수행문1을 실행하고, 제어문을 빠져나간다.
2) 조건식1이 false로 판정되면 조건식2을 검사한다.
3) 조건식2가 false로 판정되면 수행문2를 실행하고, 제어문을 빠져나간다.
4) 수행문4는 조건식1, 조건식2, 조건식3이 모두 false로 판정되면 실행된다.
5) 제시된 조건들은 절대로 true인 경우가 겹치지 않는다.
if (조건식1) {
수행문1;
if (조건식2) {
수행문2;
}
}
1) 수행문1은 조건식1이 true로 판정되면 실행된다.
2) 수행문2는 조건식1이 true로 판정되고, 조건식2도 true로 판정되며 실행된다.
제어문의 조건식이 다양하고 복잡할수록 제어문의 구조도 같이 복잡해진다. 제어문의 구조가 복잡해지면, 코드의 가독성이 떨어지고 유지보수도 어려워진다.
빠른 종료는 제시된 조건에 부합되지 않는 나쁜 경우를 먼저 찾아서 프로그램의 실행을 중단시키는 것이다.
빠른 종료는 return 키워드나 throw 키워드를 이용해서 나쁜 경우를 만나면 프로그램의 실행을 즉시 중단 시킨다.
빠른 종료를 활용하면 if문의 구조를 단순화시킬 수 있고, 다양한 조건을 내포된 if문 없이 작성할 수 있다.
빠른 종료를 활용한 코드는 제어문의 구조가 단순하고, 코드 가독성이 높아지고, 유지보수도 쉽다.
switch (조건식) {
case 값1:
수행문1;
break;
case 값2:
수행문2;
break;
case 값3:
수행문3;
break;
default
수행문4;
}
1) 수행문1은 값과 값1이 일치하면 실행된다.
3) 수행문2는 값과 값2가 일치하면 실행된다.
4) 수행문3은 값과 값3이 일치하면 실행된다.
5) 수행문4는 값과 일치하는 case가 없을 때 실행된다.
6) break는 switch문의 실행을 중단시키고 탈출한다.