빠른 for문 (향상된for문, forEach문) |
for(자료형 변수명 : 컬렉션){ 변수로 컬렉션 내부 요소를 하나씩 꺼내 오면서 반복 } |
- 단순하게 모든 요소들을 순회할 때 사용하는 것이 좋다. 순서가 중요한 경우 기존 for문을 써야한다.
- 배열처럼 여러 원소로 이루어진 집합의 모든 원소에 대해 특정 작업을 반복하기 위해 사용한다.
- ArrayList 같은 배열 원소 출력에 자주 사용한다.
- 간편하고 가독성 좋은 코드 작성이 가능하고 for문 조건식에서의 배열 인덱스 문제를 해결한다
(ArrayIndexOutOfBoundsException 예외를 피할 수 있다)
- 단점은 인덱스를 사용하지 못하고 배열이나 ArrayList값을 사용할 수 있지만 수정할 수 없다는 점이 있다.
[일차원 배열에서의 사용 예시]
String[] arr = {"1","2","3","4","5"};
for(String s : arr) {
System.out.println(s);
}
[이차원 배열에서의 사용 예시]
package day04;
import java.util.ArrayList;
public class School {
public static void main(String[] args) {
int[][] arrScore = {
{10, 20, 30},
{11, 25, 39},
{12, 26, 38},
{13, 27, 37},
{14, 28, 36}
};
int total = 0;
double avg = 0.0;
//빠른 for문을 사용해서 학생별 평균과 총합을 출력
System.out.println("=============================");
for(int[] arScore : arrScore) {
total = 0;//한학생마다 총점초기화
for(int score : arScore) {
total += score; //2차원 배열이기 때문에 빠른for문을 두번 쓴다.
}
avg = (double)total / arScore.length;
avg = Double.parseDouble(String.format("%.2f", avg));
System.out.println("총점 : " + total + "점");
System.out.println("평균 점수 : " + avg + "점");
System.out.println("=============================");
}
}
}
[3차원 배열에서의 사용 예시]
String[][][] arr = {{{"1-1","1-2","1-3","1-4","1-5"},{"2-1","2-2","2-3","2-4","2-5"}},
{{"3-1","3-2","3-3","3-4","3-5"},{"4-1","4-2","4-3","4-4","4-5"}}};
for(String[][] arrtop : arr) {
for(String[] arrs : arrtop) {
for(String s : arrs) {
System.out.println(s);
}
}
}
[구구단 출력 예시]
class Play{
void gugu(int...args){
int result;
for(int dan : args){ // 입력받은 단까지의 출력을 위해 향상된 for문 사용
for(int i =1; i<=9;i++){
System.out.println(dan +"X"+i +"="+(dan*i));
}
System.out.println();
}
}
}
public class gugudan{
public static void main(String[] args) {
Play g = new Play();
g.gugu(2,5,9);
}
}
'JAVA > JAVA2' 카테고리의 다른 글
[java2] #14 - ArrayList (개념/사용법) (0) | 2022.07.19 |
---|---|
[java2] #13 - Wrapper Class (래퍼 클래스) (0) | 2022.07.19 |
[java2] #11 - Object, equals(), hashCode() (0) | 2022.07.19 |
[java2] #10 - Generic(제네릭) (0) | 2022.07.16 |
[java2] #09 - Exception(예외)종류와 처리 (0) | 2022.07.14 |