第1章 Javaプログラミング入門

はじめに

この章では、Java言語によるプログラミングを学ぶにあたって、知っておかなければならない前提知識について学習します。
また、Java言語の特徴やJava言語で書かれたプログラムの実行方法、構成要素について学びます。

目次

  • プログラミングについて
  • プログラミング言語の歴史
  • Java言語とは
  • Javaプログラムの実行手順
  • Javaプログラムの構成要素
  • 章のまとめ

目標

  • Java言語の特徴を理解すること
  • 各エディションの利用用途について理解すること
  • Javaプログラムの作成方法から実行方法の流れまでを理解すること
  • Java言語のプログラム構成を理解すること

プログラミングについて

Java言語を学習する前にまずは、プログラミング言語の基礎知識について学習していきましょう。

プログラミングとは

プログラムとは、コンピュータ上で実行するソフトウェアの動作手順を記述したものです。 ソースコード、ソース、ソースプログラムなどとも呼ばれます。プログラムはプログラミング言語を使用して記述します。プログラムを記述することをプログラミングといいます。

プログラミング言語とは

プログラミング言語とはコンピュータに命令を伝えるための人工的なコトバです。コンピュータは0と1を並べた記号(機械語(マシン語))だけ理解できますが、プログラミング言語は理解できません。プログラミング言語をコンピュータで実行させるためには機械語へ変換する必要があります。この変換する作業をコンパイルと言います。また、翻訳する際に使用するソフトウェアをコンパイラといます。

プログラムの開発手順

以下は一般的なプログラムの作成から実行までの開発手順です。

プログラムの作成

  • テキストエディタでソースプログラムを記述し、保存します。

コンパイル

  • コンパイルとはソースプログラムを機械語(マシン語)に翻訳する作業です。
  • コンパイルをおこない、実行可能ファイルを作成するソフトウェアをコンパイラと呼びます。
  • コンパイルを実施し、ソースプログラムの中の文法的な誤りをチェックします。
  • 文法的な誤りがない場合は実行可能ファイルを作成します。
  • 文法的な誤りがある場合にはコンパイルエラーというエラーがコンソール上に出力します。

実行

  • コンパイラによって作成された実行可能ファイルを実行します。
  • 実行可能ファイルを実行したときのエラーを実行時例外といいます。

デバッグ

  • プログラムのミスのことをバグといい、バグを取り除く作業をデバッグといいます。
  • バグがあった場合にはデバッグを実施します。

コンパイルのタイプ

コンパイルのタイプとしては2つ(事前コンパイル方式インタープリタ方式)あります。

事前コンパイル方式

事前コンパイル方式は、ソースコードをあらかじめコンパイルしてから実行する方式のことです。この方式のメリットは、対象OS専用のコードに変換されている為、高速に実行することができます。デメリットとしましては、対象OSにコンパイルされている為、対象OS以外では実行できないことです。事前コンパイル方式を採用している言語には、C言語やC++言語、C#言語、Objective-C言語があります。

インタープリタ方式

インタープリタ方式は、インタープリタという仲介アプリケーションを使って、ソースコードを実行時に機械語に変換する方式のことです。対象OSごとのインタプリタを用意しておくことで、どんなOSでもプログラムを実行することができます。インタープリタを採用している言語には、PHPやJavaScript、Ruby、Pythonがあります。インタープリタ方式は、ソースコードを一行一行ずつコンパイルしながら実行する為、効率が悪く、事前コンパイル方式と比べて実行速度が落ちてしまうというデメリットがあります。

プログラミング言語の歴史

構造化プログラミング言語オブジェクト指向言語の違いについて理解しましょう。

プログラミング言語の誕生

世界初のプログラミング言語はFORTRAN(フォートラン/1957年)です。
FORTRANの命令は数学に近い言語と言われています。

FORTRANの記述例

Y = SQRT(X)

FORTRANは主に科学技術計算用として広く普及しました。

また、同じ頃にCOBOL(コボル/1959年)という言語が開発されました。
COBOLは計算誤差がなく、きちんとお金の計算ができることを目的とした言語です。
会社の経理事務や銀行業務での利用を想定して作られた言語で、事務系の人が使いやすいようにという配慮から英語の文章のように命令を書きます。

COBOLの記述例

ADD  100  TO   X

構造化プログラミング言語

プログラミング言語もゆっくりではありますが、確実に進化してきました。最初の進化は構造化でした。FORTRUNだとプログラマの手腕によって、品質が変わってくることがわかりました。そこで、プログラムの組み立て方を工夫することによって、誰でも品質の安定したプログラムを書けるようにしようと考えられたのが構造化プログラミング言語です。主に順次分岐反復という3つの基本構造だけを使うことが推奨されたプログラミング言語です。

順次

上から下へ順に命令文を実行します。

分岐

条件によって2つの命令文のどちらかだけを実行します。

反復

一定の条件が成立している間、同じ命令文を繰り返し実行します。

構造化プログラミング言語の代表的な言語としては ALGOL(1960年)、Pascal(1970年)、C(1972年)などがあります。Pascalはプログラミング教育で使用されていました。またCは基本ソフトなど専門的なプログラムの開発に利用されました。

オブジェクト指向言語

構造化プログラミング言語の次の進化は、オブジェクト指向プログラミングでした。オブジェクト指向プログラミング言語は大規模プログラム開発を容易にするために考えられた言語です。これまでのプログラミングが論理を中心に考えられ、「どんな順序で計算するか」だけを課題としていたのに対して、オブジェクト指向では、「どんな部品を作るのか」を考えます。この部品のことをオブジェクトといいます。部品化することで汎用性が高く使い回しが可能になります。

尚、オブジェクトの設計図のことをクラスと呼びます。

オブジェクト指向言語はSimulaやSmalltalkを始まりとし、現在ではC++Javaが使われています。

※オブジェクト指向については「オブジェクト指向」の章で詳しく解説いたします。

Java言語とは

次は、Java言語の概要について学習していきましょう。

Java言語の歴史

1990年にサンマイクロシステムズ社で開発が始まり、1996年ごろから急速に普及した言語です。 Java言語は初めてインターネットでの応用に対応したプログラミング言語です。現在はOracle社が管理している言語です。

当時(1996年)インターネットが爆発的に普及し、発展し、WebサーバとWebブラウザが普及しました。
Java言語がインターネットの世界で最初に注目を浴びたのは、アニメーションなどのWeb上で動くブログラムを作成できるからでした。一般的なプログラムをJavaアプリケーションというのに対して、これをJavaアプレットといいます。
アプレットはWeb画面上で動く小さなプログラムです。その後、他の技術でも同様のことができるようになってからはそれほど魅力的なものではなくなりました。

Javaが本当に重要性を増したのはサーブレット(Servlet)技術が登場してからです。サーブレットはサーバ側に設置するJavaプログラムです。Webブラウザから入力したデータを受け取り、データベース検索など状況に応じた適切な処理を実行します。

Javaのエディション

JavaにはJava SEJava EEJava MEと呼ばれる3種類のエディションがあります。

Java SE(Java Standard Edition)

Java Platform Standard Editionの略でJava言語の基礎となる標準的な機能をまとめたエディションです。
スタンドアロン(1台のコンピュータ)内のアプリケーションで利用されていたり、クライアントサーバ型のアプリケーションでも利用されている。GUIのライブラリ(java.antやjava.swing)も提供されている

Java EE(Java Enterprise Edition)

ウェブアプリケーションなどの大規模なソフトウェアの開発用で、
主に業務システムショッピングサイトなどで使用されるサーバ・プログラムを開発するためのエディションです。サーブレットやJSP、EJB、JSFなどが含まれます。
尚、Java EE は Java SEと組み合わせて利用します。  

Java ME(Java Micro Edition)

家電製品や携帯電話など組み込み機器向けのプログラムを開発するためのエディションです。Java ME も Java SEと組み合わせて利用します。

Java言語の特徴

Java言語はオブジェクト指向という特徴以外にも、以下の特徴があります。

プラットフォーム非依存

Java言語のスローガンは「Write once,run anywhere(一度プログラムを書けば、どこでも実行できる)」といわれており、WindowsやMacOSやLinuxなどのOS(Operating System)に依存することなく、一度作成したJavaプログラムはどのOSでも実行できます。それを可能にしているのはJRE(Javaプログラムの実行環境を提供しているソフトウェア)がOSの差分を吸収してくれているからです。

2段階のコンパイル

以下の図はJava言語で書かれたファイルが、動くまでの流れです。

java言語では「.java」のファイル(ソースファイル)を一旦コンパイル(コンパイル方式)すると「.class」ファイル(中間言語ファイル)が作成されます。そしてJVM(Java仮想マシン)が「.class」ファイルを読み込み、機械語に翻訳(コンパイル)しながら一行一行実行される(インタープリター方式)仕組みになっています。

ネットワークに対応

Java言語は、TCP/IPがサポートされています。このネットワーク機能を利用し、通信ネットワークを介してプログラムをクライアントへ送ることができます。

セキュリティに強い

Java言語は開発当初からセキュリティを考慮した設計になっています。プログラム実行時には、ファイルアクセスネットワークアクセスを制御するなどセキュリティが考慮されています。

その他の特徴

Java言語は上記の4つ以外にも様々な特徴があります。
電子メールを利用しながら、他のメールをチェックなど同時に2つ以上の処理を実行する仕組みであるマルチスレッド機能や、そのほかにもオブジェクトの後始末を自動化するガベージコレクションやデータベースアクセスを容易にするJDBCなど様々な特徴があります。

ガベージ・コレクション

ガベージ・コレクションはJVMの機能の1つで、不要になったメモリ領域自動的に解放する機能のことです。Java言語では、プログラマがメモリー管理をしなくてもよい仕組みになっています。どの変数からも参照されなくなったオブジェクトガベージ・コレクション対象になります。尚、ガベージ・コレクションをJVMへ促すには、System.gc( )メソッドを実行します。

Javaプログラムの開発環境

Java言語で書かれたソースコードを実際に動かすにはJDKJREJVMが必要です。

JDK(Java Development Kit)

JDKは「Java Development Kit」の略で、Java開発環境のことです。
Javaの様々なツールが梱包されたSun Microsystemsの製品の名称で、コンパイラデバッカJREが含まれています。

JRE(Java Runtime Environment)

「Java Runtime Environment」の略。Java実行環境のことです。Javaで作られたプログラムを実行するために必要なソフトウェアが含まれています。JREがOSの差分を吸収してくれる為、OSに依存することなくJavaプログラムを実行できます。

尚、上記の図のように、JDKに含まれているJREを非公開JRE(PrivateJRE)、単体でインストールするものを公開JRE(PublicJRE)といいます。

JVM(Java Virtual Machine)

「Java Virtual Machine」の略。Java言語で作られたプログラムを実行するためのソフトウェアです。通常JREに含まれています。実行させるにはソースコード.javaをコンパイルしてクラスファイル.classを作成する必要があります。

※通常JVMはJREに含まれており、JREはJDKに含まれています。ですので、JDKをインストールすればJava言語で書かれたソースコードを動かすことができます。

クラスライブラリ

クラスライブラリは部品(クラス)を集めたものです。Javaの各エディションで提供している機能の集まりのプログラムです。

参考: Java(tm) Platform, Standard Edition 8 API仕様

Javaシステム開発は、各エディションで提供されている膨大な数のクラスライブラリの中から、必要な機能を組み合わせながら作っていきます。

プロジェクトとパッケージ

次に、システムプロジェクトパッケージソースプログラム(クラスファイル)の構成について理解しましょう。

Javaシステム開発ではシステムを単位としてプログラムを作成できるようになっています。
システム全体のことをプロジェクトと呼んで管理します。プロジェクトの中はパッケージという単位(機能の集まり)によって幾つかの部分に分けられます。

※各パッケージの中にソースプログラム(クラスファイル)が管理されています。

JDKのインストール

それでは以下の①〜⑥の手順に従って、JDKをインストールしてみましょう。

① ターミナルを起動して、java -versionを実行する。

(Windowsの場合はプロンプトから実行する。)

[ コマンド形式 ]

$ java -version

[ ターミナルの場合(MacOSの場合)の実行例 ]

ターミナルを起動する

「java -version」コマンドを実行する

$ java -version
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

※最新のjava(2020年4月時点 1.14.xx)がインストールされていない場合には以下の②から⑥までを実施してください。

② ブラウザで「java jdk」を検索する

③ [ Java SE ダウンロード - Oracle ]のサイトを開く

④ ダウンロードする

⑤ インストールを行う

⑥ ターミナルを起動して、再度java -versionを実行する。
(Windowsの場合はプロンプトから実行する。)

$ java -version
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

Javaプログラムの実行手順

Javaプログラムの作成から実行までの手順は以下です。

  1. ソースファイルの作成
  2. パッケージ作成
  3. ソースプログラム作成
  4. コンパイル(クラスファイル作成)
  5. 実行(検索/読み込み/実行)

実際に以下の①〜⑤までの手順に従って、「Hello World」プログラムを作成し、実行してみましょう。

① プロジェクト「alj_study」作成

「Desktop」上に「alj_study」プロジェクトを作成します。

Windowsの方はコマンドプロンプト、Macの方はターミナルから
以下のコマンドを実行して下さい。

[ ターミナルの場合(Mac OSや Linux の場合) ]

「cdコマンド」を利用して「Desktop」(ディスクトップ)ディレクトリへ移動します。

$ cd /Users/[ユーザ名]/Desktop
$ pwd
/Users/[ユーザ名]/Desktop

「mkdirコマンド」を利用して「Desktop」(ディスクトップ)ディレクトリ直下に「alj_study」ディレクトリを作成します。

$ mkdir alj_study
$ ls -d alj_study
alj_study

[ コマンドプロンプトの場合(Windowsの場合) ]

「cdコマンド」を利用して「Desktop」(ディスクトップ)フォルダへ移動します。

C:¥Users¥[ユーザ名]> cd C:¥Users¥[ユーザ名]¥¥Desktop

「mkdirコマンド」を利用して「Desktop」(ディスクトップ)フォルダ直下に「alj_study」フォルダを作成します。

C:¥Users¥[ユーザ名]¥Desktop> mkdir alj_study
C:¥Users¥[ユーザ名]¥Desktop> dir /b
alj_study

② パッケージ「greeting」の作成

次に「greeting」パッケージを作成します。

Windowsの方はコマンドプロンプト、Macの方はターミナルから
以下のコマンドを実行して下さい。

[ ターミナルの場合(Mac OSや Linux の場合) ]

「cdコマンド」を利用して「alj_study」ディレクトリへ移動します。

$ pwd
/Users/[ユーザ名]/Desktop
$ cd alj_study

「mkdirコマンド」を利用して「greeting」パッケージを作成します。

$ mkdir greeting
$ ls -d greeting
greeting

[ コマンドプロンプトの場合(Windowsの場合) ]

「cdコマンド」を利用して「alj_study」フォルダへ移動します。

C:¥Users¥[ユーザー名]¥Desktop> cd alj_study

「mkdirコマンド」を利用して「greeting」フォルダを作成します。

C:¥Users¥[ユーザー名]¥Desktop¥alj_study> mkdir greeting
C:¥Users¥[ユーザー名]¥Desktop¥alj_study> dir /b
greeting

③ ソースプログラム(Hello.java)の作成

「Hello.java」ファイルを「greetingフォルダ」内に作成します。

Windows及びMacの方もテキストエディタから以下を実施して、Hello.javaファイルを作成して下さい。

マウスを使って「greetingフォルダ」へ移動し、テキストエディタで「Hello.java」ファイルを新規作成します。

「Hello.java」ファイルをテキストで起動させ、以下を入力してください。

package greeting;

public class Hello {

public static void main(String[] args){
System.out.println("Hello World");
}

}

④ コンパイル(クラスファイル生成)

javacコマンドを使用してjavaプログラムをコンパイルします。

※javacコマンドの構文は以下です。

[構文]

javac パッケージ名¥ソースファイル名

Windowsの方はコマンドプロンプト、Macの方はターミナルから
以下のコマンドを実行して下さい。

[ ターミナル(Mac OSや Linux )の場合 ]

「greeting」ディレクトリが存在することが確認する

$ ls -d greeting
greeting

「Hello.java」ファイルをコンパイルする

$ javac greeting/Hello.java

クラスファイル「Hello.class」がされていることを確認する

$ ls greeting
Hello.class Hello.java

[ プロンプト(Windows)の場合 ]

「greeting」ファイルが存在することが確認する

C:¥Users¥[ユーザー名]¥Desktop¥alj_study> dir /b
greeting

「Hello.java」ファイルをコンパイルする

C:¥Users¥[ユーザー名]¥Desktop¥alj_study> javac greeting¥Hello.java

クラスファイル「Hello.class」がされていることを確認する

$ ls greeting
Hello.class Hello.java

⑤ 実行

javaコマンドを使用して、クラスファイル「Hello.class」を実行します。

※javaコマンドの構文は以下です。

java パッケージ名.クラス名

Windowsの方はコマンドプロンプト、Macの方はターミナルから
以下のコマンドを実行して下さい。

[ ターミナルの場合(Mac OSや Linux の場合) ]

クラスファイル「Hello.class」を実行します。

$ java greeting.Hello
Hello World

[ プロンプトの場合(Windowsの場合) ]

クラスファイル「Hello.class」を実行します。

C:¥Users¥[ユーザー名]¥Desktop¥alj_study> java greeting.Hello
Hello World

※正常に実行されると、ターミナルもしくはプロンプト上にHello Worldが表示されます。

Javaプログラムの構成要素

先ほど書いた「Hello World」プログラムについて解説いたします。

パッケージ文

1行目の「package greeting;」はパッケージ文といいます。

パッケージはモジュール(クラスやインターフェース)をグループ化する概念で、
プログラムが含まれるパッケージの名前を書きます。必ずプログラムの先頭(1行目)に書く必要があります。

パッケージを作成することで、似たような機能を持ったモジュール(クラスやインターフェース)をまとめることができます。

※インターフェースについては後述で解説します。

クラス宣言

3行目はクラス宣言です。

Javaはプログラムをクラスというモジュール単位で作成します。public classと書かれた箇所はクラス宣言のキーワードで、Helloがクラス名です。

3行目の{が始まりで、9行目の}が終わりを示します。{から}で囲まれた範囲をクラスのブロックといいます。

クラス名には名前のつけ方に以下のルールがあります。

  • 記号(「$」と「_」)と半角英数字のみの組み合わせにすること
  • 1文字目は数字以外にすること
  • null、true、falseなどの定数値はNG
  • 予約語はNG
  • 1文字目と単語の頭文字は大文字で書くこと(アッパーキャメルケース)

予約語とは、Java言語の中でキーワードとして予約されている言語です。
宣言や処理を記述するために使われる特別なキーワードです。

主な予約語は以下です。

abstract    assert    boolean    break    byte    case    catch  

char class const continue default do double

else enum extends final finally float for

goto if implements import instanced int interface

long native new package private protected public

return short static strictfp super switch synchronized

this throw transient try void volatile while

※予約語であっても文字の一部が大文字にしたり、識別子の一部として使うのであれば問題なく利用できます。

メソッド

5行目から7行目はメソッドです。

プログラムの本体にあたる部分をメソッドといいます。
5行目をメソッドの宣言といいます。public static void main(String[] args)は特別なメソッドで、javaコマンドでクラス名を指定すると、一番最初に実行されるメソッドです。詳細は後述で説明します。

メソッドも{が始まりで、}が終わりを示します。{から}で囲まれたブロックの中に命令文を書きます。

命令文

6行目は命令文です。

メソッドの中で具体的な処理をするのが命令文です。命令文の最後はセミコロン(;)が必要です。日本語の句点(。)にあたります。

System.out.println("Hello World!");はHello World!という文字列をコンソールに表示する命令文です。コンソールとはモニター画面のことです。printlnは文字列をコンソールに表示し、改行します。

printlnからlnを取ると表示だけで改行しません。

例題

以下を作成し、実行してみましょう。

項目 名前
プロジェクト alj_study
パッケージ chapter1
クラス HelloJon
package chapter1;

public class HelloJon {

public static void main(String[] args){
System.out.print("HelloJon");
System.out.print("HelloJon");
System.out.print("HelloJon");
}

}

コンパイル例:

> javac chapter1¥HelloJon.java

実行例:

> java chapter1.HelloJon
HelloJonHelloJonHelloJon

print()メソッドは文字列をコンソールに表示し、改行しないことが確認できます。

インデント

インデントとは、文章の行頭に空白を挿入して先頭の文字を右に押しやる字下げのことです。見やすいように、メソッドや処理単位でインデント(空白4文字分)を空けるようにします。インテントはTabキーで入力します。

インデントをつけなければエラーになるのかというと、そうではありません。極端な例ですが以下のプログラムはエラーではありません。

package greeting; public class Hello { public static void main(String[] args) {
System.out.print("Hello World!");
}}

Java言語では、キーワードを区切る1文字目の空白を除いて、余分な空白や改行は単に無視されます。文法的には、区切りを示す空白以外はなくても良いです。しかしこのままでは見づらいし意味がつかみにくいです。ですので、これは文法の規約ではなく、暗黙の約束ごとです。

コメント

package greeting;

/**
ドキュメンテーションコメント
*/

/**
Hello World!と表示するメソッド
@param args
*/
public class Hello {
/*
複数行コメント
複数行コメント
複数行コメント
*/

//一行だけのコメント文
public static void main(String[] args) {
System.out.print("Hello World!"); //一行だけのコメント文
System.out.print("Hello World!");
System.out.print("Hello World!");
}

}

上記の中で、空白だけの行とコメント(スラッシュ記号「//」)は、プログラムの動作には何も影響を及ぼしません。コメント文は主に説明などのメモを記載する際に利用します。

コメントの種類は3つのタイプがあります。

  • 一行だけのコメント
  • 複数行にわたるコメント
  • 説明書を作成するためのコメント

一行だけのコメント文

// 一行だけのコメント文
public static void main(String[] args) {
System.out.print("Hello World!"); //一行だけのコメント文
System.out.print("Hello World!");
System.out.print("Hello World!");
}

//を書いた位置から、行末までがコメント文になります。処理のメモ書きや意味などを記載しておきたい時に使います。

プログラムの右側に、行の途中から書くこともできます。

System.out.println("Hello World"); //一行だけのコメント文 Worldと表示する。

//をたくさん並べても構いません。最初の2文字目だけがコメント記号であとはコメント文の内容とみなされます。

///////一行だけのコメント文//////////

ただし、次のように2行以上にわたって続けることはできません。これはエラーになります。

///////こん
にちは//////////

複数行にわたるコメント

/*
複数行コメント
複数行コメント
複数行コメント
*/

/*で始まり*/で終わるコメント文です。/*から*/までの連続した複数の行全体がコメントになります。
主にクラスやメソッドの説明を書くときに使います。

複数行のコメントは、次のようにも使えます。

/* 複数行にわたるコメント1 */
/* ****** 複数行にわたるコメント2 ****** */

入れ子構造にするとエラーになります。

/* /* 複数行にわたるコメント1 */ */

ドキュメンデーションコメント

/**
Hello World!と表示するメソッド
@param args
*/

プログラムからクラスの説明書を作り出すjavadocというプログラムがJDKに添付されています。/**で始まり*/で終わる箇所はjavadocプログラムが説明書を作成される時に利用されるコメントで、ドキュメンデーションコメントといいます。

ドキュメンテーションコメントは「APIの仕様」であり、主に API を使用する人のために記述するものです。
ドキュメンテーションコメントを見ただけで、その API を正しく使えるようになっている必要があります。

ドキュメンデーションコメントは「説明文」と「タグセクション」の二つに区分することが出来ます。

説明文は、クラスやメソッドなどに対して簡潔に説明した文です。

説明文には複数の文を記述することができます。コメントの先頭部分から最初のタグセクションが現れるまでが説明文となります。ただし、説明文はHTML文として解釈されるため単に別の行に記述しても改行はされずに表示されます。文と文の間で改行したい場合は、HTMLタグで改行を表す <br> を記述します。

タグセクションは、先頭の文字が「@」で始まります。「@version」や「@author」など多くのjavadocタグが用意されており、それぞれ別の意味を持ちます。

タグセクション 説明
@atuthor プログラムの作成者
@version 作成したプログラムのバージョン
@param メソッドの引数の説明
@return メソッドの戻り値の説明

タグセクションは1つのコメントの中に複数の種類を同時に記述することが出来ます。また、タグセクションにはコメント中に1度しか使用できないものや、複数回使用できるものがあります。複数回使用する場合は続けて記述するようにします。

例題(コメント)

それでは実際にJavadocを使ってみましょう。

まずは、前回作成したHelloクラスへ以下のようにドキュメンデーションコメントを追加してください。

名前
プロジェクト alj_study
パッケージ chapter1
クラス Hello
package chapter1;
/**
* ここにはクラスの概要を説明する記述を書きます。<br>(例)このクラスは研修用のクラスです。
* @version 1.0
* @author Yamamoto
*/
public class Hello {

/**
* Hello World 出力機能
* @param args 引数
*/
public static void main(String[] args) {
System.out.println("Hello World!");

}

}

以下コマンドを実行してください

> javadoc -d docs chapter1/Hello.java

※以下のメッセージが出力され、プロジェクト直下(alj_study)に「doc」ディレクトリが作成されます。

ソース・ファイルchapter1/Hello.javaを読み込んでいます...
Javadoc情報を構築しています...
宛先ディレクトリの作成中: "docs/"
標準Docletバージョン1.8.0_181
全パッケージとクラスの階層ツリーを作成しています...
docs/Hello.htmlの生成中...
docs/package-frame.htmlの生成中...
docs/package-summary.htmlの生成中...
docs/package-tree.htmlの生成中...
docs/constant-values.htmlの生成中...
全パッケージとクラスのインデックスを作成しています...
docs/overview-tree.htmlの生成中...
docs/index-all.htmlの生成中...
docs/deprecated-list.htmlの生成中...
全クラスのインデックスを作成しています...
docs/allclasses-frame.htmlの生成中...
docs/allclasses-noframe.htmlの生成中...
docs/index.htmlの生成中...
docs/help-doc.htmlの生成中...

「doc」ディレクトリ内にある「index.html」ファイルをブラウザで開き、確認してみてください。

章のまとめ

以下の要点を理解できたら次の章へ進んでください。

プログラミングについて

  • プログラミング言語とはコンピュータに命令を伝えるための人工的なコトバである。
  • プログラミング言語を機械語に翻訳することをコンパイルという。
  • プログラミング言語を機械語に翻訳するプログラムをコンパイラという。
  • コンパイラはソースプログラムの中の文法的な誤りをチェックする。
  • コンパイル時のエラーのことをコンパイルエラーという。

プログラミング言語の歴史

  • 構造化プログラミングの目的は誰でも品質の安定したプログラムを書けるようにすることである。
  • 構造化プログラミングでは、順次構造分岐構造反復構造の3つだけを使う。
  • オブジェクト指向言語では、どんな部品を組み合わせてプログラムを構成するかを考える。
  • オブジェクトの設計図のことをクラスという。

Java言語とは

  • JavaはJava SEJava EEJava MEと呼ばれる3種類のエディションがある。
  • javaの開発環境としてJDK、javaの実行環境としてJRE、javaを実行するためのソフトウェアとしてJVMがある。
  • Java言語の特徴としてオブジェクト指向以外にはプラットフォーム非依存2段階のコンパイルセキュリティーに強いネットワークに対応しているなどが挙げられる。
  • ガベージ・コレクションはJVMの機能の1つで、不要になったメモリ領域自動的に解放する機能のことである。

Javaプログラムの実行手順

  • javaプログラムをコンパイルするためには、javacコマンドを利用する。
  • javacコマンドはJavaの文法チェックをおこない、成功するとclassファイルを生成する。
  • javacコマンドで失敗することをコンパイルエラーという。
  • javaプログラムを実行するためには、javaコマンドを利用する。
  • javaコマンドを実行すると、JVMが指定したクラスファイルを読み込み、main()メソッドから実行される。

Javaプログラムの構成要素

  • プログラムはパッケージ宣言クラス宣言メソッドからなる。
  • 命令文はメソッドの中に書く。
  • 命令文はセミコロン( ; )で終わる。
  • { } で囲まれた範囲をブロックという。
  • コメントはプログラムの動作に影響しない注釈である。
  • 空白行もプログラムの動作に影響しない。
  • インデントはTabキーで入力する。
  • System.out.println(“ABC”); は「ABC」と表示して改行する
  • System.out.print(“ABC”); は「ABC」と表示して改行しない