7日目!配列タイプ!
6.配列タイプ
-一度に宣言された配列の要素タイプは変更できません.
-一度に宣言された配列のサイズ(長さ)は変更できません.
-アレイのメリット
(1)反復変数宣言を減らす
(2)重複文による要素の扱いが容易----------------------배열의 출력 (기본 반복문과 향상된 반복문 ) -------------------
int[] intArray = { 1, 2, 3, 4, 5, 6, 7 };
//배열의 순회 (traverse)
//1.
for(int index=0; index<=6 ; ++index) {
System.out.println(intArray[index]);
} // Classical for
//2. for(배열의 원소의 변수:객체의 이름){}
for(int element:intArray) {
System.out.println(element);
}// enhanced for (향상된 for) ->무조건 처음부터 끝까지 구간지정 x
//3. 배열 클래스에 toString 메소드 사용
System.out.println(Arrays.toString(intArray));
-アレイ宣言
(1)配列変数を宣言して配列を使用する(慣例は[]タイプ名)
(2)配列変数は参照変数-配列作成前に空に初期化できる
(NULLまたは宣言のみの場合は無効)
-値リストを使用して配列を作成します。
(1)変数の宣言と同時に値リストを置換する(同時に宣言と初期化)
(2)変数宣言後の置換値リスト
(個別宣言と初期化には新しい演算子が必要です.)
-new演算子を使用したアレイの作成
(1)配列生成時の値リストがない.
(2)将来の値を格納する配列を予め作成する場合
int[] intArray = new int[5]; 各要素には、タイプのデフォルト値が含まれます.------------------------배열의 생성 초기화와 선언을 나눠서 하거나 동시에 하거나----------------------------------
//main 메소드
public static void main(String[] args) {
int[] scores; // 실행문 이어서 세미클론을 붙임 ; int타입의 배열변수를 선언
scores = new int[] {83,90,87}; // new 연산자: "객체생성연산자"
int sum1= 0;
for(int i=0; i<3; i++) {
sum1 += scores[i]; // 배열의 원소를 누적
}// for
System.out.println("총합 : " + sum1);
int sum2 = add(new int[] {83,90,87}); //호출(Invoke)
System.out.println("총합 : " + sum2);
System.out.println();
}//main
// add 메소드
public static int add(int[] scores) {
int sum = 0 ;
for(int i =0 ; i<3; i++) {
sum += scores[i];
} //for
return sum;
} // add
-異なるタイプのプロジェクトのデフォルト
-整数0の実数は0.0です.(charは空の文字列)(配列中の省略型文字l,f)
-論理タイプfalse
-参照タイプnull------------------------------- 타입별 항목 기본값과 원소 초기화 ---------------------------
public static void main(String[] args) {
int[] arr1 = new int[3]; // 정수 int타입의 기본값으로 초기화된다.
for(int i=0; i<3; i++) {
System.out.println("arr1["+i+"]:"+ arr1[i]);
}//for
arr1[0] = 10; // indexing을 통해 각각의 원소를 대입연산자로 초기화
arr1[1] = 20;
arr1[2] = 30;
System.out.println(Arrays.toString(arr1));
//----
double[] arr2 = new double[3];
System.out.println(Arrays.toString(arr2));
arr2[0] = 0.1;
arr2[1] = 0.2;
arr2[2] = 0.3;
System.out.println(Arrays.toString(arr2));
//-----
String[] arr3 = new String[3];
System.out.println(Arrays.toString(arr3));
arr3[0] = "1월";
arr3[1] = "2월";
arr3[2] = "3월";
System.out.println(Arrays.toString(arr3));
} //main
-アレイの長さ
(1)アレイに格納可能な項目の総数
(2)コードから配列長を取得する方法(配列には長さ属性がある).
(3)配列長が読取り専用
(4)配列の長さは主にfor文の条件式に用いられる
Javaの配列(オブジェクト)を作成すると、そのサイズ(長さ)と要素のタイプを変更することはできません.
-多次元配列
(1)2 Dアレイより大きいアレイ
数学マトリクスなどのデータ構造
(2)Javaは1次元配列を用いて2次元配列を実現する--------------------------------------다차원 배열 활용-------------------------
public static void main(String[] args) {
// 스칼라(Scalar) : 한 개의 값
int[] a = {1, 2, 3 }; // 1차원 배열
int[][] b = {{1,2},{3,4,6}}; //2차원 배열 (길이 고정x 행렬로만 알고 있으면 안됌.)
System.out.println(b[1][0]); // 2차원 배열의 원소 부르는법
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b)); // 객체속에 배열인 객체의 주소를 반환
System.out.println(Arrays.deepToString(b)); //다차원 배열의 원소를 나열하는 메소드
// 3차원 부터는 99.99% 쓰지않음. 복잡도가 높아짐.
int[][][] c = { { {1,2}, {3,4} },{ {5,6},{7,8} } }; // 3차원 배열
int[][][][] d = { { { {1,2} } } , { { {3},{4} },{ {5},{6} } } }; //4차원 배열
// int[] arr1 = new int[3];
// System.out.println("arr.length: " + arr1.length); //=3
int[][] arr2 = new int[2][]; // = {null,null} 배열 속에 배열의 길이가 각각 다를 때
// int[][] arr2 = new int[2][2] ={{0,0}{0,0}};
// int[][] b = {{1,2},{3,4,6}};
System.out.println("1. b.length: " + b.length); // 2차원 배열의 1차원적 원소길이
System.out.println("1. b[0].length: " + b[0].length);//2차원 배열의 첫번째 배열의 원소길이
System.out.println("1. b[1].length: " + b[1].length);//2차원 배열의 두번째 배열의 원소길이
} //main
確かに客体に入ると、学生たちが疲れているような気がします.
若者ですね.
Reference
この問題について(7日目!配列タイプ!), 我々は、より多くの情報をここで見つけました
https://velog.io/@koo9b9h/7일차-배열타입
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
----------------------배열의 출력 (기본 반복문과 향상된 반복문 ) -------------------
int[] intArray = { 1, 2, 3, 4, 5, 6, 7 };
//배열의 순회 (traverse)
//1.
for(int index=0; index<=6 ; ++index) {
System.out.println(intArray[index]);
} // Classical for
//2. for(배열의 원소의 변수:객체의 이름){}
for(int element:intArray) {
System.out.println(element);
}// enhanced for (향상된 for) ->무조건 처음부터 끝까지 구간지정 x
//3. 배열 클래스에 toString 메소드 사용
System.out.println(Arrays.toString(intArray));
------------------------배열의 생성 초기화와 선언을 나눠서 하거나 동시에 하거나----------------------------------
//main 메소드
public static void main(String[] args) {
int[] scores; // 실행문 이어서 세미클론을 붙임 ; int타입의 배열변수를 선언
scores = new int[] {83,90,87}; // new 연산자: "객체생성연산자"
int sum1= 0;
for(int i=0; i<3; i++) {
sum1 += scores[i]; // 배열의 원소를 누적
}// for
System.out.println("총합 : " + sum1);
int sum2 = add(new int[] {83,90,87}); //호출(Invoke)
System.out.println("총합 : " + sum2);
System.out.println();
}//main
// add 메소드
public static int add(int[] scores) {
int sum = 0 ;
for(int i =0 ; i<3; i++) {
sum += scores[i];
} //for
return sum;
} // add
------------------------------- 타입별 항목 기본값과 원소 초기화 ---------------------------
public static void main(String[] args) {
int[] arr1 = new int[3]; // 정수 int타입의 기본값으로 초기화된다.
for(int i=0; i<3; i++) {
System.out.println("arr1["+i+"]:"+ arr1[i]);
}//for
arr1[0] = 10; // indexing을 통해 각각의 원소를 대입연산자로 초기화
arr1[1] = 20;
arr1[2] = 30;
System.out.println(Arrays.toString(arr1));
//----
double[] arr2 = new double[3];
System.out.println(Arrays.toString(arr2));
arr2[0] = 0.1;
arr2[1] = 0.2;
arr2[2] = 0.3;
System.out.println(Arrays.toString(arr2));
//-----
String[] arr3 = new String[3];
System.out.println(Arrays.toString(arr3));
arr3[0] = "1월";
arr3[1] = "2월";
arr3[2] = "3월";
System.out.println(Arrays.toString(arr3));
} //main
--------------------------------------다차원 배열 활용-------------------------
public static void main(String[] args) {
// 스칼라(Scalar) : 한 개의 값
int[] a = {1, 2, 3 }; // 1차원 배열
int[][] b = {{1,2},{3,4,6}}; //2차원 배열 (길이 고정x 행렬로만 알고 있으면 안됌.)
System.out.println(b[1][0]); // 2차원 배열의 원소 부르는법
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b)); // 객체속에 배열인 객체의 주소를 반환
System.out.println(Arrays.deepToString(b)); //다차원 배열의 원소를 나열하는 메소드
// 3차원 부터는 99.99% 쓰지않음. 복잡도가 높아짐.
int[][][] c = { { {1,2}, {3,4} },{ {5,6},{7,8} } }; // 3차원 배열
int[][][][] d = { { { {1,2} } } , { { {3},{4} },{ {5},{6} } } }; //4차원 배열
// int[] arr1 = new int[3];
// System.out.println("arr.length: " + arr1.length); //=3
int[][] arr2 = new int[2][]; // = {null,null} 배열 속에 배열의 길이가 각각 다를 때
// int[][] arr2 = new int[2][2] ={{0,0}{0,0}};
// int[][] b = {{1,2},{3,4,6}};
System.out.println("1. b.length: " + b.length); // 2차원 배열의 1차원적 원소길이
System.out.println("1. b[0].length: " + b[0].length);//2차원 배열의 첫번째 배열의 원소길이
System.out.println("1. b[1].length: " + b[1].length);//2차원 배열의 두번째 배열의 원소길이
} //main
Reference
この問題について(7日目!配列タイプ!), 我々は、より多くの情報をここで見つけました https://velog.io/@koo9b9h/7일차-배열타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol