์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[25] 230203 Java Ch. 4 ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ: 1. ์กฐ๊ฑด๋ฌธ: if๋ฌธ, switch๋ฌธ [K-๋์งํธ ํธ๋ ์ด๋ 25์ผ] ๋ณธ๋ฌธ
[25] 230203 Java Ch. 4 ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ: 1. ์กฐ๊ฑด๋ฌธ: if๋ฌธ, switch๋ฌธ [K-๋์งํธ ํธ๋ ์ด๋ 25์ผ]
yjyuwisely 2023. 2. 2. 13:02230203 Thu 25th class
Ch. 4 ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ
์ง๋: p. 134 ~ (๊ต์ฌ: ํผ์ ๊ณต๋ถํ๋ ์๋ฐ, ์ ์: ์ ์ฉ๊ถ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
Scanner
์ฐธ๊ณ : https://www.w3schools.com/java/java_user_input.asp
Java User Input
The Scanner class is used to get user input, and it is found in the java.util package.
To use the Scanner class, create an object of the class and use any of the available methods found in the Scanner class documentation. In our example, we will use the nextLine() method, which is used to read Strings:
์์ )
import java.util.Scanner; // import the Scanner class
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
String userName;
// Enter username and press Enter
System.out.println("Enter username");
userName = myObj.nextLine();
System.out.println("Username is: " + userName);
}
}
๊ฒฐ๊ณผ)
Enter username
Hi
Username is: Hi
Input Types
In the example above, we used the nextLine() method, which is used to read Strings. To read other types, look at the table below:
Method | Description |
nextBoolean() | Reads a boolean value from the user |
nextByte() | Reads a byte value from the user |
nextDouble() | Reads a double value from the user |
nextFloat() | Reads a float value from the user |
nextInt() | Reads a int value from the user |
nextLine() | Reads a String value from the user |
nextLong() | Reads a long value from the user |
nextShort() | Reads a short value from the user |
์์ )
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("Enter name, age and salary:");
// String input
String name = myObj.nextLine();
// Numerical input
int age = myObj.nextInt();
double salary = myObj.nextDouble();
// Output input by user
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Salary: " + salary);
}
}
๊ฒฐ๊ณผ)
Enter name, age and salary:
Hi
10
120000
Name: Hi
Age: 10
Salary: 120000
Ch. 4 ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ
์ฑ ์ ๋ชฉ์ฐจ
04-1 ์กฐ๊ฑด๋ฌธ: if๋ฌธ, switch๋ฌธ
04-2 ๋ฐ๋ณต๋ฌธ: for๋ฌธ, while๋ฌธ, do-while๋ฌธ
4.1 ์กฐ๊ฑด๋ฌธ: if๋ฌธ, switch๋ฌธ
1) if๋ฌธ p. 135
if (์กฐ๊ฑด์){...}else{...}
์กฐ๊ฑด์์๋ true ๋๋ false ๊ฐ์ ์ฐ์ถํ ์ ์๋ ์ฐ์ฐ์์ด๋, boolean ํ์
๋ณ์๊ฐ ์ฌ ์ ์๋ค.
์กฐ๊ฑด์์ด true์ด๋ฉด ๋ธ๋ก์ ์คํํ๊ณ , false์ด๋ฉด ๋ธ๋ก์ ์คํํ์ง ์๋๋ค.
๊ดํธ {} ๋ธ๋ก์ ์๋ตํ์ง ์๊ณ ์์ฑํ๋ ๊ฒ์ ์ถ์ฒํ๋ค.
์์ )
public class P136IfExample {
public static void main(String[] args) {
int score = 93;
if(score>=90) {
System.out.println("์ ์๊ฐ 90๋ณด๋ค ํฝ๋๋ค.");
System.out.println("๋ฑ๊ธ์ A์
๋๋ค.");
}
if(score<90)
System.out.println("์ ์๊ฐ 90๋ณด๋ค ์์ต๋๋ค."); //์ค๊ดํธ ๋ธ๋ก์ด ์์ด ์ฌ๊ธฐ๊น์ง ์ํฅ์ ๋ฏธ์น๋ค.
System.out.println("๋ฑ๊ธ์ B์
๋๋ค."); //๋ค์ฌ์ฐ๊ธฐ๋ง ๋์์ ๋ฟ if๋ฌธ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฏ๋ก ์ถ๋ ฅ๋๋ค.
}
}
๊ฒฐ๊ณผ)
์ ์๊ฐ 90๋ณด๋ค ํฝ๋๋ค.
๋ฑ๊ธ์ A์
๋๋ค.
๋ฑ๊ธ์ B์
๋๋ค.
2) if-else๋ฌธ p. 136
if (์กฐ๊ฑด์){...}else{...}
์กฐ๊ฑด์์ด true๊ฐ ๋๋ฉด if ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๊ณ , false๊ฐ ๋๋ฉด else ์ค๊ดํธ ๋ด๋ถ์คํํ๋ค.
์์ )
public class P137IfElseExample {
public static void main(String[] args) {
int score = 93;
if(score>=90) {
System.out.println("์ ์๊ฐ 90๋ณด๋ค ํฝ๋๋ค.");
System.out.println("๋ฑ๊ธ์ A์
๋๋ค.");
}else {
System.out.println("์ ์๊ฐ 90๋ณด๋ค ์์ต๋๋ค.");
System.out.println("๋ฑ๊ธ์ B์
๋๋ค.");
}
}
}
๊ฒฐ๊ณผ)
์ ์๊ฐ 90๋ณด๋ค ํฝ๋๋ค.
๋ฑ๊ธ์ A์
๋๋ค.
3) if-else if-else p. 138
if (์กฐ๊ฑด์1) {...} else if(์กฐ๊ฑด์2) {...} else {...}
์กฐ๊ฑด์ 1์ด true๊ฐ ๋๋ฉด if ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๊ณ , ์กฐ๊ฑด์2๊ฐ true๊ฐ ๋๋ฉด else if ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๋ค.
์กฐ๊ฑด์1๊ณผ ์กฐ๊ฑด์2๊ณผ ๋ชจ๋ false๊ฐ ๋๋ฉด else ์ค๊ดํธ ๋ด๋ถ๊ฐ ์คํ๋๋ค.
if (์กฐ๊ฑด์1) {
//์กฐ๊ฑด์1์ด true
์คํ๋ฌธ A
} else if (์กฐ๊ฑด์2) {
//์กฐ๊ฑด์2๊ฐ true
์คํ๋ฌธ B
} else {
์คํ๋ฌธ C
}
์คํ๋ฌธ D
1. ์กฐ๊ฑด์1์ด true์ด๋ฉด A→D
2. ์กฐ๊ฑด์1์ด false์ด๋ฉด
2.1 ์กฐ๊ฑด์2๊ฐ true์ด๋ฉด B→D
2.2 ์กฐ๊ฑด์2๊ฐ false์ด๋ฉด C→D
์์ )
public class P139IfElseIfExample {
public static void main(String[] args) {
int score = 75;
if(score >= 90) {
System.out.println("์ ์๊ฐ 100~90์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ A์
๋๋ค.");
}else if(score >= 80) {
System.out.println("์ ์๊ฐ 80~90์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ B์
๋๋ค.");
}else if(score >= 70) {
System.out.println("์ ์๊ฐ 70~80์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ C์
๋๋ค.");
}else {
System.out.println("์ ์๊ฐ 60~70์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ D์
๋๋ค.");
}
}
}
๊ฒฐ๊ณผ)
์ ์๊ฐ 70~80์
๋๋ค.
๋ฑ๊ธ์ C์
๋๋ค.
๋๋ค Math.random()
ex) ํ์ ๊ฐ์
๋ ์ซ์ ์ธ์ฆ
start๋ถํฐ ์์ํ๋ n๊ฐ์ ์ ์ ์ค์์ ์์์ ์ ์ ํ๋๋ฅผ ์ป๊ธฐ ์ํ ์ฐ์ฐ์
int num = (int) (Math.random() * n) + start;
์์ 1) ๋ก๋ ๋ฒํธ (1~45) ํ๋๋ฅผ ๋ฝ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ์ฐ์ฐ์
int num = (int) (Math.random() * 45) + 1;
์์ 1.1) ๋๋ค ๋ฒํธ 6๊ฐ ๋ง๋ ๋ค.
import java.util.Random;
public class P140Lottery {
public static void main(String[] args) {
Random random = new Random(); //๋๋ค ํจ์ ์ ์ธ
int createNum = 0; //1์๋ฆฌ ๋์
String ranNum = ""; //1์๋ฆฌ ๋์ ํ๋ณํ ๋ณ์
int letter = 6; //๋์ ์๋ฆฟ์:6
String resultNum = ""; //๊ฒฐ๊ณผ ๋์
for (int i=0; i<letter; i++) {
createNum = random.nextInt(46); //1๋ถํฐ 45๊น์ง ์ฌ ์ ์๋ 1์๋ฆฌ ๋์ ์์ฑ
ranNum = Integer.toString(createNum); //1์๋ฆฌ ๋์๋ฅผ String์ผ๋ก ํ๋ณํ
resultNum += "["+ranNum+"]"; //์์ฑ๋ ๋์(๋ฌธ์์ด)์ ์ํ๋ ์(letter)๋งํผ ๋ํ๋ฉฐ ๋์ด
}
System.out.println("๋๋ค ๋ฒํธ 6๊ฐ: "+resultNum);
}
}
๊ฒฐ๊ณผ)
๋๋ค ๋ฒํธ 6๊ฐ: [33][25][31][22][35][2]
์์ 2)
public class P140IfDiceExample {
public static void main(String[] args) {
// ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ ๋์ฌ ์ ์๋ 1~6 ์ค์์ ํ๋์ ์๋ฅผ ๋ฌด์์๋ก ๋ฝ์์ ์ถ๋ ฅ
int num = (int)(Math.random() * 6) + 1; //6๊ฐ์ ์ ์, start=1
//์ฃผ์ฌ์์ ์ซ์(num)๊ฐ 1์ด๋ฉด
if(num==1) {
//1๋ฒ์ด ๋์์ต๋๋ค. ๋ผ๊ณ ์ถ๋ ฅ
System.out.println("1๋ฒ์ด ๋์์ต๋๋ค.");
} else if(num==2) {
System.out.println("2๋ฒ์ด ๋์์ต๋๋ค.");
} else if(num==2) {
System.out.println("3๋ฒ์ด ๋์์ต๋๋ค.");
} else if(num==2) {
System.out.println("4๋ฒ์ด ๋์์ต๋๋ค.");
} else if(num==2) {
System.out.println("5๋ฒ์ด ๋์์ต๋๋ค.");
} else {
System.out.println("6๋ฒ์ด ๋์์ต๋๋ค.");
}
}
}
๊ฒฐ๊ณผ)
6๋ฒ์ด ๋์์ต๋๋ค.
4) switch๋ฌธ p. 141
switch(๋ณ์){case ๊ฐ1: ... case ๊ฐ2: ... default: ... }
๋ณ์์ ๊ฐ์ด ๊ฐ1์ด๋ฉด ์ฒซ ๋ฒ์งธ case ์ฝ๋๋ฅผ ์คํํ๊ณ , ๊ฐ2์ด๋ฉด ๋ ๋ฒ์งธ case ์ฝ๋๋ฅผ ์คํํ๋ค. ๊ฐ1๊ณผ ๊ฐ2๊ฐ ๋ชจ๋ ์๋๋ฉด default ์ฝ๋๋ฅผ ์คํํ๋ค. default๋ ์๋ต ๊ฐ๋ฅํ๋ค.
switch( ๋ณ์ ) {
case ๊ฐ1: //๋ณ์๊ฐ ๊ฐ1์ผ ๊ฒฝ์ฐ
์คํ๋ฌธA
break;
case ๊ฐ2: //๋ณ์๊ฐ ๊ฐ2์ผ ๊ฒฝ์ฐ
์คํ๋ฌธB
break;
default: //๋ณ์๊ฐ ๊ฐ1,๊ฐ2 ๋ชจ๋ ์๋ ๊ฒฝ์ฐ (์๋ต ๊ฐ๋ฅ)
์คํ๋ฌธC
}
์์ 1)
public class P143SwitchExample {
public static void main(String[] args) {
// ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ ๋์ฌ ์ ์๋ 1~6 ์ค์์ ํ๋์ ์๋ฅผ ๋ฌด์์๋ก ๋ฝ์์ ์ถ๋ ฅ
int num = (int)(Math.random() * 6) + 1; //6๊ฐ์ ์ ์, start=1
switch(num) {
case 1: //์ฃผ์ฌ์์ ์ซ์(num)๊ฐ 1์ด๋ฉด
//1๋ฒ์ด ๋์์ต๋๋ค. ๋ผ๊ณ ์ถ๋ ฅ
System.out.println("1๋ฒ์ด ๋์์ต๋๋ค.");
break;
case 2:
System.out.println("2๋ฒ์ด ๋์์ต๋๋ค.");
break;
case 3:
System.out.println("3๋ฒ์ด ๋์์ต๋๋ค.");
break;
case 4:
System.out.println("4๋ฒ์ด ๋์์ต๋๋ค.");
break;
case 5:
System.out.println("5๋ฒ์ด ๋์์ต๋๋ค.");
break;
default:
System.out.println("6๋ฒ์ด ๋์์ต๋๋ค.");
break;
}
}
}
๊ฒฐ๊ณผ)
3๋ฒ์ด ๋์์ต๋๋ค.
case ๋์ break๊ฐ ๋ถ์ด ์๋ ์ด์ ๋ ๋ค์ case๋ฅผ ์คํํ์ง ์๊ณ switch ๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ธฐ ์ํด์์ด๋ค.
break๊ฐ ์๋ค๋ฉด ๋ค์ case๊ฐ ์ฐ๋ฌ์ ์คํ๋๋ค.
๋ง๋ฌด๋ฆฌ
4๊ฐ์ง ํค์๋๋ก ๋๋ด๋ ํต์ฌ ํฌ์ธํธ p. 145
1) if๋ฌธ if (์กฐ๊ฑด์){...}else{...}
์กฐ๊ฑด์์ด true๊ฐ ๋๋ฉด ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๋ค.
2) if-else๋ฌธ: if (์กฐ๊ฑด์){...}else{...}
์กฐ๊ฑด์์ด true๊ฐ ๋๋ฉด if ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๊ณ , false๊ฐ ๋๋ฉด else ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๋ค.
3) if-else if-else: if (์กฐ๊ฑด์1) {...} else if(์กฐ๊ฑด์2) {...} else {...}
์กฐ๊ฑด์1์ด true๊ฐ ๋๋ฉด if ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๊ณ , ์กฐ๊ฑด์2๊ฐ true๊ฐ ๋๋ฉด else if ์ค๊ดํธ ๋ด๋ถ๋ฅผ ์คํํ๋ค.
์กฐ๊ฑด์1๊ณผ ์กฐ๊ฑด์2๊ฐ ๋ชจ๋ false๊ฐ ๋๋ฉด else ์ค๊ดํธ ๋ด๋ถ๊ฐ ์คํ๋๋ค.
4) switch๋ฌธ: switch(๋ณ์){case ๊ฐ1: ... case ๊ฐ2: ... default: ... }
๋ณ์์ ๊ฐ์ด ๊ฐ1์ด๋ฉด ์ฒซ ๋ฒ์งธ case ์ฝ๋๋ฅผ ์คํํ๊ณ , ๊ฐ2์ด๋ฉด ๋ ๋ฒ์งธ case ์ฝ๋๋ฅผ ์คํํ๋ค.
๊ฐ1๊ณผ ๊ฐ2๊ฐ ๋ชจ๋ ์๋๋ฉด default ์ฝ๋๋ฅผ ์คํํ๋ค.
//switch๋ฌธ
switch( ๋ณ์ ){
//๋ณ์๊ฐ ๊ฐ1์ผ ๊ฒฝ์ฐ
case ๊ฐ1:
์คํ๋ฌธA
break;
//๋ณ์๊ฐ ๊ฐ2์ผ ๊ฒฝ์ฐ
case ๊ฐ2:
์คํ๋ฌธB
break;
//๋ณ์๊ฐ ๊ฐ1, ๊ฐ2 ๋ชจ๋ ์๋ ๊ฒฝ์ฐ
default;
์คํ๋ฌธC
}