1. Switch ๋ฌธ
๐ ๋จ ํ๋์ ์กฐ๊ฑด์์ผ๋ก ๋ง์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ณ ํํ๋ ๊ฐ๊ฒฐ
์ํ ์ ์ฐจ
- ์กฐ๊ฑด์์ ๊ณ์ฐํ๋ค.
- ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ์ผ์นํ๋ case๋ฌธ์ผ๋ก ์ด๋
- ์ดํ์ ๋ฌธ์ฅ๋ค์ ์ํ
- break ๋ฌธ์ด๋ switch๋ฌธ์ ๋์ ๋ง๋๋ฉด switch๋ฌธ ์ ์ฒด๋ฅผ ๋น ์ ธ๋๊ฐ
๐ก POINT
- break๋ฌธ์ ์๋ฝํ๋ฉด case๋ฌธ ์ฌ์ด์ ๊ตฌ๋ถ์ด ์์ด์ง๋ฏ๋ก ๋ค๋ฅธ break๋ฌธ์ ๋ง๋๊ฑฐ๋ switch๋ฌธ ๋ธ๋ญ {} ๋์ ๋ง๋ ๋๊น์ง ๋์ค๋ ๋ชจ๋ ๋ฌธ์ฅ๋ค์ ์ํ
- ์ ์ฝ์กฐ๊ฑด
a. ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๋ ์ ์ ๋๋ ๋ฌธ์์ดb. case๋ฌธ์ ๊ฐ์ ์ ์ ์์๋ง ๊ฐ๋ฅ, ์ค๋ณต X
- if๋ฌธ ์ฒ๋ผ ์ค์ฒฉ ๊ฐ๋ฅ
switch (์กฐ๊ฑด์) {
case ๊ฐ1 :
// ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ1๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ํ๋ ๋ฌธ์ฅ๋ค
//...
break;
case ๊ฐ2 :
// ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ2๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ํ๋ ๋ฌธ์ฅ๋ค
//...
break;
default :
// ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ์ผ์นํ๋ case ๋ฌธ์ด ์์ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
//...
break; // ์๋ต๊ฐ๋ฅ.
}
์กฐ๊ฑด์์ด ์ ์์ธ ๊ฒฝ์ฐ
public static void main(String[] args) {
// ์ผ๋
๋์ ์ฝ์ ์ฑ
์์ ๋ฐ๋ผ ๋ฉํธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
int book = 5;
switch (book/10) {
case 0 : // 10๊ถ ๋ฏธ๋ง
System.out.println("์กฐ๊ธ ๋ ๋
ธ๋ ฅ ํ์ธ์!");
break;
case 1 : // 10์ด์ 20๊ถ ๋ฏธ๋ง
System.out.println("์ฑ
์ฝ๋ ๊ฒ์ ์ฆ๊ธฐ๋ ๋ถ์ด์๋ค์!");
break;
case 2 : // 20์ด์ 30๊ถ ๋ฏธ๋ง
System.out.println("์ฑ
์ ์ฌ๋ํ๋ ๋ถ์ด์๋ค์!");
break;
default : // 30๊ถ ์ด์
System.out.println("๋น์ ์ ๋ค๋
์์
๋๋ค!");
break; // ์๋ต๊ฐ๋ฅ
}
}
์กฐ๊ฑด์์ด ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ
public static void main(String[] args) {
String medal = "Silver";
switch(medal) {
case "Gold":
System.out.println("๊ธ๋ฉ๋ฌ ์
๋๋ค.");
break;
case "Silver":
System.out.println("์๋ฉ๋ฌ ์
๋๋ค.");
break;
case "Bronze":
System.out.println("๋๋ฉ๋ฌ ์
๋๋ค.");
break;
default:
System.out.println("๋ฉ๋ฌ์ด ์์ต๋๋ค.");
break;
}
}
โ์์ฉ ์์
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("์์ ์
๋ ฅํด ์ฃผ์ธ์ >>> ");
int month = scanner.nextInt();
int day;
switch(month) {
// case 1: case 3: case 5: case 7: case 8: case 10: case 12:
case 1, 3, 5, 7, 8, 10, 12: // case๊ฐ ์ฌ๋ฌ๊ฐ์ง์ธ ๊ฒฝ์ฐ ์๋ต ๊ฐ๋ฅ.
day = 31;
break;
case 4: case 6: case 9: case 11:
day = 30;
break;
case 2:
day = 28;
break;
default:
day = 0;
System.out.println("์กด์ฌํ์ง ์๋ ๋ฌ ์
๋๋ค.");
}
System.out.println(month + " ์์ " + day + " ์ผ๊น์ง ์์ต๋๋ค.");
scanner.close();
}
public static void main(String[] args) {
/* Java 12๋ถํฐ ๊ฐ์ ๋ switch ๋ฌธ์ ์ง์ */
Scanner scanner = new Scanner(System.in);
System.out.print("์์ ์
๋ ฅํด ์ฃผ์ธ์ >>> ");
int month = scanner.nextInt();
int day;
switch (month) {
case 1, 3, 5, 7, 8, 10, 12 -> day = 31;
case 4, 6, 9, 11 -> day = 30;
case 2 -> day = 28;
default -> {
day = 0;
System.out.println("์กด์ฌํ์ง ์๋ ๋ฌ์
๋๋ค.");
}
}
System.out.println(month + "์์ " + day + "์ผ๊น์ง ์์ต๋๋ค.");
scanner.close();
}
public static void main(String[] args) {
/* ์ฌ์ฉ์์๊ฒ ์ฑ์ ์ ์
๋ ฅ๋ฐ์
* switch๋ฌธ์ ์ฌ์ฉํด์ ํ์ ์ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ์ธ์.
* ์
๋ ฅ์ 0 ~ 100๊น์ง ์
๋ ฅ์ด ๋ฉ๋๋ค.
* ๊ธฐ์ค์ ์๋์ ๊ฐ์ต๋๋ค.
* A : 90 ~ 100
* B : 80 ~ 89
* C : 70 ~ 79
* D : 60 ~ 69
* F : 0 ~ 59 */
Scanner scanner = new Scanner(System.in);
int grade;
String credit;
System.out.print("์ฑ์ ์ ์
๋ ฅํ์ธ์ >> ");
grade = scanner.nextInt();
// 'int/int' ๊ฒฐ๊ณผ๋ int ์ด๊ธฐ ๋๋ฌธ์ '88/10'์ 8.8์ด ์๋ 8์ด ๋จ.
switch(grade/10*10) {
case 90,100: // 90 ~ 100
credit = "A";
break;
case 80:
credit = "B";
break;
case 70:
credit = "C";
break;
case 60:
credit = "D";
break;
default :
credit = "F";
break;
}
System.out.println("์
๋ ฅํ์ ์ฑ์ ์ " + grade + "์ ์ด๊ณ , ํ์ ์ " + credit + "์
๋๋ค.");
scanner.close();
}
โ
โ2. ๋ฐ๋ณต๋ฌธ
๐ก ์ด๋ค ์์ ์ด ๋ฐ๋ณต์ ์ผ๋ก ์ํ๋๋๋ก ํ ๋ ์ฌ์ฉ
๐ก ์ข ๋ฅ ; for๋ฌธ, while๋ฌธ, do-while๋ฌธ
๐ก ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ true์ด๋ฉด ์ฐธ, false๋ฉด ๊ฑฐ์ง์ผ๋ก ๊ฐ์ฃผ
1) for๋ฌธ
โ ๋ฐ๋ณต ํ์๋ฅผ ์๊ณ ์์ ๋ ์ ํฉ
๐พ ์ค์ ์ฌ์ฉ x ์ ์๋ง ์ฌ์ฉํ๊ธฐ โถ๏ธ ๊ณ์ฐ์ด ๋ถ์ ํํ๊ธฐ ๋๋ฌธ
๐พ ์ด๊ธฐํ, ์กฐ๊ฑด์, ์ฆ๊ฐ์ ๋ชจ๋ ์๋ต ๊ฐ๋ฅ
โถ๏ธ ์กฐ๊ฑด์์ด ์๋ต๋ ๊ฒฝ์ฐ, ์ฐธ์ผ๋ก ๊ฐ์ฃผ๋์ด ๋ฌดํ ๋ฐ๋ณต๋ฌธ์ด ๋๋ค.
โถ๏ธ ๋์ ๋ธ๋ญ{} ์์ if ๋ฌธ์ ๋ฃ์ด์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด for ๋ฌธ์ ๋น ์ ธ ๋์ค๊ฒ ํด์ผ ํ๋ค.
for๋ฌธ์ ๊ตฌ์กฐ
for (์ด๊ธฐํ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) {
// ์กฐ๊ฑด์์ด ์ฐธ์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค์ ์ ๋๋ค.
}
for๋ฌธ ์ํ ์์
๐ ์ด๊ธฐํ โถ๏ธ ์กฐ๊ฑด์ โถ๏ธ ์ํ๋ ๋ฌธ์ฅ โถ๏ธ ์ฆ๊ฐ์ โถ๏ธ ์กฐ๊ฑด์ โถ๏ธ ์ํ๋ ๋ฌธ์ฅ โถ๏ธ ์ฆ๊ฐ์ ...
public class MyFor_02 {
public static void main(String[] args) {
/* for๋ฌธ์ ์์ */
int sum = 0; // ์ด ํฉ์ ๋ด์ ๋ณ์. ์ด๊ธฐํ๊ฐ ๊ผญ ํ์.
// for (์ด๊ธฐ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์)
for (int i = 1; i > 0; i++) { //1๋ถํฐ 10๊น์ง์ ํฉ
System.out.println("i = " + i + " sum = " + (sum += i));
// 1) ์ด๊ธฐ๊ฐ ์คํ
// 2) ์กฐ๊ฑด์ ํ์ธ
// 3) ์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ๋ช
๋ น๋ฌธ ์คํ
// 4) ์ฆ๊ฐ์ ์คํ
// 5) ์กฐ๊ฑด์ ํ์ธ
// 6) ์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ๋ช
๋ น๋ฌธ ์คํ
// 4) 5) 6) ๋ฐ๋ณต
}
// System.out.println(i); // i๋ for๋ฌธ์์๋ง ์ ํจ
{
int tmp = 12;
System.out.println(tmp);
}
}
}
๋ณ์ i์ 1์ ์ ์ฅํ ๋ค์, ๋งค ๋ฐ๋ณต๋ง๋ค i์ ๊ฐ์ 1์ฉ ์ฆ๊ฐ์ํจ๋ค.
๊ทธ๋ฌ๋ค๊ฐ i์ ๊ฐ์ด 5๋ฅผ ๋์ผ๋ฉด ์กฐ๊ฑด์ 'i <= 5'๊ฐ ๊ฑฐ์ง์ด ๋์ด ๋ฐ๋ณต์ ๋ง์น๊ฒ ๋จ
i์ ๊ฐ์ด 1๋ถํฐ 5๊น์ง 1์ฉ ์ฆ๊ฐ ํ๋๊น ๋ชจ๋ 5๋ฒ ๋ฐ๋ณตํ๋ค.
โ
A. ์ด๊ธฐํ
· ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉ๋ ๋ณ์๋ฅผ ์ด๊ธฐํํ๋ ๋ถ๋ถ์ด๋ฉฐ ์ฒ์์ ํ๋ฒ๋ง ์ํ.
· ๋ ์ด์์ ๋ณ์๊ฐ ํ์ํ ๋ ์ฝค๋ง ',' ๋ฅผ ๊ตฌ๋ถ์๋ก ๋ณ์๋ฅผ ์ด๊ธฐํ (๋จ, ๋ ๋ณ์์ ํ์ ์ ๊ฐ์์ผ)
ex. for (int i=1, j=0; i <= 10; i++) {...
B. ์กฐ๊ฑด์
· ์กฐ๊ฑด์์ ๊ฐ์ด ์ฐธ์ด๋ฉด ๋ฐ๋ณต์ ๊ณ์ํ๊ณ , ๊ฑฐ์ง์ด๋ฉด ๋ฐ๋ณต์ ์ค๋จํ๊ณ for๋ฌธ์ ๋ฒ์ด๋๋ค.
C. ์ฆ๊ฐ์
· ๋ฐ๋ณต๋ฌธ์ ์ ์ดํ๋ ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ ๋๋ ๊ฐ์์ํค๋ ์.
· ์ฝค๋ง ',' ๋ฅผ ์ด์ฉํด์ ๋ ๋ฌธ์ฅ ์ด์์ ํ๋๋ก ์ฐ๊ฒฐํด์ ์ธ ์ ์๋ค.
ex. for (int i =1, j=10; i <= 10; i++, j--) {...
โ
public class MyFor_03 {
public static void main(String[] args) {
/* for๋ฌธ ์ธ๋ถ์ ๋ณ์ ์ ์ธ ํ ๊ฒฝ์ฐ์ i๋์ ๋ค๋ฅธ ๋ณ์๋ช
์ฌ์ฉ */
int sum = 0;
int num;
for(num = 0; sum < 100 ; num++) {
sum += num; // sum = sum + num -> sum์ ์ด๊ธฐํ ํ์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋จ.
System.out.println("num : " + num + " / sum : " + sum);
}
System.out.println("num : " + num);
System.out.println("sum : " + sum);
}
}
์์ฉ ์์
public class Ex_02_04 {
public static void main(String[] args) {
/* 1๋ถํฐ 100์ฌ์ด์ ์ ์ ์ค์์ 3๋๋ 4์ ๋ฐฐ์์ ํฉ์ ๊ตฌํ๋ ์ฝ๋๋ฅผ ์์ฑ */
int sum = 0;
for (int i = 1; i <= 100; i++) {
if ((i%3==0) || (i%4==0)) {
sum += i;
}
}
System.out.println("3 ๋๋ 4์ ๋ฐฐ์์ ํฉ : " + sum );
}
}
2) ์ค์ฒฉ for๋ฌธ
๐ก ์ค์ฒฉ์ ํ์ ์ ํ x.
๐ก ์์ชฝ for๋ฌธ์ ๋ชจ๋ ๋ฐ๋ณต์ด ๋๋๊ณ ์์ผ ๋ฐ๊นฅ์ชฝ for๋ฌธ์ ๋ค์ ๋ฐ๋ณต์ผ๋ก ๋์ด๊ฐ๋ค.
๋ณ ์ถ๋ ฅ
public class Ex_03_03 {
public static void main(String[] args) {
/* for๋ฌธ์ ์ด์ฉํด์ ๋ค์๊ณผ ๊ฐ์ด *๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์ธ์.
*
**
***
****
*/
for (int i=1; i<=4; i++) {
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ
public class MyFor_11 {
public static void main(String[] args) {
/* ์ค์ฒฉ for๋ฌธ์ผ๋ก ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ
* for๋ฌธ์ ๋ ๋ค๋ฅธ for๋ฌธ์ ๋ดํฌํ ์ ์๋๋ฐ, ์ด๊ฒ์ ์ค์ฒฉ for๋ฌธ์ด๋ผ๊ณ ํจ.
* ์ด ๊ฒฝ์ฐ ๋ฐ๊นฅ์ชฝ for๋ฌธ์ด ํ ๋ฒ ์คํผํ ๋๋ง๋ค ์ค์ฒฉ๋ for๋ฌธ์ ์ง์ ๋ ํ์๋งํผ
* ๋ฐ๋ณตํด์ ๋๋ค๊ฐ ๋ค์ ๋ฐ๊นฅ์ชฝ for๋ฌธ์ด ๋์๊ฐ. */
for(int dan = 2; dan <= 9; dan++) { // ๋ฐ๊นฅ ์ชฝ for๋ฌธ. 8๋ฒ ๋ฐ๋ณต
System.out.println("*** " + dan + "๋จ ***");
for(int times = 1; times <= 9; times++) { // ์ค์ฒฉ for๋ฌธ. 9๋ฒ ๋ฐ๋ณต
System.out.println(dan + " X " + times + " = " + dan * times);
}
System.out.println(); // -> ๊ฐ ๋จ์ด ๋๋ ๋ ๋ฃ์ด์ค.
}
}
}
์ฃผ์ฌ์ ๊ฒ์
public class Ex_03_01 {
public static void main(String[] args) {
/* 2๊ฐ์ ์ฃผ์ฌ์๋ฅผ ๋์ง๋ ๊ฒ์์ด ์๋ค๊ณ ๊ฐ์ ํ์.
* ์ค์ฒฉ for๋ฌธ์ ์ด์ฉํ์ฌ 2๊ฐ์ ์ฃผ์ฌ์์ ํฉ์ด 6์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋ ์์ฑ.
(1,5) (2,4) (3,3) (4,2) (5,1) */
for (int i = 1; i <= 6; i++) {
for ( int j = 1; j <= 6; j++) {
if (i+j == 6)
System.out.println("(" + i + ", " + j + ")");
// ๋ณ์ ํต์์ ์ผ๋ก i ๋ค์์ j ์.
}
}
}
}
3) float ํ์ ์นด์ดํฐ ๋ณ์
โ for๋ฌธ์ ์์ฑํ ๋ ์ฃผ์ํ ์ ์ ์ด๊ธฐํ ์์์ ๋ฃจํ ์นด์ดํฐ ๋ณ์๋ฅผ ์ ์ธํ ๋ ๋ถ๋ ์์์ ์ ์ฐ๋ float ํ์
์ ์ฌ์ฉ x
โก๏ธ 0.1์ float ํ์
์ผ๋ก ์ ํํ๊ฒ ํํํ ์ ์๊ธฐ ๋๋ฌธ์ x์ ๋ํด์ง๋ ๊ฐ์ด 0.1๋ณด๋ค ์ฝ๊ฐ ์ปค์, ๋ฃจํ๋ 9๋ฒ ์คํ
โก๏ธ float๊ณผ double์ ๊ณ์ฐ์ด ๋ถ์ ํ
โ ๋์์ผ๋ก ์ ์๋ก ๋ณํ ํ ๊ณ์ฐ ๊ฒฐ๊ณผ ๊ฐ์ ์ค์๋ก ๋ณํ or ์๋ฐ์์๋ ์ ํํ ์ค์ ๊ณ์ฐ์ ์ํด Decimal ํด๋์ค๋ฅผ ์ ๊ณต
public class MyFor_05 {
public static void main(String[] args) {
for (float x = 0.1f; x <= 1.0f; x += 0.1f) {
System.out.println(x);
/* 0.1
* 0.2
* 0.3
* 0.4
* 0.5
* 0.6
* 0.70000005
* 0.8000001
* 0.9000001 */
}
}
}
4) for๋ฌธ ๋์ ์๊ฐ ๊ตฌํ๊ธฐ
๐ ํ๋ก๊ทธ๋จ์ ๋์ ์๊ฐ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ํ๋ก๊ทธ๋จ ์์ ์์ ๋ถ๋ถ์์ ์์์๊ฐ์ ๊ตฌํ๊ณ , ํ๋ก๊ทธ๋จ์ด ๋๋๋ ๋ถ๋ถ์์ ์ข
๋ฃ์๊ฐ์ ๊ตฌํํ ์ข
๋ฃ์๊ฐ์์ ์์์๊ฐ์ ๋นผ๋ฉด ํ๋ก๊ทธ๋จ์ด ๋์ํ ์๊ฐ์ ๊ตฌํ ์ ์์
public class MyFor_04 {
public static void main(String[] args) {
long startTime = System.currentTimeMillis(); // ์์์๊ฐ
for(int i = 0; i < 1000000000; i++) { // 10์ต๋ฒ ๋ฐ๋ณต
; // ๋น๋ฌธ์ฅ ์คํ
}
long endTime = System.currentTimeMillis(); // ์ข
๋ฃ์๊ฐ
System.out.println("์์์๊ฐ : " + startTime);
System.out.println("์ข
๋ฃ์๊ฐ : " + endTime);
System.out.println("์์์๊ฐ : " + (endTime - startTime));
}
}
โ
(์ถ์ฒ : ํ์๊ฐ์ ๋ฐ java์ ์ ์ 3rd)
'Programming Language > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Array | ๋ฐฐ์ด ์ ์ธ๊ณผ ์์ฑ ยท ๋ฐฐ์ด ๊ธธ์ด์ ์ธ๋ฑ์ค ยท ๋ฐฐ์ด ์ด๊ธฐํ ยท ๋ฐฐ์ด ์ถ๋ ฅ (0) | 2024.08.09 |
---|---|
[Java] while ๋ฌธ ยท break๋ฌธ ยท continue ๋ฌธ (0) | 2024.08.09 |
[Java] ๋นํธ ์ฐ์ฐ์ ยท if ๋ฌธ (0) | 2024.05.21 |
[JAVA] ์ฐ์ฐ์ [๋จํญ/๋ณตํฉ/๋์ /๋น๊ต/๋ ผ๋ฆฌ/์ผํญ] ๋ฐ ์ฐ์ ์์ (0) | 2024.04.05 |
[JAVA] ํ๋ณํ casting & ์ฐ์ฐ์ operator (0) | 2024.04.01 |