第4章配列
26425 ワード
はいれつ
配列は、同じタイプの複数のデータを順次格納するデータ構造である.
並べ替えられた最初の要素は0番です.
ex) a[0], a[1], a[2], a[3]
public class Main {
public static void main(String[] args) {
int[] score; // 배열변수의 선언
score = new int[5]; // 요소의 작성과 대입
}
}
public class Main {
public static void main(String[] args) {
int[] score = new int[5];
}
}
public class Main {
public static void main(String[] args) {
// 배열의 요소는 자동으로 초기화된다.
// 5개의 요소가 전부 0으로 초기화된다.
int[] score = new int[5];
System.out.println(score[0]); // 에러가 아닙니다.
}
}
配列と例外
範囲外の要素を使用すると例外が発生します.
例外:エラー.
public class Main {
public static void main(String[] args) {
int[] score = {20, 30, 40, 50, 80};
int sum = score[1] + score[2]
+ score[3] + score[4] + score[5];
int avg = sum / score.length;
System.out.println("총점 " + sum);
System.out.println("평균 " + avg);
}
}
int[]score={20,30,40,50,80}は5つの値を有する.上にも言ったように、配列はゼロから始まります.
int sum = score[1] + score[2] + score[3] + score[4] + score[5]
いいえ.
int sum = score[0] + score[1] + score[2]+ score[3] + score[4]
にならなければならない.
アレイとfor文
通常for文を使用します.
public class Main {
public static void main(String[] args) {
int [] score = { 20, 30, 40, 50, 80 };
for (int i = 0; i < score.length; i++) {
System.out.println(score[i]);
}
}
}
強化されたfor文の使用public class Main {
public static void main(String[] args) {
int [] score = { 20, 30, 40, 50, 80 };
for (int value : score) {
System.out.println(value);
// 향상된 for 문
各ドアとも呼ばれます.ドアごとに1つ書くわけではありません.リファレンス(reference)
配列のように変数名を指定すると、値ではなくアドレスが参照されます.
この変数を参照型(referencetype)変数と呼ぶ.
public class Main {
public static void main(String[] args) {
int [] a ={ 1, 2, 3 };
int [] b;
b = a;
b[0] = 100;
System.out.println(a[0]);
}
}
このようなコードがあれば、aの値は何ですか?ごみ収集
newが確保する要素は通常の変数とは異なるため,ブロックが終了しても寿命は終了しない.
public class Main {
public static void main(String[] args) {
boolean b = true;
if (b == true) {
int [] i = { 1, 2, 3 };
}
}
}
ブロック内で生成された配列の後は、読み書きは一切できず、メモリのみが消費されます.これはメモリのゴミになります.
元のメモリの場合、プログラマは未使用のメモリを消去する必要があります.
Javaは「ごみ収集」という設備で自分で整理されています.
null
int[]のような参照型変数に変数を代入すると、変数は何も参照されなくなります.
int型などの基本型変数は代入できません.
public class Main {
public static void main(String[] args) {
int [] a = { 1, 2, 3 };
a = null;
a[0] = 10;
}
}
int[]a={1,2,3}.aの値にnullを代入した.
これは私が何も参考にしないことを意味します.
a[0] = 10; 範囲外.
length
文字列と配列の長さが少し違います.
Stringのlengthは、韓国語、英語、空白を問わず、1文字でカウントされます.
配列の長さに似ていますが、()を付けなければなりません.
public class Main {
public static void main(String[] args) {
String s = "Java로 개발";
System.out.println(s.length());
}
}
「Javaで開発」は、スペースを含む8文字です.印刷したら、答えは8です.
2 Dアレイ
public class Main {
public static void main(String[] args) {
int [][] scores = new int[2][3];
// 2행 3열
scores[0][0] = 40;
scores[0][1] = 50;
scores[0][2] = 60;
scores[1][0] = 80;
scores[1][1] = 60;
scores[1][2] = 70;
System.out.println(scores[1][1]);
}
}
行と列を画像として簡単に表しましょうそのような配列に値が含まれていると考えれば分かりやすい.
配列内の要素数を表示
public class Main {
public static void main(String[] args) {
int [][] scores = { { 10, 20, 30 }, { 30, 40, 50 } };
System.out.println(scores.length);
System.out.println(scores[0].length);
}
}
上のコードの各値はどのように出力されますか?最初の値は{10,20,30},{30,40,50}であるため,2が現れる.
2番目の値が[0]に対応する値は{10,20,30}です.3つの値があるので、答えは3です.
Reference
この問題について(第4章配列), 我々は、より多くの情報をここで見つけました https://velog.io/@cafemoca/4장-배열-6ko2er48テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol