2020/03/23
Javaプログラミング
null
nullは何も無いことを表す値で、その読み方は「ヌル」または「ナル」で、日本では「ヌル」と発音することが多いです。
Javaソースコードと実行結果 - オブジェクトを初期化しない
NullSample1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017
// 座標を格納するクラス class MyPoint { int x, y; } public class NullSample1 { public static void main( String[] args ) { // MyPointの配列を5つ作成 MyPoint[] pnt; pnt = new MyPoint[ 5 ]; // pnt[ n ]を表示 for ( int i = 0; i < pnt.length; i ++ ) System.out.println( "pnt[" + i + "]=" + pnt[ i ] ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis NullSample1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac NullSample1.java
NullSample1を実行
C:\talavax\javasample>java NullSample1
出力結果
pnt[0]=null pnt[1]=null pnt[2]=null pnt[3]=null pnt[4]=null
Javaソースコードと実行結果 - オブジェクトを初期化する
NullSample2.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022
// 座標を格納するクラス class MyPoint { int x, y; } public class NullSample2 { public static void main( String[] args ) { // MyPointの配列を5つ作成 MyPoint[] pnt; pnt = new MyPoint[ 5 ]; // 各オブジェクトを作成 for ( int i = 0; i < pnt.length; i ++ ) pnt[ i ] = new MyPoint(); // pnt[ n ]を表示 for ( int i = 0; i < pnt.length; i ++ ) System.out.println( "pnt[" + i + "]=" + pnt[ i ] ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis NullSample2.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac NullSample2.java
NullSample2を実行
C:\talavax\javasample>java NullSample2
出力結果
pnt[0]=MyPoint@1909752 pnt[1]=MyPoint@1f96302 pnt[2]=MyPoint@14eac69 pnt[3]=MyPoint@a57993 pnt[4]=MyPoint@1b84c92
Javaソースコードと実行結果 - オブジェクトを初期化して値を代入
NullSample3.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029
// 座標を格納するクラス class MyPoint { int x, y; } public class NullSample3 { public static void main( String[] args ) { // MyPointの配列を5つ作成 MyPoint[] pnt; pnt = new MyPoint[ 5 ]; // 各オブジェクトを作成 for ( int i = 0; i < pnt.length; i ++ ) { pnt[ i ] = new MyPoint(); // x,yに値を代入 pnt[ i ].x = i; pnt[ i ].y = i * 2; } // pnt[ n ]のメンバ変数を表示 for ( int i = 0; i < pnt.length; i ++ ) { System.out.println( "pnt[" + i + "].x=" + pnt[ i ].x ); System.out.println( "pnt[" + i + "].y=" + pnt[ i ].y ); System.out.println(); } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis NullSample3.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac NullSample3.java
NullSample3を実行
C:\talavax\javasample>java NullSample3
出力結果
pnt[0].x=0 pnt[0].y=0 pnt[1].x=1 pnt[1].y=2 pnt[2].x=2 pnt[2].y=4 pnt[3].x=3 pnt[3].y=6 pnt[4].x=4 pnt[4].y=8
pnt[0]~pnt[4]のメンバ変数x,yに値が入っていることが確認できます。
以上です。