본문 바로가기
Java/[점프 투 자바] 하루 공부 정리

for 문

by 개발로 냥냥펀치 2023. 2. 14.

- 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