2021. 2. 6. 08:00ใ๊ฐ๋ ์ ๋ฆฌ ์์ ์ค/Java
๐ ์กฐ๊ฑด๋ฌธ
๐ Switch๋ฌธ
Switch๋ฌธ์ ์ฌ์ฉ๋น๋๋ ๋ง์ด ์ ์ง๋ง, ์กฐ๊ฑด์ด ๋ง๋ค๋ฉด Losic์ ๋ณด๋ค ๋ช ๋ฃํ๊ฒ ๋ณด์ฌ์ค ์ ์๋ ์ฅ์ ์ด ์๋ ๊ฒ ์ ๋๋ค.
swich(์กฐ๊ฑด๋ฌธ) {
case ์กฐ๊ฑด :
'์กฐ๊ฑด์ ํด๋น ์ ํ๋ํ ๋ถ๋ถ ๋ฃ์'
break; // break๋ฅผ ๋ง๋๋ฉด switch๋ฌธ์ ๋
case ์กฐ๊ฑด :
'์กฐ๊ฑด์ ํด๋น ์ ํ๋ํ ๋ถ๋ถ ๋ฃ์'
break;
case ์กฐ๊ฑด :
'์กฐ๊ฑด์ ํด๋น ์ ํ๋ํ ๋ถ๋ถ ๋ฃ์'
break;
default ์กฐ๊ฑด : // default๋ ์์ ์กฐ๊ฑด์ ๋ง์ง ์์ ๊ฒฝ์ฐ ํ๋ํ ๋ถ๋ถ์ ๋ฃ๋ ๊ณณ.
'์กฐ๊ฑด์ ํด๋น ์ ํ๋ํ ๋ถ๋ถ ๋ฃ์'
break;
๋ง์ฝ switch ๋ค์ ๊ดํธ์์ ์ซ์ 1์ ๋ฃ์ด์ฃผ๊ณ , case ๋ค ์กฐ๊ฑด๋์ 1์ด ์๋ค๋ฉด ํด๋น ๋ก์ง์ ๋ง๋ ํ๋์ ํ๊ณ , ๋ค์ break๊ฐ ์๋ค๋ฉด ๋์ด ๋ฉ๋๋ค.
break๋ฌธ์ ๋ฃ์ง ์๊ฒ ๋๋ฉด 1์ ๋ง๋ ์ดํ์ ๋ชจ๋ case์ ๋ํ ํ๋์ ํ๊ฒ ๋๊ธฐ ๋๋ฌธ์ break๋ฌธ์ ๋ฃ์ด ์ํ๋ ๋ถ๋ถ์์ ๋๋ด์ฃผ๋ ๊ฒ ์ ๋๋ค.
๐ก ์ฝ๋ ์์
import java.util.Scanner; // Scanner๋ java.util.Lang์ ์์์ผ๋ก, import๋ฅผ ์์ผ์ค์ผ ํ๋ค.
public class Grading_switch {
public static void main(String[] args) {
// Switch๋ฌธ์ ํ์ฉํ ํ์ ๊ณ์ฐ๊ธฐ
int score;
// ํค๋ณด๋๋ก ์
๋ ฅ ๊ฐ์ ๋ฐ์ ๋, Scanner๋ผ๋ Method๋ฅผ ์ฌ์ฉํ์ฌ์ผ ํ๋ค.
Scanner input = new Scanner(System.in);
System.out.println("ํ์ ์ ์
๋ ฅํ์ธ์. :");
score = input.nextInt(); // Scanner Metod๋ฅผ ์ด์ฉํ์ฌ input์ด๋ผ๋ Method๋ช
์ ์ ์ธํ์๊ณ , score๋ผ๋ ๋ณ์์ nextInt()๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ์๊ฐ์ ์
๋ ฅ ๋ฐ๋๋ค.
switch (score / 10) {
case 10 : // case๋ฅผ ์๋์ ๊ฐ์ด ๋๊ฐ๋ฅผ ๋ง๋ ๋ค ํ๋์ ์
๋ ฅํ๋ฉด ๋ ๊ฐ ์ค ํ๋๊ฐ ํด๋น ์ ํ๋์ ํ๊ฒ ๋๋ค.
case 9 :
System.out.println("Aํ์ ");
break;
case 8 :
System.out.println("Bํ์ ");
break;
case 7 :
System.out.println("Cํ์ ");
break;
case 6 :
System.out.println("Dํ์ ");
break;
default :
System.out.println("Fํ์ ");
}
}
}
import java.util.Scanner;
public class DaysInMonth {
public static void main(String[] args) {
// TODO Auto-generated method stub
int month;
int days = 0;
System.out.println(" ์ผ์๋ฅผ ์๊ณ ์ถ์ ๋ฌ์ ์
๋ ฅํ์ธ์: ");
Scanner scan = new Scanner(System.in);
month = scan.nextInt();
switch (month) { // month ๋ณ์์ ์
๋ ฅ ๊ฐ์ด 1,3,5,7,8,10,12์ด๋ฉด days ๋ณ์์ 31์ ๋ฃ๋๋ค.
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
days = 31;
break;
case 2 : // month ๋ณ์์ ์
๋ ฅ ๊ฐ์ด 2๋ผ๋ฉด days์ 28์ ๋ฃ๋๋ค.
days = 28;
break;
default : // ์์ ์กฐ๊ฑด์ค month ๋ณ์์ ๊ฐ์ด ์ผ์นํ์ง ์์ผ๋ฉด 30์ days ๋ณ์์ ๋ฃ๋๋ค.
days = 30;
break;
} System.out.println(days + "์ผ์ด ์๋ค์!");
}
}
Switch๋ฌธ์ ์ฌ์ฉํ ๋ ํ๊ฐ์ง ์ฃผ์ํ ์ ์ด ์๋ ๊ฒ์ด์์.
๋ฐ๋ก Switch์ ์กฐ๊ฑด์ผ๋ก๋ ๋ช ๊ฐ์ง ์ ํ๋ Data Type๋ง์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ ์ ๋๋ค.
byte, short, char, int, enum, String, Character, Byte, Short, Integer ์ ๋๋ค.
๐ if๋ฌธ
if๋ฌธ์ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๊ฒฝ์ฐ ๋ฐ๋ณต๋ฌธ์ ์คํํ๋ฉฐ, ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ํด๋น if๋ฌธ์ ๊ฑด๋๋ฐ๊ฒ ๋ฉ๋๋ค.
if๋ฌธ์ ์กฐ๊ฑด์์ ์์ ๊ฒฐ๊ณผ๊ฐ boolean์ธ ๊ฒ์ด์ฌ์ผ ํฉ๋๋ค.
์ฆ, ์ฐธ๊ณผ ๊ฑฐ์ง์ผ๋ก ๋์์ผ ํ๋ค๋ ๊ฒ์ด์ง์.
if๋ฌธ์ ์์๋๋ ์๋์ ๊ฐ์ต๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
if (์กฐ๊ฑด์) {
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํํ๊ณ ์ ํ๋ ๋ฐ๋ณต๋ฌธ;
}
if๋ฌธ์๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ด๊ณ ์ฐ์ฐ์์ ๋์์ ๊ฐ๊ณผ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ ผ๋ฆฌ์ ๋ ผ๋ฆฌ๋ฅผ ๋น๊ตํ๋ &&(AND), ||(OR), !(NOT)์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
(C์ธ์ด์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋์~!)
if๋ฌธ์ ์กฐ๊ฑด์์ ์๋ฏธ ๋ถ์ฌ๊ฐ ๋งค์ฐ ์ค์ํ ๊ฒ์ด์์.
์๋ ๋ด์ฉ์ ๋ณด๋ฉด ์ดํดํ์ค ์ ์์ด์!
package com.junyharang;
public class ExStatement02 {
publicstaticvoidmain(String[] args) {
// ๋ฌธ์ ์ํ, ์ ๊ธ ์ํ
// ์ฌ๊ธฐ ์๋ boolean ๋ถ๋ถ์ ๋ด๊ฐ ์ด๋ค ์๋ฏธ๋ฅผ ๋ถ์ฌํ๋์ง์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ด ๋ถ๋ถ์ด ๋งค์ฐ ์ค์ํจ.
boolean isOpen = false; //๋ซํ(false ์ด๋๊น ๋ซํ)
boolean locked = false; //ํ๋ฆผ(false ์ด๋๊น ํ๋ฆผ)
//NOT์ฐ์ฐ์ '~์ด ์๋๋ฉด'์ด๋ผ๊ณ ํด์.
//์์๋ ์ค์ํจ. ์๋ ๋ด์ฉ์ ๋ฌธ์ ์ ๊ธ์ฅ์น๋ฅผ ํ์ธํ์ง ์๊ณ , ์ด๋ ธ๋๋ฅผ ๋จผ์ ๋ณด์๊ธฐ ๋๋ฌธ์ ํ๋ฆผ.
if(!isOpen) {
}
if(!locked) {
}
System.out.println("๋ฌธ์ด ์ด๋ ธ์ต๋๋ค.");
//์ด ๋ด์ฉ์ด ์์๊ฐ ์ฌ๋ฐ๋ฅด๋ค.
if(!locked) {
}
if(!isOpen) {
}
System.out.println("๋ฌธ์ด ์ด๋ ธ์ต๋๋ค.")
}
}
๐ if / else / else-if ๋ฌธ
if์ else๋ฌธ์ ์ ๋ ์ด๋ ๊ฒ ์ดํดํ์์ด์.
if์์ '~์ด ๋ง๋?' ๋ผ๊ณ ๋ฌป๊ณ , ๋ง์ผ๋ฉด if์ ๋ฐ๋ณต๋ฌธ์ด ์คํ๋๊ณ ,
else(์๋๋ผ๋ฉด?)๊ฐ ์คํ ๋๋ ๊ฒ ์ด์ง์.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
if (์กฐ๊ฑด์1) {
์กฐ๊ฑด์ 1์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํ๋๋ ๋ฐ๋ณต๋ฌธ;
} else if (์กฐ๊ฑด์2) {
if์ ์กฐ๊ฑด์์ด ์๋๊ณ , ์กฐ๊ฑด์ 2๊ฐ ์ฐธ์ผ ๋ ์คํ๋๋ ๋ฐ๋ณต๋ฌธ;
} else {
์์ ๋ชจ๋ ์กฐ๊ฑด์์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ์คํ๋๋ ๋ด์ฉ;
}
else if๋ฌธ์ ์ฌ๋ฌ๋ฒ ๋์๋ ๋ฉ๋๋ค. ํ์ง๋ง, if์ else๋ ํด๋น ๋ฐ๋ณต๋ฌธ์์ ๋จ ํ๋ฒ๋ง ์ ์ธํ ์ ์๋ต๋๋ค.
๐ก ์ฝ๋ ์์
import java.util.Scanner;
public class Grading_if {
public static void main(String[] args) {
// if๋ฌธ์ ํ์ํ ํ์ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ
int score;
Scanner input = new Scanner(System.in);
System.out.println("์ฑ์ ์ ์
๋ ฅํ์ธ์.: ");
score = input.nextInt();
if(score >= 90) { // score๊ฐ 90๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.println("ํ์ A");
} else if (score >= 80) { // score๊ฐ 90๋ณด๋ค๋ ์์ผ๋, 80๋ณด๋ค ํฌ๊ฑฐ๋, ๊ฐ์ผ๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.println("ํ์ B");
} else if (score >= 70) { // score๊ฐ 90 ~ 80๋ณด๋ค๋ ์์ผ๋, 70๋ณด๋ค ํฌ๊ฑฐ๋, ๊ฐ์ผ๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.println("ํ์ C");
} else if (score >= 60) { // score๊ฐ 90 ~ 70๋ณด๋ค๋ ์์ผ๋, 60๋ณด๋ค ํฌ๊ฑฐ๋, ๊ฐ์ผ๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.println("ํ์ D");
} else { // score๊ฐ ์์ ์กฐ๊ฑด์์ ์๋ฌด๊ฒ๋ ํด๋น ์๋๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.println("ํ์ F");
}
}
}
๐ ์ผํญ ์ฐ์ฐ์์ ์ํ ์กฐ๊ฑด๋ฌธ
์๋ฐ์์๋ if / else๋ฌธ์ ํ ์ค๋ก ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ ์ ์๋ ๊ฒ์ด์์.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<์กฐ๊ฑด์(Boolean Type)> ? <์ฐธ์ผ ๊ฒฝ์ฐ ๋ฐํ๊ฐ> : <๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ๋ฐํ๊ฐ>
๐ก ์ฝ๋ ์์
import java.util.Scanner;
public class Num_compare1 {
public static void main(String[] args) {
//์ธ ๊ฐ์ง ์ซ์ ์ค ๊ฐ์ฅ ํฐ ์ ์ฐพ๊ธฐ
int num1, num2, num3, result;
Scanner scan = new Scanner(System.in); // scanner ํจ์๋ก ์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ scan์ ๋ฃ๊ฒ ๋ค๊ณ ์ ์ธ
System.out.println("์ธ ์๋ฅผ ์
๋ ฅํ์ธ์."); // ์ฌ์ฉ์์๊ฒ ์ธ๊ฐ์ง ์ซ์ ์
๋ ฅ์ ์์ฒญ ์ถ๋ ฅ
num1 = scan.nextInt(); // num1์ ์ฌ์ฉ์ ์ฒซ๋ฒ์งธ ์
๋ ฅ๊ฐ ์
๋ ฅ.
num2 = scan.nextInt(); // num2์ ์ฌ์ฉ์ ๋๋ฒ์งธ ์
๋ ฅ๊ฐ ์
๋ ฅ.
num3 = scan.nextInt(); // num3์ ์ฌ์ฉ์ ์ธ๋ฒ์งธ ์
๋ ฅ๊ฐ ์
๋ ฅ.
result=(num1 > num2) ? num1 : num2; // num1์ด num2๋ณด๋ค ํฌ๋ค๋ฉด num1 ๊ฐ์ result๋ณ์์ ๋ฃ๊ณ , ์๋ค๋ฉด num2๋ฅผ result๊ฐ์ ์
๋ ฅ.
if (result > num3) { // result ๊ฐ์ด num3๋ณด๋ค ํฌ๋ค๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.printf("%d(์ด)๊ฐ ๊ฐ์ฅ ํฐ ์ ์
๋๋ค. \n", result);
} else { // result ๊ฐ์ด num3๋ณด๋ค ์๋ค๋ฉด ์๋ ๋ฐ๋ณต๋ฌธ ์คํ
System.out.printf("%d(์ด)๊ฐ ๊ฐ์ฅ ํฐ ์ ์
๋๋ค. \n", num3);
}
}
}
์ฃผ๋ํ๋์ ์ด๋ฒ ํฌ์คํ
์ด ์ด๋ ์
จ๋์? ๊ตฌ๋
, ๊ณต๊ฐ๊ณผ ๋๊ธ์ ์ฃผ๋ํ๋์๊ฒ ๋งค์ฐ ํฐ ํ์ด ๋ ๊ฒ์
๋๋ค!
'๊ฐ๋ ์ ๋ฆฌ ์์ ์ค > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๊ธฐํ ์ ์ด๋ฌธ (0) | 2021.02.08 |
---|---|
[JAVA] ๋ฐ๋ณต๋ฌธ (0) | 2021.02.07 |
[JAVA] ํ๋ณํ(Type Conversion) (0) | 2021.02.05 |
[JAVA] ์ฐ์ฐ์(Operator) (0) | 2021.02.04 |
[JAVA] ๋ณ์(Variable)์ ์ ์น/ํ์น ์ฐ์ฐ (0) | 2021.02.03 |