[Java] 제어문2 (for/for-each)

이용준·2022년 10월 26일
0

Java

목록 보기
11/29

1.for문

for문도 while문과 마찬가지로 문장을 반복해 사용할 경우 사용한다.
(while과 다른 점은 반복 횟수를 알고 있을때 사용한다.)

1-1. for문 예제

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

  • while과 마찬가지로 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("");
}  

2.for each문

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)
profile
뚝딱뚝딱

0개의 댓글