Java入門|Javaプログラムの作成から実行まで

書いて、コンパイルして、動かす。Javaプログラムはこの3歩で身につきます。

Javaの学習では、文法を覚えることももちろん大切ですが、それと同じくらい大切なのが、自分でプログラムを作成して、実際に動かしてみることです。画面に結果が表示される体験を重ねることで、Javaの仕組みが少しずつ実感としてわかるようになっていきます。

Javaのプログラムは、ただコードを書いただけではそのまま動きません。まずソースファイルを作成し、そのあとコンパイルという作業を行い、最後に実行します。この流れは、Java学習の基本中の基本です。最初は少し手順が多く感じるかもしれませんが、ひとつずつ見ていけば決して難しくありません。

特にJavaは、書いたプログラムをすぐそのまま実行するのではなく、一度コンパイラで変換してから実行するという特徴があります。この流れを理解しておくと、なぜ javac と java の2つの命令を使い分けるのかも自然にわかってきます。

この記事では、Javaプログラムの作成から実行までの基本手順を、はじめて学ぶ人にもわかりやすいように、やさしく丁寧に解説していきます。メモ帳でのソースファイル作成、PowerShellでのディレクトリ移動、コンパイル、実行という一連の流れをしっかり確認しながら、Javaの第一歩を安心して進められるようにしていきましょう。

Javaプログラムはどのように動くのか

Javaのプログラムを実行する流れは、大きく分けると次の3段階です。

手順内容役割
1ソースファイルを作成するJavaのコードを書く
2コンパイルするコードを実行できる形に変換する
3実行するプログラムを動かして結果を確認する

この3つの流れは、Javaを学ぶうえで何度もくり返すことになります。
つまり、ここでしっかり理解しておけば、今後の学習でもずっと役立つということです。

Javaでは、メモ帳などで書いたプログラムをそのまま実行するのではなく、まず javac というコンパイラで変換します。その結果として class ファイルが作られます。そして、その class ファイルを java という命令で実行します。

このしくみを最初にざっくりつかんでおくと、各手順の意味がとてもわかりやすくなります。

まずはソースファイルを作成する

最初に行うのは、Javaのコードを入力して保存することです。
メモ帳などのテキストエディタを起動し、Javaのコードを入力してソースファイルを作成します。

今回の例では、次のプログラムを使います。

ファイル名:Sample.java

class Sample
{
   public static void main(String[] args)
   {
      System.out.println("Hello Java!");
   }
}

この内容を入力したら、ファイル名を Sample.java として保存します。

ここでとても大切なのは、ソースファイル名をクラス名.java にすることです。
今回のプログラムではクラス名が Sample なので、ファイル名は Sample.java になります。

ソースファイルとは何か

ソースファイルとは、プログラムの元になるファイルのことです。
人が読める形で書かれた Java のコードが保存されています。

今回の Sample.java には、画面に Hello Java! と表示するための命令が書かれています。まだこの段階では、コンピュータがそのまま実行する準備はできていません。あくまで、人が書いたプログラムの設計図のようなものです。

クラス名とファイル名の関係

Java学習の最初に、とても大事なポイントがあります。
それは、ファイル名とクラス名の対応です。

項目今回の例
クラス名Sample
ソースファイル名Sample.java
コンパイル後のファイル名Sample.class

この対応がずれてしまうと、あとで混乱しやすくなります。
Javaでは特に、クラス名を意識しながらファイルを管理することが大切です。

サンプルプログラムの内容を見てみよう

ここで、今回のプログラムが何をしているのかも軽く見ておきましょう。

class Sample
{
   public static void main(String[] args)
   {
      System.out.println("Hello Java!");
   }
}

このプログラムのポイントを表にすると、次のようになります。

部分役割
class SampleSample という名前のクラスを定義している
public static void main(String[] args)プログラムの開始位置を表す特別な部分
System.out.println("Hello Java!");文字を画面に表示する命令

この段階では、すべてを完璧に理解しなくても大丈夫です。
今はまず、Javaのプログラムはこのような形で書くのだな、という雰囲気をつかめれば十分です。

特に大切なのは、System.out.println("Hello Java!"); によって、画面に Hello Java! が表示されるということです。実際にあとで実行結果を見ると、書いた内容がそのまま動いていることがわかって、とても理解しやすくなります。

PowerShellを起動して保存したディレクトリへ移動する

ソースファイルを保存したら、次は Windows PowerShell を起動します。
そのうえで、ソースファイルを保存したディレクトリに移動します。

今回の例では、保存先が C:\Java\01 なので、次のように入力します。

cd \Java\01

実行例は次のようになります。

PS C:\> cd \Java\01
PS C:\Java\01>

この表示から、現在のディレクトリが C:\Java\01 に変わったことがわかります。
つまり、この場所にあるファイルを対象として、これからコンパイルや実行を行うことになります。

なぜ移動が必要なのか

PowerShell では、今いる場所が作業の基準になります。
そのため、Sample.java が保存されているディレクトリに移動しておかないと、javac Sample.java と入力しても、そのファイルを見つけられないことがあります。

つまり、ディレクトリ移動は単なる準備ではなく、正しくプログラムを扱うための大事な手順です。

操作理由
ソースファイルのある場所へ移動するコンパイル対象のファイルを正しく見つけるため
正しいディレクトリで実行する作成された class ファイルをその場で確認しやすくするため

Java学習では、この 作業したいファイルがある場所へ移動する という感覚がとても大切です。

次に行うのがコンパイルです。
コンパイルには javac という命令を使います。

今回のソースファイル名は Sample.java なので、次のように入力します。

javac Sample.java

実行例です。

PS C:\Java\01> javac Sample.java
PS C:\Java\01>

PowerShell に特に何も表示されず、再びディレクトリ名が表示されたら、コンパイルは正常に完了しています。

コンパイルとは何か

コンパイルとは、人が書いた Java のコードを、実行のための形式に変換する作業です。
Java では、ソースファイルをそのまま実行するのではなく、まずコンパイルして class ファイルを作ります。

今回の場合、Sample.java をコンパイルすると、同じディレクトリに Sample.class が作成されます。

入力ファイル実行する命令作成されるファイル
Sample.javajavac Sample.javaSample.class

この Sample.class は、Javaプログラムを実行するために必要なファイルです。
つまり、コンパイルは ソースファイルを実行準備の整った形に変える作業 だと考えるとわかりやすいです。

何も表示されないのは成功なのか

ここは初心者が少し不安になりやすいところです。
PowerShell に何も表示されないと、ちゃんと動いたのかなと心配になることがあります。

でも、javac はエラーがなければ静かに終了することが多いです。
そのため、特にメッセージが出ずに元の表示へ戻ったら、コンパイル成功と考えて大丈夫です。

反対に、文法ミスやファイル名の問題があると、エラーメッセージが表示されます。
つまり、何も出ないのはむしろよい状態です。

classファイルが作成される意味

コンパイルが完了すると、Sample.class というファイルができます。
このファイルは、Javaの実行に使われるクラスファイルです。

ここで、ソースファイルとクラスファイルの違いを整理しておきましょう。

ファイル役割
Sample.java人が書く元のプログラム
Sample.class実行のために変換されたファイル

この区別はとても大切です。
Javaでは、編集するのは java ファイルですが、実行時に使われるのは class ファイルです。

インタプリタを起動してプログラムを実行する

コンパイルが終わったら、次は実行です。
実行には java という命令を使います。

ここで注意したいのは、実行するときはファイル名ではなくクラス名を指定するということです。
つまり、Sample.class を実行したい場合でも、入力するのは java Sample です。

java Sample

実行例は次のようになります。

PS C:\Java\01> java Sample
Hello Java!

これで、プログラムが実行され、画面に Hello Java! と表示されました。

実行時に拡張子を書かない理由

ここはとてもつまずきやすいところです。
コンパイルでは javac Sample.java と入力しましたが、実行では java Sample.class とは書きません。

Java の実行命令では、クラス名だけを指定します。
つまり、今回なら Sample と入力します。

操作入力するもの
コンパイルソースファイル名
実行クラス名

具体的には次のようになります。

手順正しい入力
コンパイルjavac Sample.java
実行java Sample

この違いは最初のうちは少しややこしく感じるかもしれませんが、何度か使ううちに自然に慣れていきます。

一連の流れをまとめて確認しよう

ここまでの作業を流れで見ると、次のようになります。

手順操作内容入力例
1ソースファイルを作成するSample.java を保存する
2保存先ディレクトリへ移動するcd \Java\01
3コンパイルするjavac Sample.java
4実行するjava Sample

この流れは、Javaプログラムを扱うときの基本形です。
以後、どんなプログラムでも、まず書く、次にコンパイルする、最後に実行する、という順番で進めることになります。

図で見ると流れがつかみやすい

Javaの実行手順は、文章でも理解できますが、流れ図で見るとさらにわかりやすくなります。
特に、ソースファイルから class ファイルが作られ、最後に実行される流れは、図にするとひと目で理解できます。

この図は、Javaプログラムがどのような順番で動くのかを視覚的に表しています。まず、テキストエディタで Sample.java を作成します。次に、PowerShell でその保存先へ移動し、javac Sample.java を実行して Sample.class を作成します。そして最後に java Sample を実行すると、画面に 「Hello Java!」 が表示されます。

ソースファイル、コンパイル、クラスファイル、実行結果という4つの関係が確認できます。Javaの学習では、この流れを頭の中でつなげて理解することがとても大切です。

よく混同しやすいポイント

Javaの初学者がつまずきやすい点を、ここで整理しておきましょう。

ファイル名とクラス名の違い

項目今回の例
クラス名Sample
ソースファイル名Sample.java
クラスファイル名Sample.class

この3つは似ていますが、役割が違います。
ソースファイルは自分が書く元のファイル、クラスファイルはコンパイル後に作られる実行用のファイルです。

javac と java の違い

命令役割
javacコンパイルする
java実行する

この2つを逆にしてしまうと、正しく動きません。
Java学習では最初に必ず出てくる命令なので、早めに区別に慣れておくと安心です。

コンパイル時と実行時で入力が違う

場面入力内容
コンパイルSample.java
実行Sample

ここも非常に大事です。
実行時には .java も .class も書かず、クラス名だけを指定します。

なぜこの手順を身につけることが大切なのか

Java学習では、文法だけを読んで理解したつもりになるよりも、自分で入力して、実際に動かしてみることがとても大切です。
そして、そのたびに今回の手順を使います。

  • コードを書く
  • 保存する
  • PowerShellで移動する
  • コンパイルする
  • 実行する
  • 結果を見る

この流れを繰り返すことで、Javaのプログラムがどのように扱われるのかが自然と身についていきます。最初のうちはコマンド入力が少し面倒に感じるかもしれませんが、この基本がしっかりしていると、あとからより複雑なプログラムを学ぶときにも強い土台になります。

特に、うまく動かなかったときに どの段階で問題が起きているのか を考えられるようになるのは、とても大きな力です。ソースファイルの保存なのか、ディレクトリ移動なのか、コンパイルなのか、実行なのかを順番に確認できるようになると、学習がぐっと安定していきます。

Java学習の最初の成功体験として大切な手順

Hello Java! と表示されるだけの小さなプログラムでも、自分で書いたコードが実際に動く体験はとても大きな意味があります。
それは、これから先の学習の土台になる 最初の成功体験 だからです。

Javaは、ソースファイルを作ってすぐ終わりではなく、コンパイルしてから実行するという流れを持つ言語です。この特徴に最初の段階で慣れておくと、今後の学習がとてもスムーズになります。

今回の手順はシンプルですが、Javaプログラムの基本がぎゅっと詰まっています。
だからこそ、単に手順として覚えるだけでなく、それぞれの操作にどんな意味があるのかを意識しながら進めることが大切です。そうすることで、ただ動かせるだけでなく、なぜその手順が必要なのかまでしっかり理解できるようになります。