Java基礎----配列入門説明
1.配列の定義
形式1:
例:3つの整数を格納できる配列コンテナを作成する
方式二フォーマット:
例:1,2,3の整数を格納する配列コンテナを定義します.
方式3フォーマット:
例:1,2,3の整数を格納する配列コンテナを定義します.
2.配列へのアクセス
≪インデックス|Index|emdw≫:配列に格納されている要素ごとに、0から配列のインデックスを使用して配列内の要素にアクセスできるインデックスがあります.配列の長さ:各配列には長さがあり、固定されており、Javaには配列の属性が付与されており、配列の長さを取得できます.文は、配列名.length、属性lengthの実行結果は配列の長さ、intタイプの結果です.次から推測すると、配列の最大インデックス値は配列名.length-1である.
例:プリント配列の長さ
例:インデックスを使用して対応する配列値を検索する
3.配列のメモリ原理
4.配列の遍歴
通常の遍歴:
forループループ方式:
5.配列の基本使用
例:配列内の最大値の取得
例:配列の反転
6.メソッドパラメータおよび戻り値として配列
6.1配列はメソッドパラメータ配列としてメソッドパラメータとして伝達され、伝達されたパラメータは配列メモリのアドレスである.
6.2配列はメソッド戻り値配列としてメソッドの戻り値として、配列のメモリアドレスを返します.
7.注意事項
例:下記のプログラムコードを分析する
例:下記のプログラムコードを分析する
形式1:
[] = new [ ];
例:3つの整数を格納できる配列コンテナを作成する
int[] arr = new int[3];
方式二フォーマット:
[] = new []{ 1, 2, 3...};
例:1,2,3の整数を格納する配列コンテナを定義します.
int[] arr = new int[]{1,2,3};
方式3フォーマット:
[] = { 1, 2, 3...};
例:1,2,3の整数を格納する配列コンテナを定義します.
int[] arr = {1,2,3};
2.配列へのアクセス
≪インデックス|Index|emdw≫:配列に格納されている要素ごとに、0から配列のインデックスを使用して配列内の要素にアクセスできるインデックスがあります.配列の長さ:各配列には長さがあり、固定されており、Javaには配列の属性が付与されており、配列の長さを取得できます.文は、配列名.length、属性lengthの実行結果は配列の長さ、intタイプの結果です.次から推測すると、配列の最大インデックス値は配列名.length-1である.
例:プリント配列の長さ
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
// 5
System.out.println(arr.length);
}
例:インデックスを使用して対応する配列値を検索する
public static void main(String[] args) {
// int , 1,2,3,4,5
int[] arr = {1,2,3,4,5};
int a = arr[0]// 1, 0 a
// 0 6
arr[0] = 6;
// 0
int i = arr[0];// 6
System.out.println(i);
// 0
System.out.println(arr[0]);
}
3.配列のメモリ原理
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr);//[I@5f15435 arr
}
4.配列の遍歴
通常の遍歴:
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
}
forループループ方式:
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
5.配列の基本使用
例:配列内の最大値の取得
public static void main(String[] args) {
int[] arr = { 5, 15, 20, 100,44,-2};
// , 0 , 0
int max = arr[0];
// ,
for (int i = 0; i < arr.length; i++) {
// max
// max
if (arr[i] > max) {
//max
max = arr[i];
}
}
System.out.println(" : " + max);
}
例:配列の反転
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
/*
min=0
max=arr.length‐1
min++,max‐‐
*/
for (int min = 0, max = arr.length ‐ 1; min <= max; min++, max‐‐) {
//
int temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
// ,
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
6.メソッドパラメータおよび戻り値として配列
6.1配列はメソッドパラメータ配列としてメソッドパラメータとして伝達され、伝達されたパラメータは配列メモリのアドレスである.
public static void main(String[] args) {
int[] arr = { 1, 3, 5, 7, 9 };
// ,
printArray(arr);
}
// ,
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);//13579
}
}
6.2配列はメソッド戻り値配列としてメソッドの戻り値として、配列のメモリアドレスを返します.
public static void main(String[] args) {
// ,
//
int[] arr = getArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
//return
public static int[] getArray() {
int[] arr = { 1, 3, 5, 7, 9 };
// ,
return arr;
}
7.注意事項
例:下記のプログラムコードを分析する
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println(a);//1
System.out.println(b);//2
change(a, b);
System.out.println(a);//1
System.out.println(b);//2
}
public static void change(int a, int b) {
a = a + b;
b = b + a;
}
例:下記のプログラムコードを分析する
public static void main(String[] args) {
int[] arr = {1,3,5};
System.out.println(arr[0]);//1
change(arr);
System.out.println(arr[0]);//100
}
public static void change(int[] arr) {
arr[0] = 100;
}