코딩이란 무엇일까

[Java/자바]배열(4) 배열의 복제 및 foreach문 본문

Java

[Java/자바]배열(4) 배열의 복제 및 foreach문

둥구는 지굴다 2022. 9. 24. 15:13

안녕하세요 오늘은 배열 부분에서 배열의 복사 및 foreach부분을 알아보겠습니다.

배열의 복사

배열의 복사는 말 그대로 배열을 복사할 때 사용하는 문법입니다.

우선 import java.util.Arrays; 을 임포트 해줍니다. 그 뒤로

구조는 Systemarry(src, srcPos, dest, destPos, length);

 

src => 복사할 배열을 적습니다.

srcPos => 복사를 할 배열의 시작할 인덱스를 적습니다.

dest => 붙여 넣을 배열을 적습니다.

destPost => 덮어쓰기를 시작할 인덱스를 적습니다.

length => 복사할 길이를 적습니다.

 

배열의 복사 예시

복잡한 코드는 아니어서 따로 설명드릴 것은 없지만 배열 a와 b를 생성하여 a [2]부터 배열을 복사해 b [3]에 4만큼의 길이를 복사하겠다는 코드입니다.

package day05_foreach;

import java.util.Arrays;

public class Array_System {

	public static void main(String[] args) {
		int []a = {1,2,3,4,5,6};
		int[]b= {0,0,0,0,0,0,0};
		
		System.out.println(Arrays.toString(a));
		System.out.println(Arrays.toString(b));
		
		System.arraycopy(a, 2, b, 3, 4); //a의 2번째 인덱스 값부터 b의 3번째 인덱스 값에 
							//4개의 a배열의 요소를 복사할게
		System.out.println(Arrays.toString(b));

	}

}

출력 결과

for each문

저희가 배열을 출력하거나 배열에 많은 값을 반복적으로 넣을 때 for문을 사용했었죠?

for each문은 for문하고 구조는 거의 비슷합니다. 하지만 조금 더 편리하게 배열을 순환할 수 있도록

새로운 문법을 제공합니다.

for each문 구조

for(자료형 변수명:배열명){
변수가 배열을 순환하면서 반복할 명령;
}

우리가 사용하는 for문에서 ( ) 조건식이 들어가는 부분만 조금 다릅니다.

for each문 예시

3개의 과일을 저장하는 문자열 fruits [] 배열을 만들어서 사용자에게 3개의 과일의 이름을 입력받아

fruits에 저장하여 for-each문을 사용하여 입력받은 과일의 이름을 출력하는 코드를 만들어 보겠습니다~

import java.util.Scanner;

public class Arrays_Foreach2 {

	public static void main(String[] args) {
	Scanner sc= new Scanner(System.in);
	String fruits[]=new String[3]; //과일을 입력받을 문자열 배열 생성
	
	for(int i=0;i<3;i++) { //for문을 사용하여 반복하여 입력받음
		System.out.print("과일을 입력해 주세요:");
		fruits[i]=sc.nextLine();
	}
	System.out.println("입력하신 과일은 ");
	for(String i:fruits) { //for-each문을 사용하여 문자열 변수 i를 생성하여 
    					//fruits배열에있는 값을 넣어줌
		System.out.println(i); // 배열의 값을 i변수에 넣어주었기 때문에 i를 출력
	}

	}

}

출력 결과

입력한 과일들이 i변수에 담겨 잘 출력된 것을 볼 수 있겠네요.

자 이상으로 배열의 복사 및 for-each문에 대하여 알아보았습니다.

글 읽어주셔서 감사합니다.

이상! 포스팅 마치겠습니다~

Comments