Theme. for문
먼저, 기본적인 for문 하나를 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package test;
public class MainClass {
public static void main(String[] args) {
int i;
for(i = 0; i < 5 ; i++) { // (초기화; 조건식; 증감식)
System.out.println("for loop i = " + i); //수행될 문장
}
System.out.println("i = " + i); // for문을 빠져나왔을 때, i 값
}
}
|
cs |
설명하자면,
변수 i에 0을 저장한다음, 매 반복마다 i의 값을 1씩 증가시킨다.
i값이 5가 되면 더이상 5보다 작지 않기 때문에 i < 5가 거짓이 되어 반복을 마친다.
즉 i값이 0부터 4까지 1씩 증가하니까 모두 5번 반복하는 것이 된다.
그 결과는 다음과 같다.
< Console >
이제 for문의 형식에 대해 살펴보자
1
2
3
|
for (초기화; 조건식; 증감식) {
조건식이 참일 때 수행될 문장을 적는다.
}
|
cs |
사용될 변수를 초기화할 때, 둘 이상의 변수가 필요하다면 "i = 0, j = 1"과 같이 콤마 ","를 사용한다.
증감식의 경우 "i++", "i--" 을 주로 사용하나, "i = i + 2"처럼 필요에 따라 작성할 수도 있다.
for문을 사용하여 코드를 작성해보자.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
package test;
public class MainClass {
public static void main(String[] args) {
int i;
for(i = 0; i < 5 ; i++) { // (초기화; 조건식; 증감식)
System.out.println("for loop i = " + i); //수행될 문장
}
System.out.println("i = " + i); // for문을 빠져나왔을 때, i 값
for(i = 1; i <= 10 ; i++) {
System.out.println("for loop i = " + i);
}
System.out.println("i = " + i);
for (i = 0; i < 10; i = i + 2) {
System.out.println("for loop i = " + i);
}
System.out.println("i = " + i);
for (i = 10; i > 0; i--) {
System.out.println("for loop i = " + i);
}
/*
무한 loop를 조심하자
for (i = 0; ; i++) {
System.out.println("for loop i = " + i);
}
*/
// for문 안에서만 사용할 수 있는 변수 선언 및 사용
for(int j = 0; j < 10; j++) {
System.out.println("for loop j = " + j);
}
// 2중 for
// n = 0 1 2 3 4 일 때, 각각!! k = 0 1 2 실행
for (int n = 0; n < 5; n++) { // n = 0 1 2 3 4
System.out.println("for n = " + n);
for(int k = 0; k < 3; k++) { // k = 0 1 2
System.out.println("\tfor k = " + k);
}
}
// for + if + array
int[] array = {2, 4, 5, 6, 8};
for(i = 0; i < array.length ; i++) {
System.out.println(array[i]);
}
for(i = 0; i < array.length; i++) {
if(array[i] == 6) {
System.out.println("6을 찾았습니다.");
}
}
for(i = 0; i < array.length; i++) {
if(array[i] % 2 == 1) { //홀수 표현
System.out.println("홀수가 있다 " + array[i] + "입니다");
}
}
for(i = 0; i < array.length; i++) {
if(array[i] % 2 == 0) { //짝수 표현
System.out.println("짝수가 있다 " + array[i] + "입니다");
}
}
}
}
|
cs |
Theme. while문
while문은 조건식이 참(true)인 동안, 즉 조건식이 거짓이 될 때까지 블럭 { }내의 문장을 반복한다.
먼저 기본적인 while문을 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package test;
public class MainClass {
public static void main(String[] args) {
int w;
w = 0; // 초기화
while(w < 5) { // 조건식
System.out.println("while loop " + w); // 처리
w++; // 증감식
}
}
}
|
cs |
결과는 다음과 같다.
< Console >

형식을 보면 다음과 같다.
1
2
3
4
5
|
초기화
While (조건식) { 조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적는다.
증감식
}
|
cs |
for문에 비해 while문은 구조가 간단하다.
for문과 while문을 비교해보자. (같은 결과가 나오도록 하는 코드를 비교)
Theme. 이중 for문과 이중 while문
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
32
33
34
|
package test;
public class MainClass {
public static void main(String[] args) {
// 이중 for문 vs 이중 while문
// 이중 for문
for(int i = 0; i < 5; i++) {
System.out.println("i = " + i);
for(int j = 0; j < 3; j++) {
System.out.println("\tj = " + j);
}
}
// 이중 while문
int w1, w2;
w1 = 0;
while(w1 < 5) {
System.out.println("w1 = "+ w1);
w2 = 0;
while(w2 < 3) {
System.out.println("\tw2 = "+ w2);
w2++;
}
w1++;
}
}
}
|
cs |
while문 코드를 작성해보자(배열을 이용한)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
package test;
public class MainClass {
public static void main(String[] args) {
// array + while
int[] arr = { 1,2,3,4,5,6,7,8,9,10};
int a;
a = 0;
while(a < arr.length) {
System.out.println(arr[a]);
a++;
}
a = 0;
while(a < arr.length) {
if(arr[a] == 5) {
System.out.println("5을 찾았습니다.");
}
a++;
}
a = 0;
while(a < arr.length) {
if (arr[a] % 2 == 1) {
System.out.print(arr[a]);
}
a++;
}
System.out.println();
a = 0;
while(a < arr.length) {
if (arr[a] % 2 == 0) {
System.out.print(arr[a]);
}
a++;
}
}
}
|
cs |
Theme. do - while문
do-while문은 기본적인 구조가 while문과 같지만, 조건식과 블럭 { }의 순서를 바꿔놓은 것이다.
그래서 while문과 반대로 블럭 { }을 먼저 수행한 후에 조건식을 평가한다.
while문은 조건식의 결과에 따라 블럭 { }이 한번도 수행되지 않을 수 있지만,
do-while문은 최소한 한번은 수행될 것을 보장한다.
형식부터 살펴보자
1
2
3
4
5
6
|
초기화
do {
조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
증감식
} while (조건식);
|
cs |
간단한 코드를 작성해보면,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package test;
public class MainClass {
public static void main(String[] args) {
int w;
w = 0;
do {
System.out.println("do while = " + w);
w++;
} while(w < 5);
}
}
|
cs |
끝.
'Java' 카테고리의 다른 글
함수 사용 (4) | 2022.12.26 |
---|---|
break, continue (0) | 2022.12.23 |
조건문 - if, switch (0) | 2022.12.22 |
형변환 (0) | 2022.12.21 |
화면에서 입력받기 - Scanner (0) | 2022.12.20 |