JAVA chapter 04. 조건문과 반복문. 


4.3 반복문 (for문, while문, do-while문)


4.3.1 for문

1
2
3
4
5
6
7
8
9
package sec03.exam01_for;
 
public class ForPrintFrom1To10Example {
    public static void main(String[] args) {
        for(int i=1; i<=10; i++) {
            System.out.println(i);
        }
    }
}
cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package sec03.exam01_for;
public class ForSumFrom1To100Example {
    public static void main(String[] args) {
        /*
        int sum = 0; 
        
        for(int i=1; i<=100; i++) {
            sum += i;
        }
        
        System.out.println("1~100 합 : " + sum);
        */
        
        int sum = 0
        
        int i = 0;
        for(i=1; i<=100; i++) {
            sum += i;
        }
        
        System.out.println("1~" + (i-1+ " 합 : " + sum);
    }
}
cs



// for문 작성할 때 초기화식에서 루프 카운트 변수를 선언할 때 부동소수점 타입을 사용하지 말아야 한다.
// 0.1은 float 타입으로 정확하게 표현할 수 없기 때문에 x에 더해지는 실제값은 0.1보다 약간 크다

1
2
3
4
5
6
7
8
package sec03.exam01_for;
public class ForFloatCounterExample {
    public static void main(String[] args) {
        for(float x=0.1f; x<=1.0f; x+=0.1f) {
            System.out.println(x);
        }
    }
}
cs


1
2
3
4
5
6
7
8
9
10
11
package sec03.exam01_for;
public class ForMultiplicationTableExample {
    public static void main(String[] args) {
        for (int m=2; m<=9; m++) {
            System.out.println("*** " + m + "단 ***");
            for (int n=1; n<=9; n++) {
                System.out.println(m + " x " + n + " = " + (m*n));
            }
        }
    }
}
cs


4.3.2 while문

1
2
3
4
5
6
7
8
9
10
package sec03.exam02_while;
public class WhilePrintFrom1To10Example {
    public static void main(String[] args) {
        int i = 1;
        while (i<=10) {
            System.out.println(i);
            i++;
        }
    }
}
cs




1
2
3
4
5
6
7
8
9
10
11
12
13
14
package sec03.exam02_while;
public class WhileSumForm1To100Example {
    public static void main(String[] args) {
        int sum = 0
        int i = 1;
        
        while(i<=100) {
            sum += i;
            i++;
        }
        
        System.out.println("1~" + (i-1+ " 합 : " + sum);
    }
}
cs



숫자

알파벳

기능 키

방향키

0 = 48

1 = 49

2 = 50

3 = 51

4 = 52

5 = 53

6 = 54

7 = 55

8 = 56

9 = 57

A = 65

B = 66

C = 67

D = 68

E = 69

F = 70

G = 71

H = 72

I = 73

J = 74

K = 75

L = 76

M = 77

N = 78

O = 79

P = 80

Q = 81

R = 82

S = 83

T = 84

U = 85

V = 86

W = 87

X = 88

Y = 89

Z = 90

a = 97

b = 98

c = 99

d = 100

e = 101

f = 102

g = 103

h = 104

i = 105

j = 106

k = 107

l = 108

m = 109

n = 110

o = 111

p = 112

q = 113

r = 114

s = 115

t = 116

u = 117

v = 118

w = 119

x = 120

y = 121

z = 122

Backspace = 8

Tab = 9

Enter = [CR=13,LF=10]

Shift = 16

Ctrl = 17

Alt = 18

ESC = 27

Space = 32

PAGEUP = 33

PAGEDOWN = 34

← = 37

↑ = 38

→ = 39

↓ = 40




System.out.printIn() 메소드는 매개값을 출력하고 다음 행으로 이동.

System.out.print() 메소드는 매개값을 출력만 하고 다음 행으로 이동하지 않는다.


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
package sec03.exam02_while;
public class  WhileKeyControlExample {
    public static void main(String[] args) throws Exception {
        boolean run = true;        
        int speed = 0;
        int keyCode = 0;
        
        while(run) {
            if(keyCode!=13 && keyCode!=10) {
                System.out.println("-----------------------------");
                System.out.println("1.증속 | 2.감속 | 3.중지");
                System.out.println("-----------------------------");
                System.out.print("선택: ");
            }
            
            keyCode = System.in.read(); // 키보드의 키 코드를 읽음
            
            if (keyCode == 49) { //1
                speed++;
                System.out.println("현재 속도=" + speed);
            } else if (keyCode == 50) { //2
                speed--;
                System.out.println("현재 속도=" + speed);
            } else if (keyCode == 51) { //3
                run = false; // while문을 종료하기 위해 run 변수에 false를 저장
            }
        }    
        
        System.out.println("프로그램 종료");
    }
}
cs


4.3.3 do-while문

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package sec03.exam03_dowhile;
import java.util.Scanner;
 
public class  DoWhileExample {
    public static void main(String[] args) {
        System.out.println("메시지를 입력하세요");
        System.out.println("프로그램을 종료하려면 q를 입력하세요.");
        
        Scanner scanner = new Scanner(System.in); // Scanner 객체 생성
        String inputString;
        
        do {
            System.out.print(">");
            inputString = scanner.nextLine(); // 키보드가 입력한 문자열을 얻음
            System.out.println(inputString);
        } while! inputString.equals("q") ); // 문자열을 비교할 때는 equal() 메소드를 사용.
        // q가 저장되어 있으면 false가 산출되어 종료
        System.out.println();
        System.out.println("프로그램 종료");
    }
}
cs



4.3.4 break문



1
2
3
4
5
6
7
8
9
10
11
12
13
14
package sec03.exam04_break;
 
public class  BreakExample {
    public static void main(String[] args) throws Exception {
        while(true) {
            int num = (int)(Math.random()*6+ 1;
            System.out.println(num);
            if(num == 6) {
                break;
            }
        }
        System.out.println("프로그램 종료");
    }
}
cs



// break문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료시키지 않는다.

// 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(라벨)을 붙이고, "break 이름;"을 사용하면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package sec03.exam04_break;
 
public class  BreakOutterExample 
{
    public static void main(String[] args) throws Exception 
    {
        Outter: for(char upper='A'; upper<='Z'; upper++)
        {
            for(char lower='a'; lower<='z'; lower++
            {
                System.out.println(upper + "-" + lower);
                        if(lower=='g'
                        {
                            break Outter;
                        }
                    }
                }
        System.out.println("프로그램 실행 종료");
    }
}
cs

 




4.3.5 continue문

1
2
3
4
5
6
7
8
9
10
11
package sec03.exam05_continue;
public class  ContinueExample {
    public static void main(String[] args) throws Exception {
        for(int i=1; i<=10; i++) {
            if(i%2 != 0) {
                continue;
            }
            System.out.println(i);
        }
    }
}
cs


Posted by 너래쟁이
: