[解決済み] Javaにおける配列のデフォルトの初期化とは何ですか?
2022-04-25 04:04:05
質問
int型配列の宣言と初期化をしているところです。
static final int UN = 0;
int[] arr = new int[size];
for (int i = 0; i < size; i++) {
arr[i] = UN;
}
代わりにこうすると...。
int[] arr = new int[5];
System.out.println(arr[0]);
...
0
は標準出力にプリントされます。また、こうすると
static final int UN = 0;
int[] arr = new int[5];
System.out.println(arr[0]==UN);
...
true
は標準出力にプリントされます。では、Javaはデフォルトでどのように私の配列を初期化しているのでしょうか?デフォルトの初期化では、配列のインデックスを
0
ということは、配列をループして初期化する必要はないのでしょうか?
ありがとうございます。
解決方法は?
Javaプログラムでは、プログラマーが明示的に設定しないものは、すべて0に初期化されます。
-
である参照(オブジェクトを保持するもの)については、以下のようになります。
null
. -
であるint/short/byte/longの場合。
0
. -
であるfloat/doubleの場合。
0.0
-
ブーリアンの場合は
false
. -
ヌル文字であるcharの場合
'\u0000'
(10進数で0に相当)。
何かの配列を作成すると、すべてのエントリもゼロになります。 つまり
によって作成された直後の配列には、5つのゼロが含まれています。
new
.
注意(コメントより)。 Java仮想マシンは、ローカル変数を割り当てるときに基礎となるメモリをゼロにする必要はありません(これは、必要に応じて効率的なスタック操作を可能にします)ので、ランダムな値を避けるために、Java言語仕様はローカル変数を初期化することを要求しています。
関連
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
あるコードに出会いましたが、何に使うのか理解できません。 List<String> list = new ArrayList<String>() { { a
-
このラインで複数のマーカーを解決する方法
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] ArrayListの初期化を1行で行う。
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IllegalArgumentException この例外を解決する方法
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
プロジェクトの依存関係を解決できなかった 解決
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 0 at One1.main(One1.java:3)
-
linux run jarfile Invalid or corrupt jarfile error.
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
org.glassfish.jersey.servlet.ServletContainer
-
Error: java.lang.NoClassDefFoundError: クラス XXXX を初期化できませんでした
-
Java(1)仕上げの基本概念+eclipseのインストール構成
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。