Edited at

Eclipseの超基本的な使い方

More than 1 year has passed since last update.

PE-BANK関西支店の 2017-04-15 Java勉強会で使用する資料です。

超初心者向けの内容となっております。


Pleiades All in One Eclipseのインストール

pleiades (プレアデス)は MergeDoc Project で配布されている Eclipse 日本語化プラグインです。

Pleiades All in One Eclipse は日本語化プラグイン(と、いくつかのよく使用されるプラグイン)を組み込み済みの Eclipse本体になります。

以下からご使用の環境に合わせた Java Full Edition をダウンロードしてください。

http://mergedoc.osdn.jp/pleiades_distros4.6.html

下の画像の赤枠のいずれかになります。

2017-04-15-pleiades.png

Java Full Edition は Eclipse本体に加え、JRE, JDKを含んでいます。

そのため、PATH指定などの設定が不要になります。


Windowsの場合

ダウンロードフォルダなどでそのままzipファイルを展開するとパスの長さが Windows の許容範囲を超えてしまい、エラーとなる場合があります。

以下の手順が確実です。



  • C:¥app などのフォルダを作成

  • ダウンロードしたzipファイルを移動

  • ファイル名を pleiades-4.6.3.zip に変更

  • ZIPファイルを展開

  • 展開したフォルダ内の pleiadesC:¥app に移動

C:¥App¥pleiades¥eclipse¥eclipse.exe へのショートカットをデスクトップに作成しておくと便利でしょう。


Macの場合

以下のページを参考にインストールを行ってください。

Mac 版 Eclipse Pleiades All in One リリース

初回起動時は右クリック -> 開く を選択してください。

セキュリティの警告ダイアログが表示されますので、開く をクリックします。


Eclipse用語について

最低限押さえておきたい用語について、以下のページがよくまとまっていますので参考にしてください。

Eclipse用語「ワークベンチ」「パースペクティブ」「エディター」「ビュー」「ワークスペース」について


Eclipseの起動


ワークスペースの指定

Eclipseを起動すると、「ワークスペース」をどこに保存するかを尋ねられます。


  • Windowsの方は、とりあえずデフォルトで構いません。

  • Macの方はデフォルト (../workspace) だと Applications の中に作る気がするので、適当な箇所 (/Users/{ユーザー名}/workspace) に変更してください。(すみません、未検証です。)

「次回から表示しない」というチェックボックスがありますが、Eclipseに慣れるまでは表示しておいた方がよいと思います。


初期設定

Eclipseが起動したら、先程の「Eclipse用語」と実際の画面を見比べてください。

画面が狭い人は「アウトライン・ビュー」と「問題ビュー」はとりあえず使用しませんので最小化してしまいましょう。

今回の勉強会では Windows を使用されている方と Mac を使用されている方が混在していますので、今後サンプルコードを取り込んだ際に問題が起きないように、文字コードを UTF-8 に統一したいと思います。



  • ウィンドウ -> 設定 をクリック


  • 一般 -> ワークスペース をクリック


  • テキスト・ファイルのエンコードその他: UTF-8 となっていることを確認します。

Pleiades All in One Eclipse のデフォルトでは その他: UTF-8 となっているはずです。

eclipse本体のみをダウンロードした場合は デフォルト (Windowsだと MS932) となっています。



Eclipseを使用した簡単なプログラムの作成


作成するプログラムの仕様

今回は引数から数字を受け取り、その値を2乗した結果を出力するプログラムを作成します。


プロジェクトの作成

まずはプロジェクトを作成しましょう。

「パッケージ・エクスプローラー」を右クリックし、新規 -> Javaプロジェクト を選択します。

プロジェクト名は何でも構いません。

とりあえず JavaStudy001 としておきましょう。

その他の項目はデフォルトのまま、「次へ」をクリックします。

Javaのビルド設定画面が表示されますが、今回はデフォルトのまま「完了」をクリックしてください。

起動時に指定した workspace に JavaStudy001 フォルダが生成され、

eclipseが使用する各種設定ファイルと共に

ソースコードを格納する src フォルダ、

生成したクラスファイルを格納する bin フォルダが生成されます。


クラスの作成

以下のようなパッケージとクラスの構成になるように、クラスを作成していきます。


  • パッケージ名: myPackage.calc


    • Calculationクラス

    • Squareクラス



  • パッケージ名: myPackage.main


    • Programクラス




Calculationクラスの作成


  • 「パッケージ・エクスプローラー」で src フォルダを右クリックし、新規 -> クラス を選択します。


  • パッケージmyPackage.calc とします。


  • 名前Calculation とします。


Calculation.java

package myPackage.calc;

public class Calculation {

}



Squareクラスの作成


  • 「パッケージ・エクスプローラー」で myPackage.calc を右クリックし、新規 -> クラス を選択します。


  • 名前Square とします。


  • スーパークラス参照(E)... をクリックします。

  • 「スーパークラスの選択」で「calc」と入力すると、「一致する項目」に先程作成した Calculation クラスが表示されますので、それを選択して OK をクリックします。


Square.java

package myPackage.calc;

public class Square extends Calculation {

}



Programクラスの作成


  • 「パッケージ・エクスプローラー」で src フォルダを右クリックし、新規 -> クラス を選択します。


  • パッケージmyPackage.main とします。


  • 名前Program とします。


  • public static void main(String[] args)(V) にチェックを入れ、完了 をクリックします。


Program.java

package myPackage.main;

public class Program {

public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ

}

}


TODOコメントが入っており、TODO の箇所が強調されていると思います。

コードに TODOコメント を記載しておくと、「タスク・ビュー」に一覧表示されます。

「タスク・ビュー」から該当コメントの箇所にジャンプする機能があるので、後で実装しなければならない箇所や他の開発者に実装を依頼する場合などは、TODOコメントを残しておきましょう。

「タスク・ビュー」は ウィンドウ -> ビューの表示 -> タスク をクリックすると表示されます。


Calculationクラスの実装

値を保持する value フィールドを定義しましょう。

package myPackage.calc;

public class Calculation {

protected int value = 0;

}

続いて、value を右クリックし ソース -> getter および setter の生成 をクリックします。

「getter および setter の生成」ダイアログで、デフォルトのまま OK をクリックします。

getValue(), setValue(int value) メソッドが生成されることを確認してください。

つづけて、計算結果を保持する result フィールドを作成します。

value フィールドの直下に protected int result = 0; と定義を追加しましょう。

さらに計算結果を出力する output メソッドを作成します。

これは外部のクラスからも呼べるように public として作りましょう。

Eclipseにはコードを補完する機能があります。

public void output() {

System.
}

↑この状態でしばらく待つと、候補となる項目が表示されます。

out を選択し、さらに . を入力しましょう。

out クラスのメンバが表示されますので、println を選択します。

最後に println メソッドに this.result を渡してあげます。

最終的に、以下のようになっていることを確認してください。


Calculation.java

package myPackage.calc;

public class Calculation {

protected int value = 0;

protected int result = 0;

public int getValue() {
return value;
}

public void setValue(int value) {
this.value = value;
}

public void output() {
System.out.println(this.result);
}

}


Javaには Javadoc という ソースコードのコメントを元にHTML形式のAPI仕様書を生成する仕組みがあります。

output メソッドにJavadocコメントを追加しましょう。

Javadoc は /** から始まり */ で終わるコメントです。

慣習的にコメントが複数行に渡った場合、2行目以降の行頭には * を入れます。

Eclipseでは /** と入力してEnterを押下すると、自動的にJavadocコメントが挿入されます。

/**

* 計算結果をコンソールに出力します。
*/

public void output() {

}

getValue にもJavadocコメントを追加しましょう。

/**

*
* @return
*/

public int getValue() {
return value;
}

そうすると、↑のように @return というのが自動的に生成されます。

これは Javadocタグと言われるもので、@return はメソッドの戻り値を記述します。

Javadocタグを使用してメソッドの定義を記述しておくと、HTMLを生成した際にJavadocがキレイに整形してくれます。

/**

* 計算に使用する値を取得します。
* @return 計算に使用する値
*/

public int getValue() {
return value;
}

setValue にも Javadocを追加しましょう。

/**

* 計算に使用する値を設定します。
* @param value 計算に使用する値
*/

public void setValue(int value) {
this.value = value;
}

@param は引数のタグです。

クラスやフィールドにも Javadocコメントを付けることができます。

Eclipseでコード補完する際にも表示されますので、積極的に書くようにしましょう。


Squareクラスの実装

2乗の計算を行う calculate メソッドを定義します。


Square.java

package myPackage.calc;

public class Square extends Calculation {

/**
* 値を2乗します。
*/

public void calculate() {
// valueを2乗する
this.result = this.value * this.value;

// 結果を出力する
this.output();
}

}



Programクラスの実装

最後に mainメソッド の実装を行います。

「タスク・ビュー」を開き、該当のTODOコメントをダブルクリックしましょう。

以下のように実装します。


Program.java

package myPackage.main;

public class Program {

public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ

Square square = new Square();
}

}


Square クラスに赤い波線が表示されると思います。

これは該当箇所にエラーがあるという表記で、myPackage.calc.Square クラスが見えない事が原因です。

波線が表示されている箇所にマウスを当て、しばらく待つと「クイック・フィックス」が表示されます。

'Square'をインポートします (myPackage.calc) をクリックしてください。

import myPackage.calc.Square; が追加され、赤い波線が消えます。

続いて square に黄色い波線が表示されます。

これは該当箇所に警告があるという表記です。プログラム中で定義した square 変数が使用されていない、という内容です。

実装を進めると消えますので、そのまま進めます。

public static void main(String[] args) {

// TODO 自動生成されたメソッド・スタブ

Square square = new Square();

square.setValue(Integer.parseInt(args[0]));
}

プログラム起動時に与えられたパラメータは main メソッドの args に格納されます。

今回は最初に渡されたパラメータを int に変換して Squarevalue にセットします。

setValueメソッドにマウスを合わせると Javadocコメントの内容が表示されることを確認しましょう。

さらに、setValue の内容を確認したい、という場合は、右クリックから「宣言を開く」を選択すると該当メソッドが定義されている箇所に飛べます。

最後に計算を行い、結果を出力します。

public static void main(String[] args) {

// TODO 自動生成されたメソッド・スタブ

Square square = new Square();

square.setValue(Integer.parseInt(args[0]));

square.calculate();
}

ひととおり実装が完了したので、TODOコメントを削除しましょう。


実行

実行ボタン(丸い緑色に白抜き三角のボタン)をクリックします。

「実行構成」ダイアログが表示されますので、「Java アプリケーション」を選択して「新規の起動構成」ボタンをクリックします。


  • プロジェクト: JavaStudy001

  • メイン・クラス: myPackage.main.Program

となっていることを確認し、実行をクリックします。

コンソールが表示され、以下のように表示されます。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

at myPackage.main.Program.main(Program.java:11)

ArrayIndexOutOfBoundsException とは配列にアクセスする際に指定した配列の添字が要素数を超えたときに発生する 例外 です。

今回は args[0] と配列の先頭要素を取得していますが、パラメータをひとつも指定せずに実行したので args の配列は空っぽです。

実行時に引数を与えるように、「実行構成」を変更しましょう。


  • 実行ボタンの右側の下向きの三角形をクリックし、「実行の構成」を選択します。

  • 「引数」タブを表示します。

  • 「プログラムの引数」に 3 と入力します。


  • 実行をクリックします。

コンソールが表示され、9 と出力されることを確認します。


デバッグ

計算結果が意図した内容と異なるなど、処理の過程を確認したい場合があります。

ソースコードに ブレークポイント を設定し、処理を該当箇所で一時停止させることが可能です。

Square.java の 10行目、valueを2乗している箇所にブレークポイントを設定しましょう。

行番号の箇所をダブルクリックしてください。行番号の左側に青い丸が設定されます。

つづいて、虫アイコンのボタンをクリックします。

「パースペクティブ切り替えの確認」が表示されますので、「はい」をクリックしてください。

「デバッグ パースペクティブ」が表示され、先程ブレークポイントを設定した行が強調表示されています。

this.resultthis.value にマウスオーバーすると、変数の中身が確認できます。

ステップ・オーバーボタン をクリックすると、その行の処理が行われ、次の行に移ります。

改めて this.result にマウスオーバーすると、計算結果が変数に格納されている事が確認できます。

this.output(); の行が強調表示されている状態で ステップ・インボタンをクリックします。

Calculation.javaoutput メソッドが表示され、System.out.println(this.result); 行が強調表示されます。

再開ボタン をクリックすると、次のブレークポイントまで後続行を一気に処理します。

デバッグが完了したら、右上の Java と書かれたボタンをクリックし、「Java パースペクティブ」に戻りましょう。


Eclipseの基本的な操作について解説しました。

テキストエディタなどでプログラムを作成することと比較すると、非常に便利であることを実感していただけるかと思います。