- for 문
문장을 반복해서 수행해야 할 경우에 사용한다.
- for 문 구조
String[] numbers = {"one", "two", "three"};
for(int i=0; i<numbers.length; i++) {
System.out.println(numbers[i]);
}
//one
//two
//three
for(int i = 0; i < numbers.lengh; i++)
int형 변수 i가 0부터 numbers.length인 numbers 배열 길이 - 1이 될 때까지 i를 1씩 증가시키며 반복한다.
괄호 안의 문장이 0에서 numbers.length - 1될 때까지 반복하여 배열의 원소를 출력한다.
이때 numbers 배열의 길이는 3이므로 0부터 2까지 배열 원소에 접근하여 값을 출력하게 된다.
for (초기치; 조건문; 증가치) {
...
}
int[] marks = {90, 25, 67, 45, 80};
for(int i=0; i<marks.length; i++) {
if (marks[i] >= 60) {
System.out.println((i+1)+"번 학생은 합격입니다.");
}else {
System.out.println((i+1)+"번 학생은 불합격입니다.");
}
}
배열의 인덱스가 0부터 marks.length-1까지 접근되므로 배열의 각 원소에 대한 if문이 실행된다.
60이상일 경우 합격, 아닐 경우 불합격이라는 문장이 출력된다.
이때 학생 수를 세는 수의 시작은 1이므로 i+1로 나타내어 출력한다.
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
- continue, break
while문에서와 동일하게 동작한다.
*이전 포스트 참고
int[] marks = {90, 25, 67, 45, 80};
for(int i=0; i<marks.length; i++) {
if (marks[i] < 60) {
continue; // 조건문으로 돌아간다.
}
System.out.println((i+1)+"번 학생 축하합니다. 합격입니다.");
}
//1번 학생 축하합니다. 합격입니다.
//3번 학생 축하합니다. 합격입니다.
//5번 학생 축하합니다. 합격입니다.
- 이중 for 문
for(int i=2; i<10; i++) {
for(int j=1; j<10; j++) {
System.out.print(i*j+" ");
}
System.out.println(""); // 줄을 바꾸어 출력하는 역할을 한다.
}
첫번째 for문에서 int i는 2부터 9까지 1씩 증가한다.
두번째 for문에서는 int j가 1에서 9까지 1씩 증가한다.
이때 두번째 for문 안에서 i와 j의 곱을 구하여 출력한다.
따라서 2*1, 2*2, 2*3 ... 9*7, 9*8, 9*9의 값을 얻을 수 있다.
또, println을 사용하여 줄바꿈 문자를 사용하지 않고 한 단씩 출력했다.
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
'Java > [점프 투 자바] 하루 공부 정리' 카테고리의 다른 글
| 04장 연습 문제 (0) | 2023.02.15 |
|---|---|
| for each 문 (0) | 2023.02.15 |
| while문 (0) | 2023.02.13 |
| switch/case 문 (0) | 2023.02.12 |
| if문 (0) | 2023.02.11 |