[ジャワ]配列は?
21352 ワード
配列とは?
同じタイプの複数の変数を処理するグループ
意味
学生の試験点数を保存する場合は、変数に名前を付けてロードします.
では、ある学生の点数を呼び込むと、変数の名前を覚えなければなりません.
配列を使用してこれらの問題を解決します.
パターンフィーチャー
索引演算子[]を使用したクイック参照
配列は順序付き資料型で,順序は0から配列長−1である.該当する順序の配置を呼び出すことができます.
物理的位置と論理的位置が同じ
int[] arr = new int[5];
前述したように、整数を格納する8バイトデータはarrの名義で5個格納されており、定義上8バイトデータの隣に別の空間があるデータと同様に、コンピュータが格納する位置も同じである
当然のことだと思うかもしれませんが、Javaの他の参照データLinkedListの物理的位置と論理的位置は異なります.
アレイの宣言と初期化
アレイ宣言
int[] arr1 = new int[10];
int arr2[] = new int[10];
データ型を左側に置き、[]で変数が資料型であることを示します.
配列の名前を書くと、=newと後で書きます(newの使用理由は後述します)
このデータ型の個数を[]に書くべきです
変数を書くとき、変数の名前と[]の位置が変わってもかまいません.
アレイの初期化
int[] numbers = new int[]{10, 20, 30}; //個数を省いて、個数を入れる個数は必ず個数を入れなければなりません int[] numbers = {10, 20, 30}; // new int[]は省略できます int[] ids; ids = new int[] {10, 20, 30}; // 宣言後に配列を作成する場合はnew int[]を省略することはできません
タイルの使用
配列内の変数のように出力すると、どのような結果になりますか?
上のように出てきましたその理由は,配列がどこに格納されているかを知ることによって理解できる.
プログラム実行時に変数を格納する場所はstackです.配列および参照型データ型およびオブジェクトはheapに格納され、スタック内の変数にはheapのアドレス値が格納されます.したがって,生成時にnew keywideを用いる.
配列の下部と要素にアクセスするには、次のアクセスが必要です.
class Main {
public static void main(String[] args) {
int[] arr = new int[5];
int sum = 0;
// 1부터 5까지 배열에 넣는 과정의 반복문이다
for(int i = 0, num= 1; i<arr.length; i++, num++){
arr[i] = num;
}
// 배열의 각 요소에 접근하여 모든 요소를 더하는 변수이다
for(int i = 0; i<arr.length; i++){
sum += arr[i];
}
// 합계를 출력하는 변수이다
System.out.println("합계 : "+ sum);
}
}
配列の長さと要素の数が異なる
宣言
class Main {
public static void main(String[] args) {
double[] dArr = new double[5];
dArr[0] = 1.1;
dArr[1] = 2.1;
dArr[2] = 3.1;
// 각 요소들을 모두 곱하여 저장하는 변수
double mtotal = 1;
for(int i = 0; i<dArr.length; i++){
mtotal *= dArr[i];
System.out.println("dArr의 "+i+"번째 요소 : "+dArr[i]);
}
System.out.println("요소들의 곱 : "+mtotal);
return ;
}
}
望ましい結果
実績
各要素の写真を印刷
class Main {
public static void main(String[] args) {
double[] dArr = new double[5];
dArr[0] = 1.1;
dArr[1] = 2.1;
dArr[2] = 3.1;
// 각 요소들을 모두 곱하여 저장하는 변수
double mtotal = 1;
for(int i = 0; i<dArr.length; i++){
if(dArr[i] == 0.0){
break;
}
mtotal *= dArr[i];
System.out.println("dArr의 "+i+"번째 요소 : "+dArr[i]);
}
System.out.println("요소들의 곱 : "+mtotal);
return ;
}
}
class Main {
public static void main(String[] args) {
double[] dArr = new double[5];
int count = 0;
dArr[0] = 1.1; count++;
dArr[1] = 2.1; count++;
dArr[2] = 3.1; count++;
// 각 요소들을 모두 곱하여 저장하는 변수
double mtotal = 1;
for(int i = 0; i<count; i++){
mtotal *= dArr[i];
System.out.println("dArr의 "+i+"번째 요소 : "+dArr[i]);
}
System.out.println("요소들의 곱 : "+mtotal);
return ;
}
}
上記のコードを使用して、必要な結果を生成できます.強化されたfor文の使用
0からn-1の配列のn個の要素を順番に使用する場合、非常に簡単です.
for(변수: 배열){
}
class Main {
public static void main(String[] args) {
char[] alphabets = new char[26];
char ch = 'A';
for(int i = 0; i<alphabets.length; i++){
alphabets[i] = ch++;
}
for(char alpha : alphabets){
System.out.println(alpha +","+ (int)alpha);
}
return ;
}
}
Reference
この問題について([ジャワ]配列は?), 我々は、より多くの情報をここで見つけました https://velog.io/@namtndus/자바-배열이란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol