: 조건에 따라 무엇을 실행할지 판단하는 분기 구조
if (조건문 1) {
조건문 1을 만족할 때 실행할 내용;
} else (조건문 2) {
조건문 2를 만족할 때 실행할 내용;
} else {
그 외의 상황에서 실행할 내용;
}
: 입력 값에 따라 어떤 case를 실행할지 판단하는 분기 구조
switch (입력 값) {
case 입력 값 1:
실행할 내용;
break;
case 입력 값 2:
실행할 내용;
break;
```...
default:
실행할 내용;
break;
위 내용과 관련된 코드입니다.
public class Main {
public static void main(String[] args) {
// 1. 조건문 - if
System.out.println("== if ==");
int waterTemperature = 99;
if (waterTemperature >= 100) {
System.out.println("물이 끓습니다.");
} else {
System.out.println("물을 끓이는 중입니다.");
}
int score = 90;
char grade = 0;
if (score >= 90) {
grade = 'A';
} else if (score >= 80) {
grade = 'B';
} else if (score >= 70) {
grade = 'C';
} else {
grade = 'F';
}
System.out.println("grade = " + grade);
// 2. 조건문 - switch
System.out.println("== switch ==");
String fruit = "apple";
switch (fruit) {
case "apple":
System.out.println(fruit + "은 5000원 입니다.");
break;
case "blueberry":
System.out.println(fruit + "은 10000원 입니다.");
break;
default:
System.out.println("해당 과일이 없습니다.");
break;
}
// Q1. number의 값이 홀수인지 짝수인지 판단하는 코드를 작성하세요.
int number = 5;
if (number % 2 == 0) {
System.out.println("짝수 입니다!");
} else {
System.out.println("홀수 입니다!");
}
// Q2. 아래 주석은 위의 실습에서 진행한 score에 따라 grade를 출력하는 코드이다.
// 이를 switch 조건문 기반으로 바꿔보세요.
// int score = 90;
// char grade = 0;
// if (score >= 90) {
// grade = 'A';
// } else if (score >= 80) {
// grade = 'B';
// } else if (score >= 70) {
// grade = 'C';
// } else {
// grade = 'F';
// }
// System.out.println("grade = " + grade);
int score1 = 90;
char grade1 = 0;
switch (score1 / 10) {
case 10:
case 9:
grade1 = 'A';
break;
case 8:
grade1 = 'B';
break;
case 7:
grade1 = 'C';
break;
default:
grade1 = 'F';
break;
}
System.out.println("grade1 = " + grade1);
}
}
출력 결과 입니다.
== if ==
물을 끓이는 중입니다.
grade = A
== switch ==
apple은 5000원 입니다.
홀수 입니다!
grade1 = A
: 주어진 횟수만큼 반복하여 실행하는 구조
for (초기치; 조건문; 증가치;){
반복하여 실행할 내용;
}
: 조건문이 만족하는 동안 반복하여 실행하는 구조
while (조건문) {
반족하여 실행할 내용;
}
do {
반복하여 실행할 내용;
} while (조건문);
위 내용과 관련된 코드입니다.
public class Main2 {
public static void main(String[] args) {
// 1. 반복문 - for
System.out.println("== for ==");
// 1-1. 기본 사용 방법
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
for (int j = 0; j < i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();
for (int i = 0; i < 5; i++) {
if (i == 2) {
break;
}
for (int j = 0; j < i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
// 1-2. for each
System.out.println();
int[] nums = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
System.out.println(nums[i]);
}
for(int num: nums) {
System.out.println(num);
}
// 2. 반복문 - while
System.out.println("== while ==");
// 2-1. while
System.out.println();
int i = 0;
while (i < 5) {
System.out.println(i++);
}
System.out.println();
i = 0;
while (i < 5) {
if (i == 2) {
i++;
continue;
}
System.out.println(i++);
}
System.out.println();
i = 0;
while (i < 5) {
if (i == 2) {
i++;
break;
}
System.out.println(i++);
}
// 2-2. do-while
boolean knock = false;
do {
System.out.println("knock");
} while (knock);
// Q1. 아래와 같은 출력 결과를 반복문과 조건문을 이용하여 출력해보세요.
// *
// ***
// *****
// *******
for (int m = 0; m < 8; m++) {
if (m % 2 == 0) {
continue;
}
for (int n = 0; n < m; n++) {
System.out.print("*");
}
System.out.println();
}
// Q2. 반복문을 실행할 때마다 물 온도를 1도씩 올리고 100도가 되면 종료한다.
// 추가로, 10도, 20도, ... 10도 간격으로 물 온도를 출력하시오.
int waterTemperature = 0;
while (waterTemperature < 100) {
waterTemperature++;
if (waterTemperature % 10 == 0) {
System.out.println(waterTemperature + "도 입니다.");
}
}
}
}
출력 결과 입니다.
== for ==
0
1
2
3
4
*
**
***
****
*****
*
**
****
*****
*
**
1
2
3
4
5
1
2
3
4
5
== while ==
0
1
2
3
4
0
1
3
4
0
1
knock
*
***
*****
*******
10도 입니다.
20도 입니다.
30도 입니다.
40도 입니다.
50도 입니다.
60도 입니다.
70도 입니다.
80도 입니다.
90도 입니다.
100도 입니다.