統合開発環境 Eclipse を利用したプログラムの作成と実行,さらには 作成したプログラムのデバッグといった基本を学びます. 以下では,まず,Eclipseの立ち上げ方を述べ,続いてプロジェクトの作成について概観し, クラスの作成・プログラムの実行(引数なしの場合)・ プログラムの実行(引数がある場合)・デバッグという順に話が進みます.
Eclipse を立ち上げるためには,図のように, 画面左隅の「スタート」メニューから「Tools」-「 eclipse」の順に進みます.
まずは,「プロジェクト」というものを作成します. プロジェクトは,プログラムに関する各種情報を管理する単位で, 一般に,Eclipseをはじめとした統合開発環境では,それを作成することにより, 開発するプログラムに適した環境設定し, 必要なファイルをまとめて管理します. 例えば,プログラムのソースコードを記述したファイルや, それをコンパイルしてできるクラスファイルをどのフォルダに置くかなどの設定ができ, [プロジェクト]から ソースコードを簡単に参照できます.
新規にプロジェクトを作成するためには, Eclipseを起動し,メニューから,「ファイル」-「 新規」 - 「Javaプロジェクト」の 順に選択します.
続いてプロジェクトの名前を入力します.作成するプログラムの内容を短くかつ的確に表現する名前にしてください. Javaプロジェクト作成ウィザードで, プロジェクト名を入力して,あとはデフォルトのまま先に進みます. この例では,プロジェクト名を sample とします. ここで入力したプロジェクト名は,このあと作成するソースファイルなどを格納するフォルダ名にもなります. また,図のように,「実行環境JREの使用」のところで「JavaSE-1.7」(あるいは「JavaSE-1.8」)を指定します.
これでプロジェクトが作成できました. 画面の左側の「パッケージエクスプローラ」ビューに「sample」というプロジェクトが登録されていることを 確認してください.
次にクラスを作成します.Javaプログラムは,クラスという基本単位で作成します.
新たにクラスを作成するには, 左側の「パッケージエクスプローラ」ビューのプロジェクト「sample」を左クリックで選択した状態で, メニューから,「ファイル」-「新規」-「クラス」の順に選択します.
出てきたJavaクラスウィザードで,「名前」にクラス名を入力し「終了」をクリックします.
クラス名は,一般的に先頭を大文字で始めます.
分かりやすく命名規約に沿った名前にしてください.今回は「Sample01」とします.
ソースフォルダーやパッケージ名・さらにはクラスの修飾子なども設定できますが,今回はデフォルトのまま先に進みます.
これでクラスが作成できました.
画面左側の「パッケージエクスプローラ」ビューに「Sample01」というクラスが作成され,画面中央のエディタに自動的に雛形が入力された「Sample01.java」が表示されていることを確認してください.
それでは作成したプログラムを実行してみましょう.プログラムは,引数をとるものと,とらないものに大別できます.
ここでは引数をとらないサンプルとして以下のようなプログラムを作成して,実行することにします.
エディタでMainメソッドを入力し,Ctrl+[S]キーで保存します.
public class Sample01 { public static void main(String[] args){ System.out.println("これはサンプルプログラムです."); } }
メニューから「実行」-「実行」を選択します.
プログラムが実行され,画面下側の「コンソール」ビューに「これは,サンプルプログラムです.」という文字が出力されたことを 確認してください.
引き数をとるプログラムの場合は,以下のように引き数を指定して実行します.
サンプルとして以下のようなプログラムを作成し実行してみます.
エディタでMainメソッドを入力し,Ctrl+[S]キーで保存します.
public class Sample01 { public static void main(String[] args){ String msgValue01 = "これは"; String msgValue02 = "です"; System.out.println(msgValue01 + args[0] + msgValue02 + args[1]); } }
メニューから「実行」-「実行の構成」を選択します.
引数を指定するためには,右側のペインで「引き数」タグを選択します. その選択に続いてプログラム引数の欄にSample01.javaが要求する二つの引数につき,それぞれ値を入力します. 下の例では,一つ目の引数の値が「サンプルプログラム」という文字列で,二つ目の引数の値は「!」という文字列となります. これで実行を押します.
プログラムが実行され,画面下側の「コンソール」ビューに「これはサンプルプログラムです!」という文字列が 出力されたことを確認してください.
作成したプログラムが意図したとおりに動作しない場合,デバッグ機能を使用するとプログラムの誤りが見つけやすくなります. デバッグ機能は,任意の場所で実行を一時中断させたり,変数の値を確認しながら1行ずつ実行させることなどができます.
ここでは,先に作成したサンプルプログラムを以下のように修正し,Ctrl+[S]キーで保存します. 実行して「これはサンプルプログラムです.」と出力されることを実行手順に沿って確認しておきましょう.
public class Sample01 { public static void main(String[] args){ String msgValue = "これはサンプルプログラムです."; System.out.println(msgValue); } }
プログラム中で一時的に実行を止めたい箇所(行)にブレークポイントを設定します. エディタで,String msgValue = "これは…"; の行の先頭(グレーの部分)をダブルクリックすると, 青い丸が表示されます.
こうすると,ブレークポイントがその行に設定され,この行を実行する直前で実行を一時中断させることができます.
メニューから「実行」-「Javaアプリケーションとしてデバッグ」を選択します.
そのまま「デバッグ」をクリックします.
画面が「デバッグ」パースペクティブに切り替わり,先に指定した行の直前で中断しているはずです.
「デバッグ」ビューのツールバーにあるボタンで実行状況を制御します.
今回は,「ステップオーバー」をクリックして1行実行を進めてみます.つまりブレークポイントが 設定されている行だけを実行してみます.
デバッグには,さまざまな機能があり,その機能が上の各アイコンとして表示されます.それらの意味を以下で説明しましょう.
中断しているスレッドを再開します.
ソースコードのブラウズや変更・データのインスペクション・ステップなどを行なうことができるように, ターゲットの選択されているスレッドを中断します.
選択されたデバッグターゲットを終了します.
リモートでデバッグ中に,選択されているデバッグターゲットからデバッガーを切断します.
終了したデバッグターゲットをすべてビューの表示から消去します.
ステップフィルターの現行セットが適用されている,強調表示されたステートメントにステップインします.
強調表示されているステートメントにステップイントゥします.
強調表示されているステートメントをステップオーバーします.実行は,同じメソッド内の次の行,または,(メソッドの最後の行にいる場合は) 現在のメソッドを呼び出したメソッドから続行します.
現行メソッドからステップアウトします.このオプションは,現在のメソッドを終了した後,実行を停止します.
エディタの反転している行が一つ進み, 「変数」ビューにmsgValueが表示されます. 変数ビューが画面に表示されていなければ,メニューのウィンドウから 「ビューを表示」 - 「変数」 と進めば画面に表示されます.
msgValue に,"これは…"という文字列が正しく代入されていることが分かります.
ここまででは,まだ画面下の「コンソール」ビューには出力されていません. もう一度,「ステップオーバー」をクリックし,System.out…の行を実行させてみましょう.
なお,デバッグ中に変数に格納されている値を書き換えることもできます.
次の行が実行され,文字列がコンソールに出力されました. 「デバッグ」ビューのツールバーにある「終了」をクリックしてデバッグを終了します.さらに, 画面右上の方にある「Java」ボタンを押して戻ります.
以上でEclipseの簡単な説明を終わります.最後に,レポート提出システムを使って課題提出をするために, 作成したプログラムがどこにできるかを記載しておきます.
先に述べたように,Eclipseではプログラムはプロジェクトを単位として管理されます. 作成したプログラムは,実体としては,PCの中ではあるディレクトリ(フォルダ)中のファイルとして 保存されます.プロジェクトごとに別々のフォルダが作成され,その下にできる src というフォルダの直下 にプログラムが記述されたファイルが置かれます.具体的には,XXX.javaがプログラムが入ったファイルとすると,
z:\workspace\プロジェクト名\src\XXX.java
となります.
本資料は以下をもとに作成しました.
http://www.okapiproject.com/java/java_tools/eclipse/vol_2/eclipse_operation.htm