🙌

プログラミング自主学習 35日目 参照型(配列)

2023/06/30に公開

参照型(配列)

★配列は、一度決まった以上長さが変わらない。

配列は、宣言時初期化が必須である。万が一初期化しなかった場合は、新しい配列を生成する必要がある。

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