JAva基礎学習day 06(配列)


配列の概要1.理解:配列は複数の同じデータ型が一定の順序で並べられた集合であり、1つの名前を使用して名前を付け、番号付けでこれらのデータを統一的に管理します.
2.配列の概念:配列名要素の角標、下標、インデックス配列の長さ:要素の個数
3.配列の特徴(1)配列が整列している(2)配列は参照データ型の変数に属し、配列の要素は、基本データ型であってもよいし、参照データ型(3)配列オブジェクトを作成するとメモリに連続した空間が開く(4)配列の長さが決定されると修正できない
4.配列の分類:(1)次元数:1次元配列、2次元配列...(2)配列の要素タイプ、基本データ型要素の配列、配列タイプ要素を参照する配列
5.1つの配列の使用(1)次元配列の宣言と初期化(2)配列の指定された位置の要素をどのように呼び出すか(3)配列の長さをどのように取得するか(4)配列(5)配列要素のデフォルト初期化値をどのように遍歴するか(配列要素が整形ともに0、浮動小数点型が0.0、char型が0で'0でない、boolean型がfalse、配列要素が参照データ型の場合、デフォルトはnull、nullではない)(6)配列のメモリ解析
public class ArrayTest {
     
	
	public static void main(String[] args) {
     
		//1.           
		int num;//  
		num = 10;//   
		int id = 1001; //  +   
		
		int[] ids;//  
		//     :                    
		ids = new int[] {
     1001,1002,1003,1004};
		//     :                    
		String[] names = new String[5];
		
		//  :         ,       
		
		//2.              :         。
		//     (  ) 0   ,      -1  
		names[0] = "  ";
		names[1] = "  ";
		names[2] = "  ";
		names[3] = "  ";
		names[4] = "  ";
		//names[5] = "  ";        
		
		//3.             :length
		System.out.println(names.length);
		System.out.println(ids.length);
		
		//4.      
//		System.out.println(names[0]);
//		System.out.println(names[1]);
//		System.out.println(names[2]);
//		System.out.println(names[3]);
//		System.out.println(names[4]);
		for(int i = 0; i < names.length;i++) {
     
			System.out.println(names[i]);
		}
		
		//5.           
		int[] arr = new int[4];
		for(int i = 0; i < arr.length;i++) {
     
			System.out.println(arr[i]);
		}
	}
}

一次元配列の練習:キーボードから5人の学生の成績を入力して、最高点、最高点との差は非常にAで、20はBで、30はCで、残りはDです
import java.util.Scanner;

public class ArrayDemo {
     
	public static void main(String[] args) {
     
		//1.  Scanner,      
		Scanner scan = new Scanner(System.in);
		System.out.println("       :");
		int number = scan.nextInt();
		
		//2.    
		int[] arr = new int[number];
		
		//3.       
		System.out.println("   " + number + "   ");
		for(int i = 0;i < arr.length;i++) {
     
			arr[i] = scan.nextInt();
		}
		
		//4.         ,   
		int max = 0;
		for(int i = 0;i < arr.length;i++) {
     
			if(max < arr[i]) {
     
				max = arr[i];
			}
		}
			System.out.println("   :" + max);
		//5.               ,            
		char c;
		for(int i = 0;i < arr.length;i++) {
     
			if(max - arr[i] <= 10) {
     
				c = 'A';
			}else if(max - arr[i] <= 20) {
     
				c = 'B';
			}else if(max - arr[i] <= 30) {
     
				c = 'c';
		}else {
     
				c = 'D';
			}
			System.out.println("  " + i + "   :" + arr[i] + "     :" + c);
		}
		
	}
}

1.2次元配列の理解:2次元配列については、1次元配列array 1が別の1次元配列array 2の要素として存在すると見なすことができるが、配列の下層の動作メカニズムから見ると、実際には多次元配列はない
2.2 D配列の使用:(1)2 D配列の宣言と初期化(2)配列の指定された位置の要素をどのように呼び出すか(3)配列の長さをどのように取得するか(4)配列(5)配列要素のデフォルト初期化値(6)配列のメモリ解析をどのように遍歴するか
public class ArrayTest2 {
     
	public static void main(String[] args) {
     
		//(1)           
		int[] arr1 = new int[] {
     1,2,3}; //    
		//     
		int[][] arr2 = new int[][] {
     {
     1,2,3},{
     4,5},{
     6,7,8}};
		//     1
		String[][] arr3 = new String[3][2];//  
		String[] arr6[] = new String[3][];//        
		//     2
		String[][] arr4 = new String[3][];
		
//		   
//		String[][] arr5 = new String[][3];
//		String[3][4] arr4 = new String[][];
		
		//(2)              
		System.out.println(arr2[0][2]);//3
		System.out.println(arr3[1][1]);//null
		
		arr4[1] = new String[4];
		System.out.println(arr4[1][0]);
		
		//(3)         
		System.out.println(arr2.length); //3
		System.out.println(arr2[0].length);//3
		System.out.println(arr2[1].length);//2
		
		//(4)        
		for(int i = 0; i < arr2.length;i++) {
     
			for(int j = 0;j < arr2[i].length;j++) {
     
				System.out.print(arr2[i][j] + " ");
			}	
			System.out.println();
		}
		
		//(5)           
		int[][] arr = new int[4][3];
		System.out.println(arr[0]); //    [I@15db9742
		System.out.println(arr[0][0]); //0
		
		float[][] arr11 = new float[4][3];
		System.out.println(arr11[0]); //   
		System.out.println(arr11[0][0]);//0.0
		
		String[][] arr12 = new String[4][3];
		System.out.println(arr12[0]); //   
		System.out.println(arr12[0][0]);//null
		
		/*  :  int[][] arr = new int[4][3];
				          :   
				         :            
		
				  String[][] arr12 = new String[4][];
				          :null
				         :    ,    
		*/	
	}
}

練習:int[]{{3,5,8},{12,9},{7,0,6,4}};和を求める
public class ArrayDemo2 {
     
	public static void main(String[] args) {
     
		int arr[][] = new int[][] {
     {
     3,5,8},{
     12,9},{
     7,0,6,4}};
		int sum = 0;
		for(int i = 0;i < arr.length;i++) {
     
			for(int j = 0;j < arr[i].length;j++) {
     
				sum += arr[i][j];
			}
		}
		System.out.println("  :"+ sum);
	
	}
}