본문 바로가기

Study/JAVA

Range-based for

-> 무조건 범위 전체를 탐색하는 for-loop 반복문임

 

기본적인 range-based for 문법

public class Main{
    public static void main(String[] args){
        
        int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int sum = 0;
        
        for(int x : a) { //'a' 주소로 가서 모든 데이터를 하나씩 끄집어 내어 'x'에 담으면서 전개됨
            System.out.print(x + ",");
            sum += x;
        }
        System.out.format("\nsum = " + sum);
    }
}

 

 

import java.util.Arrays;

public class Main{
    public static void main(String[] args){
        char a[] = {'j', 'a', 'v', 'a'};
        int len = 0;
        
        //case 1
        for(var x : a){
            len++;
            System.out.print(x);
        }
        System.out.println(", len: " + len);
        
        //case 2
        String b = "programming";
        len = 0;
        for(var x : b.toCharArray()){
            len++;
            System.out.print(x);
        }
        System.out.println(", len: " + len);
        
        //case 3
        char[] c = new char[20];
        Arrays.fill(c, ' ');
        System.arraycopy(a, 0, c, 0, a.length);
        System.arraycopy(b.toCharArray(), 0, c, 5, 11);
        len = 0;
        for(var x : c){
            len++;
            System.out.print(x);
        }
        System.out.println(", len: " + len);
    }
}

-> 'a'의 주소로 가면, 'j', 'a', 'v', 'a' 데이터 4개가

-> 'b'의 주소로 가면 클래스 덩어리가 있음

 

-> 그래서 문자열 데이터를 toCharArray( ) 함수 활용하여 문자열을 구성하는 문자 컬렉션만 뽑아내고,

-> 이 주소를 사용하고 있음

 

 

'Study > JAVA' 카테고리의 다른 글

Java 기술면접 준비  (0) 2021.07.29
var  (0) 2021.02.16
bit operator  (0) 2021.02.16
2-D Array  (0) 2021.02.16
1 - D Array  (0) 2021.02.15