#author("2018-02-14T13:50:56+09:00","","") #author("2018-02-14T13:52:45+09:00","","") * Java基礎文法最速マスター [#m5da66fc] #contents * Java [#kdfec0cf] Javaの文法一覧です。 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています。 簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 ** 1. 基礎 [#j6e7c7ad] *** classの作成 [#u03dc98c] プログラムはclassに記述します。 たとえばSampleという名前のclassを作る場合、Sample.javaファイル内に次のように書きます。 public class Sample { } *** mainメソッドの作成 [#h0c63fa7] プログラムはclass内のmainメソッドの先頭から実行されます。 mainメソッドは次のように書きます。 public class Sample { public static void main( String[] args ) { // 処理を書く } } *** System.out.printlnメソッド [#j566c5d7] 文字列を表字するメソッドです。 System.out.println( "Hello world" ); *** コメント [#k2daa37f] コメントです。 // 一行コメント /* 複数行コメント */ /** JavaDocコメント */ *** 変数の宣言 [#v516142e] 変数の宣言です。変数の宣言時にはデータ型を指定します。 // 変数 int num; *** データ型 [#tea57dd4] データ型です。 Javaのデータ型にはプリミティブ型と参照型があります。 以下はプリミティブ型のデータ型です。 // int(整数)型 int num; // char(文字)型 char c; // float(単精度浮動小数点)型 float value; // double(倍精度浮動小数点)型 double value; // boolean(論理)型 boolean flag; 以下は参照型のデータ型です。 // String型 String s; // Date型 Date d; // 配列型 String[] array; *** プログラムのコンパイル [#c8eb49a1] プログラムをコンパイルするには、コマンドラインで以下のようにします。 javac Sample.java *** プログラムの実行 [#ndfc71a6] プログラムを実行するには、コマンドラインで以下のようにします。 java Sample ** 2. 数値 [#gf21103d] *** 数値の表現 [#r4e2120e] int、float、double型の変数に数値を代入できます。 int型には整数だけ代入できます。 float、double型には整数でも小数でも代入できます。 int i = 2; int i = 100000000; float num = 1.234f; double num = 1.234; *** 四則演算 [#i02600ba] 四則演算です。 num = 1 + 1; num = 1 - 1; num = 1 * 2; num = 1 / 2; 商の求め方です。 割る数と割られる数が両方とも整数の場合、計算結果の小数点以下が切り捨てられます。 num = 1 / 2; // 0 割る数と割られる数のどちらかが小数の場合、計算結果の小数点以下が切り捨てられません。 num = 1.0 / 2; // 0.5 num = 1 / 2.0; // 0.5 num = 1.0 / 2.0; // 0.5 余りの求め方です。 // 余り mod = 4 % 2 *** インクリメントとデクリメント [#z7613ddf] インクリメントとデクリメントです。 // インクリメント ++i; // デクリメント --i; ** 3. 文字列 [#d2cea2af] *** 文字列の表現 [#f052fa8c] 文字列はダブルクォートで囲みます。 String str = "abc"; *** 文字列操作 [#t8cc3b3b] 各種文字列操作です。 // 結合 String join = "aaa" + "bbb"; // 分割 String[] record = "aaa,bbb,ccc".split( "," ); // 長さ int length = "abcdef".length(); // 切り出し "abcd".substring( 0, 2 ) // abc // 検索 int result = "abcd".indexOf( "cd" ) // 見つかった場合はその位置、見つからなかった場合は-1が返る ** 4. 配列 [#x898c062] *** 配列変数の宣言 [#od10fd87] 配列です。 // 配列の宣言 int[] array; *** 配列の生成 [#x229d8bd] 配列の生成です。 配列の生成時には要素数を指定するか、初期データを指定します。 int [] array; // 要素数を指定して配列を生成 array = new int[5]; // 初期データを指定して配列を生成 array = new int[] { 1, 2, 3 }; // 宣言と同時に配列を生成 int[] array2 = new int[5]; *** 配列の要素の参照と代入 [#m24d3441] 配列の要素の参照と代入です。 // 要素の参照 array[0] array[1] // 要素の代入 array[0] = 1; array[1] = 2; *** 配列の要素数 [#rf2d17c0] 配列の要素数を取得するには以下のようにします。 array_num = array.length; *** 配列のコピー [#jcec3213] 配列の要素を別の配列にコピーするには以下のようにします。 int[] from = new int[] { 1, 2, 3 }; int[] to = new int[5]; System.arraycopy( from, 0, to, 0, from.length ); ** 5. 制御文 [#o74bf8fe] *** if文 [#t7639940] if文です。 if ( 条件 ) { } *** if ~ else文 [#aeb42268] if ~ else文です。 if ( 条件 ) { } else { } *** if ~ else if 文 [#pa192c7d] if ~ else if文です。 if ( 条件 ) { } else if ( 条件 ) { } *** while文 [#u4031a84] while文です。 int i = 0; while ( i < 5 ) { // 処理 ++i; } *** for文 [#t79aa590] for文です。 for ( int i = 0; i < 5; ++i ) { } *** for-each文 [#r9042685] for-each文です。 配列の各要素を処理できます。 int[] fields = new int[] { 1, 2, 3 }; for ( int field: fields ) { } ** 6. メソッド [#r9bbb943] *** 基本メソッド構文 [#yc978710] Javaでは関数をメソッドと言います。 メソッドを作るには次のようにします。 戻り値を返却するにはreturn文を使います。 static int sum( int num1, int num2 ) { int total; total = num1 + num2; return total; } ** 9. ファイル入出力 [#daf31bbf] *** 入出力ライブラリ(java.io.*) [#o0137861] ファイル入出力です。 ファイル入出力を行うには、プログラムの先頭に以下を記述します。 import java.io.*; *** ファイルの読み込み(BufferedReader) [#ac6ff3cc] 以下がファイル入力の雛形になります。 ファイルのオープンや読み込みに失敗した場合、catch節に処理が移ります。 BufferedReader reader = null; try { reader = new BufferedReader( new FileReader( filename ) ); String line; while ( ( line = reader.readLine() ) != null ) { } } catch ( IOException e ) { // エラー処理: } finally { if ( reader != null ) { try { reader.close(); } catch ( IOException e ) {}s } } 以下がファイル出力の雛形になります。 ファイルのオープンや書き込みに失敗した場合、catch節に処理が移ります。 *** ファイルの書き込み(PrintWriter) [#n99e3ec0] PrintWriter writer = null; try { writer = new PrintWriter( new BufferedWriter( new FileWriter( filename ) ) ); writer.println( "abc" ); writer.println( "def" ); writer.println( "fgh" ); } catch ( IOException e ) { // エラー処理: } finally { if ( writer != null ) { writer.close(); } } ** 知っておいたほうがよい文法 [#m3558955] Javaでよく出てくる知っておいたほうがよい文法の一覧です。 *** 繰り返し文の途中で抜ける [#x0cdd1cb] 繰り返し文の途中で抜けるにはbreak文を使用します。 for ( i = 0; i < 5; ++i ) { if ( 条件 ) { break; // 条件を満たす場合、for文を抜ける。 } } *** 繰り返しの残り部分の処理をスキップする [#w7091f2d] 残りの部分処理をスキップし、次の繰り返しに進むにはcontinue文を使用します。 for ( i = 0; i < 5; ++i ) { if ( 条件 ) { continue; // 条件を満たす場合、残りの部分処理をスキップし、次の繰り返しに進む。 } } *** 例外処理 [#j6990681] 例外を投げるにはthrow文を使用します。 throw new Exception( "Error messsage" ); 例外処理をするにはtry ~ catch文を使用します。 try { // 例外が発生する可能性のある処理 } catch ( Exception e ) { // 例外発生時の処理 } * Java参考資料 [#p111a17f] http://d.hatena.ne.jp/nattou_curry_2/20100130/1264821094