ジャバアレイ
2022-02-10 12:41:54
java配列の静的・動的初期化、フォーマットと留意点
/**
* java arrays are static and must be initialized before they can be used, and once the initialization specifies the length of the array, that length is immutable.
*
*
*
* A: Format for static initialization of arrays.
* Format: datatype[] array name = new datatype[]{element1,element2,...};
* Initialization display specifies the initial value of each array element, and the system determines the length of the array
* Simplified format.
* datatype[] array name = {element1,element2,...};
*
* B:Dynamic initialization of java arrays
* Dynamic initialization: that is, as opposed to static initialization.
* Actually dynamic initialization is specifying the length of the array at the time of initialization (when memory is already allocated)
*
*
* Note: All local variables are stored in stack memory.
* whether they are actually variables of basic type or reference type, they are stored in the respective method stack area.
* However, objects referenced by reference type variables (including data, ordinary java objects) are always stored in heap memory.
*
* Arrays in Java are reference variables (similar to pointer variables in C), and after we initialize the operation
* is pointing its reference to a contiguous memory space of the specified length opened up in heap memory.
* So what we're really doing is initializing the array variable on the stack to point to valid memory.
*
*
* Two exceptions related to arrays
* a:ArrayIndexOutOfBoundsException: array index out of bounds exception
* Cause: You accessed an index that does not exist.
* b:NullPointerException:Null pointer exception
* Cause: The array is no longer pointing to heap memory. And you still use the array name to access the elements.
* int[] arr = {1,2,3};
* arr = null;
* System.out.println(arr[0]);
*/
public class f {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// datatype[] array name = new datatype[]{element1,element2,...};
int[] arr = new int[]{11,22,33,44,55};
//int[] arr = new int[5]{11,22,33,44,55}; //Cannot define dimension expression
//Cannot define dimension expressions when an array initializer is provided
int[] arr2 = {11,22,33,44,55}; //Short form of static initialization
int[] arr3; //declare an array reference
arr = new int[]{11,22,33,44,55};
int[] arr4;
//arr2 = {11,22,33,44,55}; //short form declaration and assignment should be on the same line
//Array constants can only be used in initializers
System.out.println(arr2);
System.out.println(arr2[4]);
}
}
関連
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
セミコロン期待値エラー解決
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
maven レポート エラー 解決不可能な親POM
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
ApiModel と @ApiModelProperty の使用法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
シェルコマンドやスクリプトのJavaコール
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
アノテーション「@Retention」の役割
-
Java基礎編 - オブジェクト指向
-
代入の左辺は変数でなければならない 解答
-
テストが空であるかどうかを判断するためのオプションの処理
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
ロンボク版問題による血の海を思い出せ