JAva基礎学習day 06(配列)
35890 ワード
配列の概要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)配列のメモリ解析
一次元配列の練習:キーボードから5人の学生の成績を入力して、最高点、最高点との差は非常にAで、20はBで、30はCで、残りはDです
1.2次元配列の理解:2次元配列については、1次元配列array 1が別の1次元配列array 2の要素として存在すると見なすことができるが、配列の下層の動作メカニズムから見ると、実際には多次元配列はない
2.2 D配列の使用:(1)2 D配列の宣言と初期化(2)配列の指定された位置の要素をどのように呼び出すか(3)配列の長さをどのように取得するか(4)配列(5)配列要素のデフォルト初期化値(6)配列のメモリ解析をどのように遍歴するか
練習:int[]{{3,5,8},{12,9},{7,0,6,4}};和を求める
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);
}
}