この章では、プログラムとは何か、Java がどのような言語なのか、書いたプログラムがどのようにして動くのかを学びます。手を動かすのは第2章からです。この章は読むだけで進められます。
この章で学ぶこと
- プログラムとプログラミング言語
- Java の特徴と、使われている場所
- ソースコードがコンパイルされて実行されるまでの流れ
- この教材で使う Java のバージョン
1.1 プログラムとは
プログラム は、コンピューターに行わせる処理を、順番に書き並べたものです。コンピューターは、プログラムに書かれた処理を、上から順に1つずつ実行します。
プログラムを書くための言葉を プログラミング言語 といいます。Java はプログラミング言語の1つです。プログラミング言語で書いた文章を ソースコード(または単にコード)と呼びます。
たとえば、社員管理のプログラムでは、次のような処理を書きます。
- 社員の名前と年齢を記録する
- 記録した社員を、社員IDの順に一覧で表示する
- 社員IDを指定して、社員を探す
- 年齢が 15 未満なら、エラーのメッセージを表示する
この教材では、こうした処理を Java で書けるようになることを目指します。
1.2 Java とは
Java(ジャバ)は、1995年に発表されたプログラミング言語です。業務用のシステムや Web アプリケーション、Android のアプリなど、幅広い分野で使われています。Spring入門で作る社員管理アプリも、Java で書きます。
Java には、次の特徴があります。
| 特徴 | 意味 |
|---|---|
| オブジェクト指向 | データと、そのデータを扱う処理を クラス という単位にまとめて書く(第8章から学びます) |
| 型が厳密 | 変数には、入れる値の種類(型)を必ず書く。種類が合わないと、実行する前にエラーになる(第4章) |
| 一度書けばどこでも動く | Windows でも macOS でも Linux でも、Java が入っていれば同じプログラムが動く(1.3) |
| ライブラリが豊富 | 日付や一覧(リスト)など、よく使う機能が最初から用意されている(第11章) |
【知識メモ】Java と JavaScript は別の言語
名前が似ていますが、JavaScript はブラウザの中で動く別のプログラミング言語で、Java とは文法も使い方も違います。この教材で学ぶのは Java です。
1.3 コンパイルと実行
Java のソースコードは、Hello.java のように、拡張子が .java のファイルに書きます。ただし、コンピューターはソースコードをそのまま実行できません。実行するまでには、次の2つの段階があります。
| 段階 | 行うこと | 結果 |
|---|---|---|
| コンパイル | ソースコードを、コンピューターが実行できる形に変換する。文法の間違いがあると、ここでエラーになる |
Hello.class のような、拡張子が .class のファイル(クラスファイル) |
| 実行 | クラスファイルを JVM(Java 仮想マシン)が読み込んで、書かれた処理を順に行う | 画面への表示などの結果 |
JVM は、Java のプログラムを動かすためのソフトウェアです。Windows 用、macOS 用のように、動かすパソコンごとに用意されています。クラスファイルはどの JVM でも同じように動くので、一度書いたプログラムを、どのパソコンでも動かせます。
この教材では、コンパイルも実行も Eclipse の中で行います。Eclipse は、ソースコードを保存するたびに自動でコンパイルし、文法の間違いがあればその場で赤い印を付けて教えてくれます。実行はボタン1つです。コマンドを打つ操作はありません。
【知識メモ】JDK と JRE
Java のプログラムを作るために必要なもの(コンパイルする道具や JVM)をまとめたものを JDK(Java Development Kit)といいます。この教材で使う Eclipse(Pleiades All in One)には JDK が同梱されているので、別にインストールする必要はありません。実行するだけのための JRE(Java Runtime Environment)という言葉も、Eclipse の画面に出てくることがあります。JDK の中の JVM と標準のライブラリの部分を指す言葉です。
1.4 Java のバージョン
Java は、半年ごとに新しいバージョンが出ています。その中で、数年にわたって不具合の修正が続けられるバージョンを LTS(Long Term Support、長期サポート)と呼び、業務のシステムでは LTS のバージョンが使われることが多いです。
この教材では、LTS の1つである Java 17 を使います。Spring入門でも Java 17 を使うので、同じバージョンにそろえています。Eclipse(Pleiades All in One)に Java 17 が同梱されているので、第2章でプロジェクトを作るときに選ぶだけで使えます。
【知識メモ】バージョンが違っても、この教材の内容は同じ
この教材で扱う文法は、Java の初期からある基本的なものです。Java 17 より新しいバージョンでも、同じように動きます。現場で別のバージョンを使うことになっても、学んだ内容はそのまま役に立ちます。
公式ドキュメント
この教材の内容をさらに詳しく調べたいときは、次の公式ドキュメントを引きます。今は読まなくてかまいません。困ったときや、教材で扱わなかったことを調べるときに使ってください。
| 資料 | 内容 | 言語 |
|---|---|---|
| Java SE 17 API ドキュメント |
String や List など、Java に用意されているクラスとメソッドの説明 |
日本語 |
| Java 言語仕様(Java SE 17) | Java の文法の正式な定義 | 英語 |
| Dev.java Learn | Java を開発している Oracle による学習用の解説 | 英語 |
この中で最もよく使うのは、API ドキュメントです。クラスやメソッドの使い方を確かめたいときに、クラスの名前で探します。
1.5 この教材の進め方
第2章で Eclipse を準備し(インストールの手順は入門シリーズ共通の「開発環境の準備」にあります)、java という名前の Java プロジェクトを作ります。第3章からは、章ごとにパッケージ(ch03、ch04 …)を作り、その中にクラスを作ってプログラムを書きます。書いたプログラムは、その場で実行して、結果を Eclipse の「コンソール」で確かめます。
第2部(第3〜7章)では、変数・条件分岐・繰り返し・メソッドといった、プログラムの基本の書き方を学びます。第3部(第8〜13章)では、クラスを中心とした Java らしい書き方を学びます。第4部(第14章)では、学んだことを使って、社員管理のクラスを作ります。
各章のコードは、前の章までに学んだ文法だけで書いてあります。順番に読み進めてください。
【便利な使い方】コードは自分で入力する
本文のコードは、右上の「コピー」ボタンでコピーすることもできますが、慣れるまでは自分で入力してください。入力するうちに、; や { } の付け方、大文字と小文字の区別が身に付きます。入力したものがうまく動かないときは、コピーしたコードと見比べると、違うところを見つけやすくなります。入力を楽にする Eclipse の機能(補完)は、第3章の「補完で入力する」で説明します。
1.6 まとめと確認問題
まとめ
- プログラム は、コンピューターに行わせる処理を順番に書いたもの。コンピューターは上から順に1つずつ実行する
- Java は、業務用のシステムや Web アプリケーションで広く使われているプログラミング言語。クラスという単位でプログラムを書く
- ソースコード(
.java)を コンパイル するとクラスファイル(.class)ができ、それを JVM が実行する - Eclipse では、保存すると自動でコンパイルされ、実行はボタン1つで行える
- この教材では、LTS の Java 17 を使う。Eclipse に同梱されている
確認問題
問1 ソースコードを書いたファイルの拡張子と、コンパイルしてできるファイルの拡張子は、それぞれ何ですか。
解答を見る
ソースコードは .java、コンパイルしてできるクラスファイルは .class です。
問2 JVM は何をするソフトウェアですか。
解答を見る
クラスファイルを読み込んで、書かれた処理を順に実行するソフトウェアです。パソコンごとに用意されているので、同じクラスファイルをどのパソコンでも動かせます。
問3 文法の間違いは、コンパイルと実行のどちらの段階で見つかりますか。
解答を見る
コンパイルの段階です。Eclipse では、保存したときに自動でコンパイルされ、間違いがあればその場で赤い印が付きます。
問4 この教材で使う Java のバージョンはいくつですか。また、別にインストールする必要はありますか。
解答を見る
Java 17 です。Eclipse(Pleiades All in One)に同梱されているので、別にインストールする必要はありません。
