:for๋ฌธ์ ์ง์
ํ๋ฉด ์ํ๋ ์ฝ๋1์ ๋จผ์ ์ํํ๊ณ ๋ ๋ฒ์งธ for๋ฌธ์ ์ง์
ํ๋ฉด
์กฐ๊ฑด์2๊ฐ false๊ฐ ๋ ๋๊น์ง ์ํ๋ ์ฝ๋2๋ฅผ ์ํ ํ ๋์ค๋ฉด
์ํ๋ ์ฝ๋3์ ์ํํ๊ณ ์กฐ๊ฑด์1๋ก ๋์์ true๋ฉด ๋ค์ ๋ฐ๋ณต
public void ex16() {
// ๊ตฌ๊ตฌ๋จ ๋ชจ๋ ์ถ๋ ฅํ๊ธฐ
for(int dan = 2; dan <= 9; dan++) { // 2๋จ~9๋จ๊น์ง ์ฐจ๋ก๋๋ก ์ฆ๊ฐ
for(int num = 1; num <= 9; num++) { // ๊ฐ ๋จ์ ๊ณฑํด์ง ์ 1~9๊น์ง ์ฐจ๋ก๋๋ก ์ฆ๊ฐ
System.out.printf("%2d X %2d = %2d", dan, num, dan * num);
}
System.out.println(); // ํ๋์ ๋จ ์ถ๋ ฅ์ด ๋๋ฌ์ ๋ ์ค๋ฐ๊ฟ
// ์๋ฌด๋ด์ฉ ์์ println์ ์ค๋ฐ๊ฟ
}
}
public void ex17() {
// ๊ตฌ๊ตฌ๋จ ์ญ์ ์ถ๋ ฅ
for(int dan = 9; dan >= 2; dan--) { // 9๋จ > 2๋จ๊น์ง ์ญ๋ฐฉํฅ
for(int num = 1; num <= 9; num++) { // ๊ณฑํด์ง๋ ์๋ 1 > 9 ์๋ฐฉํฅ
System.out.printf("%d X %d = %2d ", dan, num, dan*num);
}
System.out.println();
}
}
public void ex18() {
// 2์ค for๋ฌธ์ ์ด์ฉํด์ ๋ค์ ๋ชจ์์ ์ถ๋ ฅํ์์ค.
// 12345
// 12345
// 12345
// 12345
// 12345
for(int line = 1; line <= 5; line++) { // 5์ค ์ถ๋ ฅํ๋ for๋ฌธ
for(int i = 1; i <=5; i++) { // 12345 ํ ์ค ์ถ๋ ฅํ๋ for๋ฌธ
System.out.print(i);
}
System.out.println();
}
}
public void ex19() {
// ์ถ๋ ฅ๋ด์ฉ
// 54321
// 54321
// 54321
for(int line = 1; line <= 3; line++) {
for(int i = 5; i >= 1; i--) {
System.out.print(i);
}
System.out.println();
}
}
public void ex20() {
// ์ถ๋ ฅ๋ด์ฉ
// 1
// 12
// 123
// 1234
for(int line = 1; line <= 4; line++) {
for(int i = 1; i <= line; i++) {
System.out.print(i);
}
System.out.println();
}
}
public void ex21() {
// ์ถ๋ ฅ๋ด์ฉ
// 4321
// 321
// 21
// 1
for(int line = 4; line >= 1; line--) {
for(int num = line; num >= 1; num--) {
System.out.print(num);
}
System.out.println();
}
}
public void ex23() {
// 2์ค for๋ฌธ๊ณผ count๋ฅผ ์ด์ฉํด์ ์๋ ๋ชจ์ ์ถ๋ ฅํ๊ธฐ
// 1 2 3 4
// 5 6 7 8
// 9 10 11 12
int count = 1;
for(int line = 1; line <= 3; line++) {
for(int i = 1; i <= 4; i++) {
System.out.printf("%3d", count);
count++;
}
System.out.println();
}
}
public void ex22() {
// ์ซ์์ธ๊ธฐ count
// 1๋ถํฐ 20๊น์ง 1์ฉ ์ฆ๊ฐํ๋ฉด์
// 3์ ๋ฐฐ์์ ์ด ๊ฐ์ ์ถ๋ ฅ
// 3์ ๋ฐฐ์์ ํฉ๊ณ ์ถ๋ ฅ
// 3 6 9 12 15 18 : 6๊ฐ
// 3์ ๋ฐฐ์ ํฉ๊ณ : 63
int count = 0 ; // 3์ ๋ฐฐ์์ ๊ฐฏ์๋ฅผ ์ธ๊ธฐ์ํ ๋ณ์
int sum = 0; // 3์ ๋ฐฐ์์ ํฉ๊ณ๋ฅผ ๊ตฌํ๊ธฐ์ํ ๋ณ์
for(int i = 1; i <= 20; i++){
if(i % 3 == 0) {
System.out.print(i + " ");
count++;
sum += i;
}
}
System.out.println(" : " + count);
System.out.println("3์ ๋ฐฐ์ ํฉ๊ณ : " + sum);
}
public void ex24() {
for(int num = 1; num <= 9; num++) {
for(int dan = 2; dan <= 9 ; dan++) {
System.out.printf("%d X %d = %d\t", dan, num, dan*num);
}
System.out.println();
}
}
while(์กฐ๊ฑด์) {
์กฐ๊ฑด์์ด true์ผ ๋ ๋ฐ๋ณต ์ํํ ๊ตฌ๋ฌธ;
[์ฆ๊ฐ์ or ๋ถ๊ธฐ๋ฌธ];
}
do {
๋ฐ๋ณต ์ํํ ๊ตฌ๋ฌธ;
[์ฆ๊ฐ์ or ๋ถ๊ธฐ๋ฌธ];
} while(์กฐ๊ฑด์);
: do ์์ ๋ด์ฉ ๋จผ์ ์คํ >
์กฐ๊ฑด์ ํ์ธ ํ true๋ฉด ๋ฌธ์ฅ ์ํ, false๋ฉด ์ข
๋ฃ >
while ๋ค์ ; ๊ผญ ํ์
: * { } ์์ ์กฐ๊ฑด์ ๋ฒ์ด๋๊ฒ ํ ์ฐ์ฐ(์ฆ๊ฐ์, ๋ถ๊ธฐ๋ฌธ) ํ์
while๊ณผ do~while์ ์ฐจ์ด์
: do~while์ ์กฐ๊ฑด๋ฌธ์ด true๊ฐ ์๋๋๋ผ๋ while๋ฌธ์ ๋ฌด์กฐ๊ฑด ํ ๋ฒ ์ด์ ์ํ
package edu.kh.control.loop;
import java.util.Scanner;
public class WhileExample {
Scanner sc = new Scanner(System.in);
public void ex1() {
int input = 0; // while๋ฌธ ์ข
๋ฃ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉ
while(input != 9){
// input์ ์ ์ฅ๋ ๊ฐ์ด 9๊ฐ ์๋ ๊ฒฝ์ฐ ์ํ์ฝ๋ ๋ฐ๋ณต
System.out.println("-----๋ฉ๋ด์ ํ-------");
System.out.println("1. ๋ก๋ณถ์ด");
System.out.println("2. ์ซ๋ฉด");
System.out.println("3. ๊น๋ฐฅ");
System.out.println("9. ์ข
๋ฃ");
System.out.print("๋ฉ๋ด ์ ํ >>");
input = sc.nextInt();
switch(input) {
case 1 : System.out.println("๋ก๋ณถ์ด๋ฅผ ์ฃผ๋ฌธํ์ต๋๋ค."); break;
case 2 : System.out.println("์ซ๋ฉด์ ์ฃผ๋ฌธํ์ต๋๋ค."); break;
case 3 : System.out.println("๊น๋ฐฅ์ ์ฃผ๋ฌธํ์ต๋๋ค."); break;
case 9 : System.out.println("๋ฉ๋ด์ ํ์ ์ข
๋ฃํฉ๋๋ค."); break;
default : System.out.println("์๋ชป ์
๋ ฅํ์
จ์ต๋๋ค.");
}
}
}
public void ex2() {
// ์
๋ ฅ๋๋ ๋ชจ๋ ์ ์์ ํฉ ๊ตฌํ๊ธฐ
// ๋จ, 0์ด ์
๋ ฅ๋๋ฉด ๋ฐ๋ณต ์ข
๋ฃ ํ ๊ฒฐ๊ณผ ์ถ๋ ฅ
// ->0์ด ์
๋ ฅ๋์ง ์์ผ๋ฉด ๊ณ์ ๋ฐ๋ณตํด๋ผ!
int input = -1; // ์
๋ ฅ๋ฐ์ ๊ฐ์ ์ ์ฅํ ๋ณ์
int sum = 0; // ๋ชจ๋ ์ ์์ ํฉ์ ์ ์ฅํ๋ ๋ณ์
while(input != 0){
System.out.print("์ ์ ์
๋ ฅ : ");
input = sc.nextInt();
sum += input; // ์
๋ ฅ๋ฐ์ ๊ฐ์ sum์ ๋์
}
System.out.println("ํฉ๊ณ : " + sum);
}
// ์์ 2๋ฒ do while์ผ๋ก ํ์ด๋ณด๊ธฐ
public void ex3() {
int input = 0;
int sum = 0;
do {
System.out.print("์ ์ ์
๋ ฅ : ");
input = sc.nextInt();
sum += input;
}while(input != 0);
System.out.println("ํฉ๊ณ : " + sum);
}
}
: ๋ฐ๋ณต๋ฌธ์์๋ break๋ฌธ ์์ ์ด ํฌํจ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋๊ฐ๋ ๊ตฌ๋ฌธ
: ๋ฐ๋ณต๋ฌธ ๋ด์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
: continue ์๋ ๋ถ๋ถ์ ์คํํ์ง์์
: ์ ์ฒด ๋ฐ๋ณต ์ค์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ์ ํ ๋ ์ ์ฉ
package edu.kh.contrl.branch;
import java.util.Scanner;
public class BranchExample {
Scanner sc = new Scanner(System.in);
public void ex1() {
// 1๋ถํฐ 10๊น์ง 1์ฉ ์ฆ๊ฐํ๋ฉฐ ์ถ๋ ฅํ๋ ๋ฐ๋ณต๋ฌธ ์์ฑ
// ๋จ, 5๋ฅผ ์ถ๋ ฅํ๋ฉด ๋ฐ๋ณต๋ฌธ ์ข
๋ฃ
for(int i = 1; i <= 10; i++) {
System.out.print(i + " ");
if(i == 5) {
break;
}
}
}
public void ex2() {
// 0์ด ์
๋ ฅ๋ ๋ ๊น์ง์ ๋ชจ๋ ์ ์์ ํฉ ๊ตฌํ๊ธฐ
// while๋ฌธ์ ์ฒ์์ ๋ฌด์กฐ๊ฑด ์ํํ๊ณ , ํน์ ์กฐ๊ฑด์ ์ข
๋ฃํ๋ ๋ฐฉ๋ฒ
// 1) input์ ์ด๊ธฐ๊ฐ์ 0์ด ์๋ ๋ค๋ฅธ๊ฐ ๋ฃ๊ณ while(input != 0) ์กฐ๊ฑด๋ฃ๊ธฐ
// 2) do while๋ฌธ ์ฌ์ฉ
// 3) ๋ฌดํ๋ฃจํ ์ํ์ while๋ฌธ ๋ง๋ค๊ณ ๋ด๋ถ์ ๋ธ๋ ์ดํฌ๋ฌธ ์์ฑํ๊ธฐ
int input = 0;
int sum = 0;
while(true) { // ๋ฌดํ๋ฃจํ๋๊ฒ ํ๋ ๋ฐฉ๋ฒ
System.out.print("์ ์ ์
๋ ฅ : ");
input = sc.nextInt();
if(input == 0) {
break;
}
sum += input;
}
System.out.println("ํฉ๊ณ : " + sum);
}
: ๋น๊ต์ฐ์ฐ์๋ ๋ณดํต ๊ธฐ๋ณธ์๋ฃํ๋ผ๋ฆฌ์ ์ฐ์ฐ์์๋ง ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
: String์ ์ฐธ์กฐํ์ผ๋ก ๋น๊ต์ฐ์ฐ์(==)๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋ฌธ์์ด์ธ์ง ํ๋ณํ ์ ์๋ค.
: ํด๊ฒฐ๋ฐฉ๋ฒ -> "if(๋ฌธ์์ด1.equals(๋ฌธ์์ด2)){}"์ ์ฌ์ฉํ์ฌ ๊ฐ์์ง ๋น๊ต ๊ฐ๋ฅํ๋ค.
public void ex3() {
// ์
๋ ฅ๋ฐ์ ๋ชจ๋ ๋ฌธ์์ด์ ๋์
// ๋จ, "exit@"๋ฅผ ์
๋ ฅ ์ ๋ฌธ์์ด ๋์ ์ ์ข
๋ฃํ๊ณ ๊ฒฐ๊ณผ ์ถ๋ ฅ
String str = "";
while(true) {
System.out.print("๋ฌธ์์ด ์
๋ ฅ(exit@ ์
๋ ฅ ์ ์ข
๋ฃ) : ");
String input = sc.nextLine();
// next() : ๋ค์ ํ ๋จ์ด(๋์์ฐ๊ธฐ ํฌํจ x)์ถ๋ ฅ
// nextLine() : ๋ค์ ํ ์ค(๋์์ฐ๊ธฐ ํฌํจ ใ
)์ถ๋ ฅ
if(input.equals("exit@")) {
break;
}
str += input + "\n";
}
System.out.println("==================");
System.out.println(str);
}
public void ex4() {
// ๋จ, 2๋จ์ *2๊น์ง, 3๋จ์ *3๊น์ง๋ง...9๋จ์ *9๊น์ง ์ถ๋ ฅ
for(int dan = 2; dan <= 9; dan++) {
for(int num = 1; num <= 9; num++) {
System.out.printf("%d X %d = %2d ", dan, num, dan * num);
if(num == dan) {
break;
}
}
System.out.println();
}
}
public void ex5() {
// 1~10๊น์ง 1์ฉ ์ฆ๊ฐํ๋ฉฐ ์ถ๋ ฅ
// ๋จ, 3์ ๋ฐฐ์ ์ ์ธ
for(int i = 1; i <= 10; i++) {
if(i % 3 == 0) {
continue;
}
System.out.print(i + " ");
}
}
public void ex6() {
// 1~100๊น์ง 1์ฉ ์ฆ๊ฐํ๋ฉฐ ์ถ๋ ฅํ๋ ๋ฐ๋ณต๋ฌธ
// ๋จ, 5์ ๋ฐฐ์๋ ๊ฑด๋๋ฐ๊ณ
// ์ฆ๊ฐํ๋ ๊ฐ์ด 40์ด ๋์์ ๋ ๋ฐ๋ณต์ ๋ฉ์ถค
// ์ถ๋ ฅ์์
// 1
// 2
// 3
// ...
// 39
for(int i = 1; i <= 100; i++) {
if(i == 40) {
break;
}
if(i % 5 == 0){
continue;
}
System.out.println(i);
}
}
: Math.random(); -> 0.0์ด์ 1.0๋ฏธ๋ง์ ๋์(๋๋ค์ ์) ์์ฑํ๋ ํจ์์ด๋ค.
public void RSPgame() {
System.out.println("[๊ฐ์ ๋ฐ์ ๋ณด ๊ฒ์~!!]");
System.out.print("๋ช ํ ? : ");
int round = sc.nextInt();
int win = 0;
int draw = 0;
int lose = 0;
for(int i = 1; i <= round; i++) {
System.out.println("\n" + i + "๋ฒ์งธ ๊ฒ์");
System.out.print("๊ฐ์/๋ฐ์/๋ณด ์ค ํ๋๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : ");
String input = sc.next();
int random = (int)(Math.random() * 3 + 1);
// 1) 1~3 ์ฌ์ด ๋์๋ฅผ ์์ฑํ์ฌ
// 2) 1์ด๋ฉด ๊ฐ์, 2๋ฉด ๋ฐ์, 3์ด๋ฉด ๋ณด ์ง์ ํด์ผํจ (switch)
// x : 0.0 <= x < 1.0
// x * 3 : 0.0 <= x < 3.0
// x + 1 : 1.0 <= x < 4.0
// (int)x : 1 <= x < 4
// -> x = 1 ~ 3์ด๋ค.
String com = null; // ์ปดํจํฐ๊ฐ ์ ํํ ๊ฐ์/๋ฐ์/๋ณด๋ฅผ ์ ์ฅํ๋ ๋ณ์
// null์ ์๋ฌด๊ฒ๋ ์ฐธ๊ณ ํ๊ณ ์์ง ์์.
switch(random) {
case 1 : com = "๊ฐ์"; break;
case 2 : com = "๋ฐ์"; break;
case 3 : com = "๋ณด"; break;
}
System.out.println("์ปดํจํฐ๋ [" + com + "]๋ฅผ ์ ํํ์ต๋๋ค.");
// ์๋๋ถํฐ ์ปดํจํฐ์ ํ๋ ์ด์ด ๊ฐ์๋ฐ์๋ณด ํ๋ณํ๋ ์ฝ๋ ์์ฑ
if(input.equals(com)) {
System.out.println("๋น๊ฒผ์ต๋๋ค.");
draw++;
}else {
boolean win1 = input.equals("๊ฐ์") && com.equals("๋ณด");
boolean win2 = input.equals("๋ฐ์") && com.equals("๊ฐ์");
boolean win3 = input.equals("๋ณด") && com.equals("๋ฐ์");
if(win1 || win2 || win3) {
System.out.println("ํ๋ ์ด์ด ์น!");
win++;
}else {
System.out.println("์ก์ต๋๋ค ใ
ใ
");
lose++;
}
}
System.out.printf("ํ์ฌ ๊ธฐ๋ก : %d์น %d๋ฌด %dํจ\n", win, draw, lose);
}
}
์ ๋ณด๊ฐ ํ๋ถํด์ ๋ง์ ๋์์ด ๋์์ต๋๋ค.