SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

20年経ってもデファクトスタンダードIDEのEclipse入門

Eclipseでの初めてのコーディング~プログラムの実行方法まで解説

20年経ってもデファクトスタンダードIDEのEclipse入門 第2回

Eclipseでのコーディングの基本

 プロジェクトが作成できたところで、実際にコーディングを行っていきましょう。まずは、ソースファイルの作成です。

クラスファイルの作成方法

 Javaでは、全てのソースコードはクラスに記述します。そのため、ソースコードファイルである.javaファイルの作成は、すなわちクラスの作成と他なりません。Eclipseでは、このクラスの作成に対して専用のダイアログを用意してくれています。それを使っていきましょう。

 パッケージエクスプローラ上で、FirstJavaProjectフォルダでもsrcフォルダでもどちらでもかまいませんので、右クリックしてください。あるいは、[ファイル]メニューでもかまいません。表示されたメニューから
[新規]>[クラス]
を選択してください(図11)。

図11:クラス作成メニュー
図11:クラス作成メニュー

 すると、図12のような新規Javaクラス作成ダイアログが表示されます。

図12:新規Javaクラス作成ダイアログ
図12:新規Javaクラス作成ダイアログ

 このダイアログに必要事項を入力し、[完了]をクリックすると、.javaファイルが作成されます。ここでは、図12のように、次の情報を入力し、残りはデフォルトのまま[完了]をクリックしてください。

  • パッケージ: com.example.eclipse.firstjavaproject
  • 名前: HelloWorld

 ここで入力した「パッケージ」は、その名称通り、このクラスを格納するパッケージの指定です。何も入力しない場合は、デフォルトパッケージ(つまりパッケージなし)に格納されますが、この方法は推奨されていません。たとえ、学習用サンプルでも何かのパッケージを指定した方がよいでしょう。

 もう1つの「名前」欄は、クラス名を入力します。Javaでは、ファイル名は「クラス名.java」とする規約となっていますので、Eclipseはその規約に従い、名前欄に入力した名称でファイル、および、クラスを作成してくれます。

 実際に、[完了]ボタンをクリック後、Eclipseの画面は図13のようになり、srcフォルダ内にはcom.example.eclipse.firstjavaprojectパッケージが作成され、その中にHelloWorld.javaが作成されているのが分かります。

図13:HelloWorld.javaが作成されてコーディング可能になったEclipseの画面
図13:HelloWorld.javaが作成されてコーディング可能になったEclipseの画面

 さらに、エディタ領域にHelloWorld.javaが表示されてコーディング可能な状態となっています。しかも、リスト1のように、あらかじめpackage宣言とclass宣言が記述されており、すぐにクラス内部のコーディングを開始できるのがわかります。

[リスト1]com.example.eclipse.firstjavaproject.HelloWorld
package com.example.eclipse.firstjavaproject;

public class HelloWorld {

}

コーディングに便利な入力補完

 ここから、作成されたHelloWorld.javaにリスト2のようにコードを追記していくことにしましょう。

[リスト2]com.example.eclipse.firstjavaproject.HelloWorld
package com.example.eclipse.firstjavaproject;

public class HelloWorld {
	public static void main(String[] args) {  // (1)
		System.out.println("Hello World!");  // (2)
	}
}

 このコードは、標準出力に「Hello World!」を表示させる、いわゆるJavaのHelloWorldコードです。追記するのは、(1)のメソッドと(2)の行です。単純なコードのため、そのまま入力してもそれほどミスは起きませんし、手間ではありません。しかし、ここではEclipseの入力補完を味わっていただこうと思います。図14をみてください。これは、リスト2の(2)のコードの入力途中の状態です。

図14:System.まで入力した状態で表示された入力補完
図14:System.まで入力した状態で表示された入力補完

 「System」まで入力し、「.」を入力した途端、図14のように続きの候補が表示されます。さらに、候補を選択すると、その候補のコードの意味まで表示してくれます(ただし、デフォルトは英語ですが…...)。これが、Eclipseの入力補完です。もし、表示されない場合は、入力途中のタイミングで[ctrl]+[Space]を入力することで、候補が表示されます。あとは、候補から適切なものを選択するだけです。この方法だと、大幅にコーディングの手間を省くことができます。

macOSでの[ctrl]+[Space]

 Eclipseの入力補完候補表示(コンテンツアシスト)のショートカットは、[ctrl]+[Space]がデフォルトとなっています。ところが、macOSの場合は、同じショートカットに、入力ソースの切り替えが割り当てられており、こちらがOSショートカットのために優先されてしまい、候補ウィンドウが表示されません。これを回避する方法は、どちらかのショートカットを変更することです。通常は、OSを優先させるために、Eclipseのショートカットを変更します。

 Eclipseのショートカットの変更は、Eclipseの設定ウィンドウで行います。設定ウィンドウの表示は、macOSの場合は[Eclipse]メニューから、Windowsの場合は[ウィンドウ]メニューから、それぞれ[設定]を選択します。表示された設定画面の左ペインから、
[一般]>[キー]
を選択します。これは、「フィルターを入力」と表示されている検索窓に「キー」と入力するとすぐに見つかります。

 図15の画面が表示されるので、コマンド一覧の中から「コンテンツアシスト」を選択し(同じくフィルタで絞り込み可能)、表示された画面の[バインディング]欄に適切なショートカットを入力し、[適用して閉じる]をクリックすれば変更できます。

図15:コンテンツアシストショートカットの変更画面
図15:コンテンツアシストショートカットの変更画面

コードを展開してくれるスニペット

 Eclipseには、コンテンツアシストのさらに強力な機能として、スニペット機能があります。Javaで標準出力に文字列を表示させるコードは、次の定型コードとなっています。

System.out.println(表示文字列);

 リスト2の(2)がまさにこのコードに該当するわけですが、このような定型コードは、入力補完で次々コードを記述しなくても、一発で入力できる機能があります。リスト2の(2)の行で「sysout」と入力し、コンテンツアシストショートカットを入力してください(図16)。

図16:sysoutと入力したところ
図16:sysoutと入力したところ

 すると、図17のように「System.out.println();」のように展開してくれます。

図17:sysoutが展開されたところ
図17:sysoutが展開されたところ

 このようなキーワードを入力して、そのコードを展開してくれるパターンがEclipseにはいろいろ用意されており、リスト2の(1)のメソッド(main()メソッド)もその1つに含まれています。(1)のメソッドは、「main」と入力してコンテンツアシストショートカットを入力すれば展開します。

 つまり、実はリスト2のコーディングは、
クラスの作成→main+ショートカット入力→sysout+ショートカット入力
でほとんどのコーディングができてしまうことになります。なかなかの時間短縮です。

main()メソッドの自動生成オプション

 クラスを作成してからmain()メソッドを記述する方法として、main+ショートカットは非常に便利です。さらに便利な方法として、main()メソッド記述済みのクラスを作成する方法があります。図12のクラス作成ダイアログを見てください。

 「どのメソッドスタブを作成しますか?」と記述されたセクションのチェックボックスの1つに[public static void main(String[] args)]というのがあります。これがまさにmain()メソッドであり、このチェックボックスにチェックを入れて[完了]をクリックすると、あらかじめmain()メソッドが記述された状態でクラスが作成されます。

次のページ
Javaアプリケーションの実行

この記事は参考になりましたか?

20年経ってもデファクトスタンダードIDEのEclipse入門連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook <個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/13084 2020/10/28 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー