#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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS