配列の定義、インスタンス化の宣言

4486 ワード

配列の定義:
配列は
同じデータ型のデータは
シーヶンス
参照データ型.
ここで「同じデータ型」とは、メモリ内のデータのデータ型を意味します.基本データ型要素からなる配列も参照タイプです.
配列を定義する理由:
メソッドは複数の値を返すことができません
戻りたい複数の値を配列に配置することで、複数の値を返す効果を間接的に実現できます.
配列の宣言インスタンス化
配列名に配列の下付きを付けることで、配列内のデータを使用します.下付き文字は0から並べ替えます.
1 D配列の宣言:配列要素タイプ[];
2 D配列を宣言する:配列要素タイプ[][];
配列を宣言するのは、配列名と要素が与えられたデータ型にすぎません.配列を実際に使用するには、メモリ領域、すなわちインスタンス化配列を割り当てる必要があります.配列にメモリ領域を割り当てるときは、配列の長さを指定する必要があります.
配列にメモリ領域を割り当てる構文フォーマットは、=new配列要素タイプ[配列要素個数];
配列を宣言してインスタンス化すると、配列の下付きラベルによって配列要素へのアクセスが完了する連続したメモリセル格納配列の要素が申請されます.
配列をインスタンス化すると、float配列の要素のデフォルト値が0.0 fなどの配列にデフォルト値が割り当てられます.配列を宣言するときに初期値を割り当てることができます.
byte[] b1 = new byte[]{2, 4, 6, 8};byte[]b 1=new byte[4];    b1[0]=2; b1[1]=4; b1[2]=6; b1[3]=8;
配列を作成すると、各配列要素を変更することはできますが、配列のサイズを変更することはできません.実行中に配列のサイズを拡張する必要がある場合は、別のデータ構造である配列リスト(array list)を使用する必要があります.
for-eachサイクル
配列内のどの要素(他のタイプの要素の集合でもよい)を一度に処理するのに使用できる機能の強いループ構造で、下付き値を指定する心配はありません.
この強化されたforループ文の形式は、for(variable:collection)statementがセット内の各要素を一時保存するための変数を定義し、対応する文(文ブロックであってもよい)を実行することである.collectionという集合式は、配列またはIterableインタフェースを実装したクラスオブジェクト(例えば、ArrayList)である必要がある.
1 D配列
public class Array1{

	public static void main(String[] args) {
		//double scoreArray [];
		//double [] scoreArray;  //                     ,                。
		//scoreArray =new double[3];  //   	
		double[] scoreArray = new double[3];  //        
		scoreArray[0]=0;
		scoreArray[1]=1;
		scoreArray[2]=2;
		for(int i = 0;i<3;i++){
			System.out.print(scoreArray[i]+",");
		}
		System.out.print("
"); // “ ” ‘ ’ System.out.println(scoreArray[2]); /* * for -for each * scoreArray 。 , score */ for(double score : scoreArray){ System.out.println(score); } } }

配列の初期化と匿名配列
エラープログラム:
public static void main(String[ ] args){
        int[ ] scoreArray = new int[5];
        scoreArray = {60, 80, 90, 70, 85};  
        int[ ] ageArray;
        ageArray = {21, 16, 28};

JAvaでは、配列オブジェクトを作成し、初期値を同時に与える簡略化された書式が提供されています.注意:この文を使用する場合、newを呼び出す必要はありません.
修正:
int [] scoreArray = {60,80,90,70,85};
int [] ageArray = {21,16,28};

上記のような窮挙法は、配列を初期化するためにのみ使用できます.すなわち、配列コードを1つの文に配置して完了する必要があります.
匿名の配列を初期化することもできます:new int[]{17,19,23,20}
この表現はjinxingchushijinxingchushの新しい配列を作成し、カッコで指定した値を使用して初期化します.配列のサイズは初期値の個数です.この構文形式を使用すると、新しい変数を作成せずに配列を再初期化できます.
2 D配列2 Dはいれつ
public class stuArray {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int [][] stuArray = {{1,2,3},{1,2,3},{1,2,3},{1,2,3}};  //  
		for (int i=0;i<4;i++){
			for(int j=0;j<3;j++){
				System.out.print(stuArray[i][j]+",");
			}
			System.out.println();
		}		
	}
}
public class stuArray1 {

	public static void main(String[] args) {
		int [][]stuArray;            //  
		stuArray = new int[4][3];    //   
		stuArray[0][0]=1;
		stuArray[0][1]=2;
		stuArray[0][2]=3;
		stuArray[1][0]=4;
		stuArray[1][1]=5;
		stuArray[1][2]=6;
		stuArray[2][0]=7;
		stuArray[2][1]=8;
		stuArray[2][2]=9;
		stuArray[3][0]=10;
		stuArray[3][1]=11;
		stuArray[3][2]=12;
		int i=0;
		int j=0;
		//          
		for( i=0;i<4;i++){
			int stu=0;
			int length=0;
			for( j=0;j<3;j++){
				System.out.print(stuArray[i][j]+",");
				stu=stu+stuArray[i][j];
				length ++;				
			}
		   System.out.println(stu/length);//m         
		   System.out.println();	
		}
		//            
		for(j=0;j<3;j++){
			int obj=0;
			int leng=0;
			for(i=0;i<4;i++){
				obj=obj+stuArray[i][j];
				leng++;
			}
			System.out.println(obj/leng); //         
		}
		
	}

}
public class stuArray2 {
	//       (2   )  (      )
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int [][]scoreArray= new int [2][3];
		int[] xiaowang={66,77,88};
		int[] xiaoli = {77,88,66};
		scoreArray[0]=xiaowang;
		scoreArray[1]=xiaoli;
		
		scoreArray[0][0]=66;
		scoreArray[0][1]=77;
		scoreArray[0][2]=88;
		scoreArray[1][0]=77;
		scoreArray[1][1]=88;
		scoreArray[1][2]=66;
		
		for(int []score:scoreArray){      //             
			for(int stu:score){          //                
				System.out.print(stu);
			}
			System.out.println();
			}		
	}
}

配列内のすべての値をより簡単に印刷:ArraysクラスのtoStringメソッドを使用します.
Arraysを呼び出します.toString(a);カッコに配置され、カンマで区切られた配列要素を含む文字列を返します.