Jam's story

배열 본문

자바

배열

애플쩀 2022. 1. 1. 17:57
배열은 같은 타입의 많은 데이터를 효율적으로 저장할 수 있다. 

선언과 동시에 저장할 수 있는 데이터 타입이 정해진다. 

 

배열의 선언
타입[] 변수; 

int[] apple;
String[] a;
Char[] ba;

 

타입 변수[];

int apple[];
String str[];
double ap[];

[] 이것이 배열을 나타내는 기호인데, 이것을 타입이나 변수 뒤에 한번 적어준다. 

 

배열은 참조변수

힙 영역에 생성되고, 배열변수는 힙 영역의 배열객체를 참조한다.
null로 초기화가 가능하다

null로 초기화된 상태에서는 값을 읽지 못한다 

 

 

예시

package smhrd;

import java.io.IOException;
import java.util.Scanner;

public class Exam {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub}
		
		int[] scores= {30,40,50};
		
		for(int i=0; i<scores.length; i++) {
			System.out.println("scores["+i+"]"+ scores[i]);
		}
		
		
		int sum=0;
		for(int i=0; i<scores.length; i++) {
			sum+=scores[i];
		}
		System.out.print("총합은:"+sum);
		
}}

 

변수를 미리 설정해놓고 나중에 값을 설정할때에는 new 타입[] 이용 
타입[] 변수;
변수={값1, 값2,값3}; //컴파일 에러
변수 =new 타입[] {값1, 값2, 값3};

int[] a;
a=new int[] {1,2,3};

 

배열의 길이를 설정 
타입[] 변수=new 타입[길이];

int[] array=new int[5];

그 후 , 값을 저장할때는 인덱스를 이용해서 직접 저장한다 

변수[인덱스]=값;

 

문자열을 정수로 변환- integer.parseInt

int 변수=integer.parseInt("문자열");

 

 


배열의 복사 

-for 문의 사용

-System.arraycopy사용 (4개의 매개변수가 있음 ) 

System.arraycopy( 예전배열, 예전배열 시작인덱스, 새로운배열 , 새로우배열시작인덱스, 몇개를 복사할건지) 

예제 

for문 사용

 

package smhrd;

import java.io.IOException;

public class Exam {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub}
		int oldArray[]= {1,2,3};
		int newArray[]=new int[5];
		
		for(int i=0; i<oldArray.length; i++) {
			newArray[i]=oldArray[i];
		}
		for(int i=0; i<newArray.length; i++) {
			System.out.println(newArray[i]);
		}
	}}

System.arraycopy사용

package smhrd;

import java.io.IOException;

public class Exam {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub}
		String[] oldArray= {"java", "array", "copy"};
		String[] newArray=new String[4];
		
		System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
		
		for(int i=0; i<newArray.length; i++) {
			System.out.println(newArray[i]);
		}
	}}

'자바' 카테고리의 다른 글

향상된 for문  (0) 2022.01.02
다차원배열  (0) 2022.01.01
참조변수  (0) 2021.12.31
continue 문  (0) 2021.12.31
for의 바깥쪽 반복문 종료  (0) 2021.12.31
Comments