๐งฉ ํ์ต ๋จ์ : ์ ์ด๋ฌธ(Control Flow Statement)
๐ ํ์ต ๋์ : <Java์ ์ ์ 3ํ>(๋จ๊ถ ์ฑ ์ )
โ์ค๋ต ์ ๋ฆฌ ์๋ฃ(2021.12.25)
[4-1] ์กฐ๊ฑด์์ผ๋ก ํํํ๋ผ. โโ
1. intํ ๋ณ์ x๊ฐ 10๋ณด๋ค ํฌ๊ณ 20๋ณด๋ค ์์ ๋ true์ธ ์กฐ๊ฑด์
10 <= x && x<= 20
2. charํ ๋ณ์ ch๊ฐ ๊ณต๋ฐฑ์ด๋ ํญ์ด ์๋ ๋ true์ธ ์กฐ๊ฑด์!(ch == ' ' && ch == '\t')
๊ณต๋ฐฑ๊ณผ ํญ ๋ ๋ค ์๋ ์กฐ๊ฑด์ด ๋์ด ๋ฒ๋ ค์ ์ค๋ต
!(ch == ' ' || ch == '\t')
3. charํ ๋ณ์ ch๊ฐ 'x' ๋๋ 'X'์ผ ๋ true์ธ ์กฐ๊ฑด์
ch == 'x' || ch == 'X'
4. charํ ๋ณ์ ch๊ฐ ์ซ์(‘0’~‘9’)์ผ ๋ true์ธ ์กฐ๊ฑด์
'0' <= ch && ch <= '9'
5. charํ ๋ณ์ ch๊ฐ ์๋ฌธ์(๋๋ฌธ์ ๋๋ ์๋ฌธ์)์ผ ๋ true์ธ ์กฐ๊ฑด์
'a' <= ch && ch <= 'z || 'A' <= ch && ch <= 'Z'
6. intํ ๋ณ์ year๊ฐ 400์ผ๋ก ๋๋ ๋จ์ด์ง๊ฑฐ๋ ๋๋ 4๋ก ๋๋ ๋จ์ด์ง๊ณ 100์ผ๋ก ๋๋ ๋จ์ด์ง์ง ์์ ๋ true์ธ ์กฐ๊ฑด์
(year % 400 == 0 || year % 4 == 0) && year % 100 != 0
7. booleanํ ๋ณ์ powerOn๊ฐ false์ผ ๋ true์ธ ์กฐ๊ฑด์
!powerOn
8. ๋ฌธ์์ด ์ฐธ์กฐ๋ณ์ str์ด “yes”์ผ ๋ true์ธ ์กฐ๊ฑด์
str.equals("yes")
[4-2] 1๋ถํฐ 20๊น์ง์ ์ ์ ์ค์์ 2 ๋๋ 3์ ๋ฐฐ์๊ฐ ์๋ ์์ ์ดํฉ์ ๊ตฌํ์์ค. โ
if(i%2!=0 && i%3!=0)์ผ ๋ sum += i; ํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
package com.reminder.exercises;
public class Ex01 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 20; i++) {
if(i % 2 == 0 || i % 3 == 0) {
continue;
}
sum += i;
}
System.out.println("2 ๋๋ 3์ ๋ฐฐ์๊ฐ ์๋ ์์ ์ดํฉ : " + sum);
}
}
2 ๋๋ 3์ ๋ฐฐ์๊ฐ ์๋ ์์ ์ดํฉ : 73
[4-3] 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)์ ๊ฒฐ๊ณผ๋ฅผ ๊ณ์ฐํ์์ค. โโ
result += sum;๊ฐ for๋ฌธ ๋ฐ๊นฅ์ผ๋ก ๋๊ฐ๋ฉด 1~10๊น์ง ๋ํ 55๋ฅผ ๊ฐ์ผ๋ก ๊ฐ์ง๋ค. ์ ์ฒด ์ดํฉ์ ๋์ ํ๊ธฐ ์ํด์๋ for๋ฌธ ์์ ์จ์ผ ๋ง๋ค.
package com.reminder.exercises;
public class Ex02 {
public static void main(String[] args) {
int sum=0;
int result=0;
for(int i=1; i <= 10; i++) {
sum += i;
result += sum;
}
System.out.println("result = " + result);
}
}
result = 220
[4-4] 1+(-2)+3+(-4)+... ๊ณผ ๊ฐ์ ์์ผ๋ก ๊ณ์ ๋ํด๋๊ฐ์ ๋, ๋ช๊น์ง ๋ํด์ผ ์ดํฉ์ด 100์ด์์ด ๋๋์ง ๊ตฌํ์์ค. โโ
ํ์ํ ๋ณ์๋ฅผ ์ฐ์ ํ์ ํ์. ์ดํฉ int sum, ์ซ์ ๋ช๊น์ง int num, ๋ถํธ int sign...
๊ณ์ ๋ํด๊ฐ ๊ฐ ํ ๋ฐ for๋ฌธ ์กฐ๊ฑด์์ ์ผ๋จ ๋ฌดํ๋ฃจํ true๋ก ๋๋ค.
for๋ฌธ 1ํ์ฐจ์๋ ์ด๊ธฐ์, ์กฐ๊ฑด์๋ง ์ฝ๊ณ → 2ํ์ฐจ์ ์ฆ๊ฐ์์ ์ฝ๋๋ค. ๋๋ฌธ์ 1+(-2)... sign ๋ถํธ๊ฐ ๊ทธ๋ ๋ฐ๋๋ค.
package com.reminder.exercises;
public class Ex03 {
public static void main(String[] args) {
int num = 0;
int sum = 0;
int sign = 1;
for(int i=1; true; i++, sign=-sign) {
num = i * sign;
sum += num;
if(sum >= 100) {
break;
}
}
System.out.println("num = " + num);
System.out.println("sum = " + sum);
}
}
num = 199
sum = 100
[4-5] ๋ค์์ for๋ฌธ์ while๋ฌธ์ผ๋ก ๋ณ๊ฒฝํ์์ค. โโ
๋ด๋ถ while๋ฌธ์ ์ด๊ธฐ์ ์์น์ ์ฃผ์ํ์.
package com.reminder.exercises;
public class Ex04 {
public static void main(String[] args) {
/* for๋ฌธ */
System.out.println("========= for๋ฌธ =========" );
for(int i=0; i <=10; i++) {
for(int j=0; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
/* while๋ฌธ */
System.out.println("========= while๋ฌธ =========" );
int i=0;
while(i <= 10) {
int j=0;
while(j <= i) {
System.out.print("*");
j++;
}
System.out.println();
i++;
}
}
}
*
**
***
****
*****
******
*******
********
*********
**********
***********
[4-6] ๋ ๊ฐ์ ์ฃผ์ฌ์๋ฅผ ๋์ก์ ๋, ๋์ ํฉ์ด 6์ด ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. โ
์ด ๊ฒฝ์ฐ์ ์๊ฐ ๊ถ๊ธํด int count ๋ณ์๋ฅผ ์ถ๊ฐํด ๊ฐ์ฅ ์๋์ ๋ต์ ์ถ๊ฐํ๋ค.
package com.reminder.exercises;
public class Ex05 {
public static void main(String[] args) {
int count=0;
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));
count++;
}
}
}
System.out.println("๋์ ํฉ์ด 6์ด ๋๋ ๊ฒฝ์ฐ์ ์ = " + count);
}
}
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6
๋์ ํฉ์ด 6์ด ๋๋ ๊ฒฝ์ฐ์ ์ = 5
[4-7] Math.random()์ ์ด์ฉํด์ 1๋ถํฐ 6์ฌ์ด์ ์์์ ์ ์๋ฅผ ๋ณ์ value์ ์ ์ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ผ. โ
package com.reminder.exercises;
public class Ex06 {
public static void main(String[] args) {
int value = (int)(Math.random() * 6) +1;
System.out.println("value : " + value);
}
}
value : 5
[4-8] ๋ฐฉ์ ์ 2x+4y=10์ ๋ชจ๋ ํด๋ฅผ ๊ตฌํ์์ค. ๋จ, x์ y๋ ์ ์์ด๊ณ ๊ฐ๊ฐ์ ๋ฒ์๋ 0<=x<=10, 0<=y<=10 ์ด๋ค. โ
package com.reminder.exercises;
public class Ex07 {
public static void main(String[] args) {
for(int x=0; x <= 10; x++) {
for(int y=0; y <= 10; y++) {
if(2 * x + 4 * y == 10) {
System.out.println("x =" + x + ", y =" + y);
}
}
}
}
}
x =1, y =2
x =3, y =1
x =5, y =0
[4-9] ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด str์ด ์์ ๋, ๊ฐ ์๋ฆฌ์ ํฉ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ผ. ๋ง์ผ ๋ฌธ์์ด์ด "12345"๋ผ๋ฉด, ‘1+2+3+4+5’์ ๊ฒฐ๊ณผ์ธ 15๋ฅผ ์ถ๋ ฅ์ด ์ถ๋ ฅ๋์ด์ผ ํ๋ค. โโ
๋ฌธ์๋ฅผ → ์ซ์๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ ์์งํ ๊ฒ! ์ํ๋ฒณ์ด๋ ์ซ์๋ ๋ฌธ์์ฝ๋๊ฐ ์ฐ์์ ์ผ๋ก ํ ๋น๋์๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ๋ค.
package com.reminder.exercises;
public class Ex08 {
public static void main(String[] args) {
String str = "12345";
int sum = 0;
for(int i=0; i < str.length(); i++) {
sum += str.charAt(i) - '0';
}
System.out.println("sum = " + sum);
}
}
sum = 15
[4-10] ๊ฐ ์๋ฆฌ์ ํฉ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ผ. ๋ง์ผ ๋ณ์ num์ ๊ฐ์ด 12345๋ผ๋ฉด, ‘1+2+3+4+5’์ ๊ฒฐ๊ณผ์ธ 15๋ฅผ ์ถ๋ ฅํ๋ผ. โโ
package com.reminder.exercises;
public class Ex09 {
public static void main(String[] args) {
int num=12345;
int sum=0;
while(num > 0) {
sum += num % 10;
num /= 10;
}
System.out.println("sum = " + sum);
}
}
sum = 15
[4-11] 1๊ณผ 1๋ถํฐ ์์ํ๋ ํผ๋ณด๋์น ์์ด์ 10๋ฒ์งธ ์๋ ๋ฌด์์ธ์ง ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. โ
package com.reminder.exercises;
public class Ex10 {
public static void main(String[] args) {
int num1 = 1;
int num2 = 1;
int num3 = 0;
System.out.print(num1 + ", " + num2);
int num=0;
for(int i=0; i < 8; i++) {
num3 = num1 + num2;
System.out.print(", " + num3);
num1 = num2;
num2 = num3;
}
}
}
1, 1, 2, 3, 5, 8, 13, 21, 34, 55
[4-12] ๊ตฌ๊ตฌ๋จ์ ์ผ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅํ์์ค. โ
์์๋ก ๋ง๋ค์ด๋ณธ 1~3์ด ์์๋ก ์ถ๋ ฅํ๊ธฐ...
package com.reminder.exercises;
public class Ex11 {
public static void main(String[] args) {
int dan=2;
while(dan < 10) {
int num=1;
while(num < 4) {
System.out.print(dan + " * " + num + " = " + (dan*num) + "\t");
num++;
}
dan++;
System.out.println();
}
}
}
2 * 1 = 2ใใ2 * 2 = 4ใ2 * 3 = 6
3 * 1 = 3ใใ3 * 2 = 6ใ3 * 3 = 9
4 * 1 = 4ใใ4 * 2 = 8ใ4 * 3 = 12
5 * 1 = 5ใใ5 * 2 = 10ใ5 * 3 = 15
6 * 1 = 6ใใ6 * 2 = 12ใ6 * 3 = 18
7 * 1 = 7ใใ7 * 2 = 14ใ7 * 3 = 21
8 * 1 = 8ใใ8 * 2 = 16ใ8 * 3 = 24
9 * 1 = 9ใใ9 * 2 = 18ใ9 * 3 = 27
[4-13] ์ฃผ์ด์ง ๋ฌธ์์ด์ด ์ซ์์ธ์ง๋ฅผ ํ๋ณํ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. โ
break; ๋น ๋จ๋ ค๋ ์ ์ ์๋ํ๊ธด ํ์ง๋ง, ๋ช ์ํด ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ฒ ํ์.
package com.reminder.exercises;
public class Ex12 {
public static void main(String[] args) {
String value = "12o34";
char ch = ' ';
boolean isNumber = true;
for(int i=0; i < value.length(); i++) {
ch = value.charAt(i);
if(!('0' <= ch && ch <= '9')) {
isNumber = false;
break;
}
}
if(isNumber) {
System.out.println(value + "๋ ์ซ์์
๋๋ค.");
} else {
System.out.println(value + "๋ ์ซ์๊ฐ ์๋๋๋ค.");
}
}
}
12o34๋ ์ซ์๊ฐ ์๋๋๋ค.
[4-14] ๋ค์์ ์ซ์๋ง์ถ๊ธฐ ๊ฒ์์ ์์ฑํ ๊ฒ์ด๋ค. ์๋ง์ ์ฝ๋๋ฅผ ๋ฃ์ด ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. โโ
break;๋ฌธ์ ๊ผญ ์ฒดํฌํ์.
package com.reminder.exercises;
import java.util.Scanner;
public class Ex13 {
public static void main(String[] args) {
int answer = (int)(Math.random() * 100) + 1;
int count = 0;
Scanner scanner = new Scanner(System.in);
do {
count++;
System.out.print("100 ์ดํ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์. > ");
int input = scanner.nextInt();
if(input > answer) {
System.out.println("๋ ์์ ์๋ฅผ ์
๋ ฅํ์ธ์. > ");
} else if(input < answer) {
System.out.println("๋ ํฐ ์๋ฅผ ์
๋ ฅํ์ธ์. > ");
} else {
System.out.println("์ ๋ต์
๋๋ค!");
System.out.println(count + "๋ฒ์งธ ์๋๋ง์ ์ ๋ต์ ๋ง์ถ์
จ์ต๋๋ค.");
break;
}
} while(true);
}
}
[4-15] ๋ค์์ ํ๋ฌธ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ์ฝ๋๋ฅผ ๋ฃ์ด์ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. โ
package com.reminder.exercises;
public class Ex14 {
public static void main(String[] args) {
int num = 12321;
int tmp = num;
int result = 0;
while(tmp != 0) {
result = result * 10 + tmp % 10;
tmp /= 10;
}
if(num == result) {
System.out.println(num + "๋ ํ๋ฌธ์์
๋๋ค.");
} else {
System.out.println(num + "๋ ํ๋ฌธ์๊ฐ ์๋๋๋ค.");
}
}
}
12321๋ ํ๋ฌธ์์ ๋๋ค.
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐ์ ์ ์] Ch 4. ์ ์ด๋ฌธ ์์ ์์ฉ ํ์ต (0) | 2021.12.26 |
---|---|
[JAVA/์์ ๊ณผ์ ] ๋ฐ๋ณต๋ฌธ, ๋ถ๊ธฐ๋ฌธ practice (0) | 2021.12.26 |
[์๋ฐ์ ์ ์] Ch 3. ์ฐ์ฐ์ ์์ ์์ฉ ํ์ต (0) | 2021.12.25 |
[์๋ฐ์ ์ ์] Ch 3. ์ฐ์ฐ์ ์ฐ์ต๋ฌธ์ ํ์ด (0) | 2021.12.25 |
[JAVA] 4-3. ๋ถ๊ธฐ๋ฌธ break, continue (0) | 2021.12.25 |