Jam's story
배열 본문
배열은 같은 타입의 많은 데이터를 효율적으로 저장할 수 있다.
선언과 동시에 저장할 수 있는 데이터 타입이 정해진다.
배열의 선언
타입[] 변수;
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