for문도 while문과 마찬가지로 문장을 반복해 사용할 경우 사용한다.
(while과 다른 점은 반복 횟수를 알고 있을때 사용한다.)
1) 전형적인 for문
String[] numbers = {"one", "two", "three"}
for (int i=0; i<numbers.length; i++){
System.out.println(numbers[i]);
}
2) 조건이 포함된 for문
(조건)학생들의 점수 중 60점이 넘으면 "합격" 미달이면 "불합격" 출력
int[] score = {90,25,67,45,80};
for (int i=0; i<score.length; i++){
if (score[i] >= 60 {
System.out.println((i+1)+"번 학생은 합격입니다.")
//System.out.println(String.format("%d번 학생은 합격입니다.",i+1)); //위 구문과 같은 구문이다.
}else{
System.out.println(String.format("d번 학생은 불합격입니다.",i+1));
}
}
3) for와 continue
for문
에도 continue
가 동일하게 적용된다.continue
문을 만나면 for문
의 처음으로 돌아간다.60점 이상인 학생에게 합격 출력하기.
int[] marks={90,25,67,45,80};
for(int i=0; <marks.length; i++){
if (marks[i] < 60){
continue;
}
System.out.println(String.format("%s번 학생 합격입니다.".i+1));
}
}
4) 이중 for문
for(int=2; i<10; i++){
for(int j=i; j<10; j++){
System.out.print(i*j+" "); // " " 기호로 여백 추가
}
System.out.pritnln("");
}
for each문은 J2SE5.0부터 추가되었다 한다. 해당 키워드가 별도로 존재하는 것은 아니지만 조건식의 문법이 조금 다르다.
for each문은 다음과 같다.
for (type var: iterate){
body-of-loop
}
* iterate, 루프를 돌릴 객체(ArrayList와 배열만 사용 가능)
(기존 for문)
String[] numbers= {"one","two","three"};
for(int i=0; i<numbers.length; i++){
System.out.println(numbers[i]);
}
-----------------------------------------------
(for each문)
String[] numbers = {"one","two","three"};
for(String number: numbers){
System.out.println(number)l
}
for each문은 알 것 같으면서도 모르겠다.
위 코드를 python으로 바꾼다면 다음과 같지 않을까?
numbers = ["one","two","three"]
for number in numbers:
print(number)