🙌
プログラミング自主学習 35日目 参照型(配列)
参照型(配列)
★配列は、一度決まった以上長さが変わらない。
配列は、宣言時初期化が必須である。万が一初期化しなかった場合は、新しい配列を生成する必要がある。
String a;
a="abc"; // -> OK
String[] aa
//aa={abc}; //-> ERROR
aa = new String[] {a,b,c}; // -> OK
ただし、indexを通して値を変更することはできる。
aa[2] = d; //OK
その場合は配列の変数aaが参照する配列aaの値は変わる。
{a,b,d}
配列のnew演算子で生成し、配列の長さのみ決めた場合は自動的に初期値が割当たる。
byte,short,int[] = 0 long[]= 0L char[] = '\u0000'
float[] =0.0f double[] =0.0
boolean[] = false
class[] = null
interface[] = null
public class ArrayCreateByNewExample {
public static void main(String[] args) {
//배열 변수의 선언과 생성
int[] arr1= new int[3];
//배열 항목의 초기값 출력
for(int i=0; i<3; i++) {
System.out.print("arr1[" + i +"] : " + arr1[i]+",");
}
System.out.println();
//배열의 값 항목 변경
arr1[0]= 10;
arr1[1]= 20;
arr1[2]= 30;
//배열 항목의 변경 값 변경
for(int i=0; i<3;i++) {
System.out.print("arr1[" + i +"] : " + arr1[i]+",");
}
System.out.println("\n");
//배열 변수 선언과 배열 생성
double[] arr2 = new double[3];
//배열 항목의 초기값 출력
for(int i=0; i<3; i++) {
System.out.print("arr2[" + i + "] : " + arr2[i] + ",");
}
System.out.println();
//배열 항목의 값 변경
arr2[0] = 0.1;
arr2[1] = 0.2;
arr2[2] = 0.3;
//배열 항복의 변경값 출력
for(int i=0; i<3;i++) {
System.out.print("arr2[" + i + "] : " + arr2[i] + ",");
}
System.out.println("\n");
//배열 변수 선언과 배열 생성
String[] arr3 = new String[3];
//배열 항목의 초기값 검색
for(int i=0;i<3;i++) {
System.out.print("arr3[" + i +"] : " + arr3[i]+",");
}
System.out.println();
//배열 항목의 값 변경
arr3[0]= "1월";
arr3[1]= "2월";
arr3[2]= "3월";
//배열 항복의 변경값 출략
for(int i=0;i<3;i++) {
System.out.print("arr3[" + i +"] : " + arr3[i]+",");
}
}
}
public class ArrayCreateByValueListExample1 {
public static void main(String[] args) {
//배열 변수 선언과 배열 생성
String[] season = {"Spring", "Summer", "Fall", "Winter"};
//배열의 항목값 읽기
System.out.println("season[0] : " + season[0]);
System.out.println("season[1] : " + season[1]);
System.out.println("season[2] : " + season[2]);
System.out.println("season[3] : " + season[3]);
//인덱스 1번 항목의 값 변경
season[1] ="여름";
System.out.println("season[1] : " + season[1]);
System.out.println();
//배열 변수 선언과 배열 생성
int[] scores = {83,90,87};
//종합과 평균 구하기
int sum = 0;
for(int i=0; i<3; i++) {
sum +=scores[i];
}
System.out.println("총합 : " +sum);
double avg = (double)sum/3;
System.out.println("평균 : " + avg);
}
}
public class ArrayCreateByValueListExample2 {
public static void main(String[] args) {
//배열 변수 선언
int[] scores;
//배열 변수에 배열을 대입
scores = new int[] {83, 90, 87};
//배열 항목의 총합을 구하고 출력
int sum1 =0;
for(int i=0; i<3;i++) {
sum1 +=scores[i];
}
System.out.println("총합: " + sum1);
//배열을 매개값으로 주고, printItem() 메소드 호출
printItem(new int[] {83,90,87});
}
//printItem() 메소드 선언
public static void printItem(int[] scores) {
//매개변수가 참조하는 배열의 항목을 출력
for(int i=0; i<3; i++) {
System.out.println("score{"+i+"}:" + scores[i]);
}
}
}
public class ArrayLengthExample {
public static void main(String[] args) {
//배열 변수 선언과 대입
int[] scores = {84,90,96};
//배열 항목의 총합 구하기
int sum=0;
for(int i=0;i<scores.length;i++) {
sum+=scores[i];
}
System.out.println("총합: " + sum);
//배열 항목의 평균 구하기
double avr = sum/3.0;
System.out.println("평균: " + avr);
}
}
Discussion