Java入門|はじめてのJava

Javaの世界へようこそ。はじめの一歩は、プログラムのしくみを知ることから始まります。

Javaを学びはじめると、最初は新しい言葉がたくさん出てきて、少しむずかしく感じることがあるかもしれません。プログラム、JDK、ソースファイル、コンパイル、クラスファイル、実行など、聞き慣れない用語が続くと、それだけで身構えてしまうこともあります。でも、最初の段階では、すべてを一気に完璧に理解しようとしなくて大丈夫です。

大切なのは、Javaでプログラムを作るときに、どんな流れで作業が進むのかをゆっくりつかむことです。Javaは、ただ文字を入力して終わりではなく、書いた内容をコンピュータが理解できる形に変え、そこではじめて実行できるようになります。この流れがわかってくると、Javaの学習がぐっと楽になります。

この 1章 では、Java言語を使ってプログラムを作成するための基本的な考え方を学んでいきます。特に、プログラムとは何か、Java言語とはどのようなものか、そして Java のプログラムがどのように作られ、どのように実行されるのかを、順を追って見ていきます。これから先の学習の土台になる大切な内容なので、ひとつずつていねいに身につけていきましょう。

この1章で最初に押さえたい言葉

まずは、この1章で登場する大事なキーワードを整理しておきましょう。最初に意味の全体像を見ておくと、これからの説明がかなりわかりやすくなります。

キーワードかんたんな意味
プログラムコンピュータに仕事をさせるための指示
Java言語人がわかりやすい形でプログラムを書くための言語
JDKJavaのプログラムを作るための開発環境
ソースファイルJavaのコードを書いて保存した元のファイル
コンパイルプログラムを実行できる形へ変換すること
クラスファイルコンパイル後に作られるファイル
プログラムの実行実際にプログラムを動かすこと

この段階では、まだ言葉の意味をざっくりつかめれば十分です。
このあと順番に説明していく中で、それぞれの言葉が自然につながっていきます。

プログラムとは何か

私たちは毎日、たくさんのプログラムを使いながら生活しています。
たとえば、ワープロソフトで文章を書いたり、表計算ソフトで数字をまとめたり、ブラウザでWebページを見たりしています。これらはすべて、コンピュータの中で動いているプログラムです。

ワープロソフトを使う場面を考えてみると、そこでは次のような仕事が行われています。

  • 文字を表示する
  • 入力した文章を保存する
  • 文字の大きさや色を変える
  • 印刷する

こうした仕事は、コンピュータが勝手に考えて行っているわけではありません。あらかじめ決められた手順に従って動いています。その手順をコンピュータに伝えるためのものが、プログラムです。

つまり、プログラムとは、コンピュータに何をしてほしいかを指示するためのものです。

コンピュータは、人間のように空気を読んで動くことはできません。そのかわり、決められた指示をとても正確に、しかも高速に処理できます。だからこそ、どんな仕事を、どの順番で、どのように行うのかを、きちんと伝える必要があります。プログラムは、そのための設計書であり、命令書でもあります。

コンピュータはなぜプログラムを必要とするのか

コンピュータはとても便利で、計算も処理も速くこなせますが、何をすればよいかを自分で判断しているわけではありません。人が指示を与えてはじめて、その通りに動きます。

たとえば、人間なら「この文章をきれいに整えて表示して」と言えば、ある程度は意味を想像できます。でもコンピュータは、そうしたあいまいな指示を理解するのが苦手です。どの文字をどこに表示するのか、どの順番で処理するのかを、はっきり書いてあげなければなりません。

このように考えると、プログラムとは、コンピュータに対して仕事の内容を細かく伝えるための手段だと言えます。

役割内容
人間何をしたいかを考える
プログラムその内容をコンピュータに伝わる形で書く
コンピュータ書かれた指示どおりに処理する

Javaを学ぶということは、この プログラムを書く力 を身につけることでもあります。
つまり、コンピュータに正しく仕事をさせるための言葉を学ぶことなのです。

Java言語とは何か

では、そのプログラムをどんな言葉で書けばよいのでしょうか。
本来、コンピュータが直接理解できるのは 機械語 と呼ばれる特別な言葉です。

機械語は、0 と 1 の数字の並びでできています。コンピュータにとっては理解しやすい形ですが、人間にとってはとても読みにくく、書くのも大変です。もし最初から最後まで 0 と 1 だけでプログラムを書かなければならないとしたら、少し想像しただけでも大変そうですよね。

そこで考えられたのが、人間にとってわかりやすいプログラミング言語です。
Java言語も、そのひとつです。

Javaは、人が読み書きしやすい形でプログラムを書けるように工夫された言語です。たとえば、数字の羅列ではなく、ある程度意味のある単語や決まった書き方を使ってプログラムを記述します。そのため、人間が考えた処理の流れを、比較的わかりやすく表現できます。

Javaは人間とコンピュータの橋渡しをする言語

Java言語は、人が理解しやすい形でプログラムを書き、それを最終的にコンピュータが実行できる形へつなぐ役割を持っています。

ここでの関係を整理すると、次のようになります。

段階内容
人間Java言語でプログラムを書く
変換の仕組みコンパイラやインタプリタが処理する
コンピュータ実行可能な形で処理する

この流れを見ると、Javaは単にコードを書くための言葉というだけでなく、人間の考えをコンピュータに伝えるための橋渡し役だということがわかります。

そのため、Javaを学ぶときは、文法だけでなく、書いたプログラムがどのように実行へつながっていくのかを理解することがとても大切です。

Javaプログラムはそのままでは実行されない

Javaの特徴のひとつは、書いたプログラムをそのまま直接実行するのではない、という点です。ここが、Java学習の最初の大事なポイントです。

Javaのプログラムは、次のような流れで実行されます。

  1. Java言語でプログラムを書く
  2. コンパイラを使って変換する
  3. インタプリタを使って実行する

つまり、Javaでは 書く → 変換する → 実行する という段階があるのです。

最初は少し遠回りに見えるかもしれませんが、この流れを知っておくと、ソースファイル、コンパイル、クラスファイル、実行といった言葉の意味がすっきりつながります。

コンパイラとインタプリタの役割

Java言語のプログラムは、コンパイラとインタプリタという2つのソフトウェアを使って作成・実行します。ここは特に大事なので、丁寧に見ていきましょう。

コンパイラとは

コンパイラは、人が書いた Java のプログラムを、実行のための形へ変換するソフトウェアです。
Javaのコードそのものは、人には読みやすいのですが、コンピュータがそのまま扱うには都合がよくありません。そこで、コンパイラがそのコードを変換します。

インタプリタとは

インタプリタは、変換された内容をもとに、実際にプログラムを動かす役割を持っています。
つまり、コンパイルが準備の作業だとすると、インタプリタは実際にプログラムを動かす担当だと考えるとわかりやすいです。

2つの役割を表で整理すると

ソフトウェア役割
コンパイラJavaで書かれたプログラムを変換する
インタプリタ変換されたプログラムを実行する

Java学習では、この2つがセットで登場します。
だからこそ、Javaは 書いたらすぐ終わり ではなく、そのあとに コンパイル と 実行 という手順が必要になるのです。

ソースファイルとクラスファイル

ここで、Java学習でよく出てくる ソースファイル と クラスファイル という言葉も整理しておきましょう。

ソースファイル

ソースファイルとは、Javaで書いた元のプログラムを保存したファイルです。
人が編集するのはこのファイルです。拡張子は java です。

例:
Sample.java

クラスファイル

クラスファイルとは、ソースファイルをコンパイルしたあとに作られるファイルです。
こちらは、プログラムの実行に使われるファイルです。拡張子は class です。

例:
Sample.class

この違いを表にすると、次のようになります。

ファイルの種類内容拡張子
ソースファイル人が書く元のプログラムjava
クラスファイルコンパイル後に作られる実行用のファイルclass

この区別はとても大切です。
Javaでは、自分が編集するファイルと、実行のために使われるファイルが分かれています。ここを理解しておくと、あとで実際にプログラムを作るときにも迷いにくくなります。

JDKとは何か

Javaを学ぶときに欠かせないのが JDK です。
JDK は Java Development Kit の略で、Javaのプログラムを作成するための基本的な開発環境です。

JDK には、Javaプログラムをコンパイルするための道具や、実行するための仕組みなどが含まれています。つまり、Java学習に必要な道具一式がそろったセットだと考えるとわかりやすいです。

用語意味
JDKJavaのプログラムを作成・実行するための開発環境

Javaを学ぶためには、ただテキストエディタがあればよいわけではありません。書いたプログラムをコンパイルしたり、実行したりするための環境も必要です。その役割を担うのが JDK です。

Javaプログラムが動くまでの全体像

ここまでの内容を、全体の流れとしてまとめると、Javaプログラムは次のようにして動きます。

手順内容
1人が Java言語でプログラムを書く
2その内容をソースファイルとして保存する
3コンパイラでコンパイルする
4クラスファイルが作成される
5インタプリタで実行する
6コンピュータが処理を行う

この流れが見えるようになると、Java学習の全体像がかなりつかみやすくなります。
最初は用語が多く見えても、実はそれぞれがこの1本の流れの中でつながっています。

まず、人がJava言語でプログラムを書き、それをソースファイルとして保存します。そのあと、コンパイラがその内容を変換し、クラスファイルが作られます。さらに、インタプリタがその内容をもとに実行を行い、コンピュータが実際の処理を行います。

この流れを図で見ると、ソースファイル、コンパイル、クラスファイル、実行という用語がばらばらではなく、ひとつの流れの中でつながっていることがよくわかります。Javaをはじめて学ぶときは、この全体像を持っておくことがとても大切です。

プログラミングを学ぶ最初の気持ちとして大切なこと

Javaを学びはじめたばかりのころは、言葉がたくさん出てきて戸惑うことがあるかもしれません。でも、それはとても自然なことです。新しい分野に触れるときは、最初に知らない言葉が多いのは当たり前です。

大切なのは、言葉をひとつずつ、自分の中で意味のあるものにしていくことです。
たとえば、

  • プログラムはコンピュータへの指示
  • Javaは人にわかりやすい言語
  • JDKは開発に必要な道具
  • コンパイルは実行の準備
  • 実行で結果が見える

このように、ひとつずつ整理していけば、Javaの学習は決してこわいものではありません。むしろ、しくみがわかってくると、プログラムが動くこと自体がとてもおもしろく感じられるようになります。

これからJavaを学んでいくための土台

この Lesson 1 で大切なのは、Javaの文法を細かく覚えることよりも、まず Javaでプログラムを作るとはどういうことか を理解することです。プログラムとは何か、なぜプログラミング言語が必要なのか、Javaのプログラムはどのような流れで動くのか。こうした基本がわかると、この先の学習がずっとスムーズになります。

これから実際にコードを書いていくようになると、今回出てきた言葉たちは何度も登場します。そのたびに、ああ、これはプログラムを作る流れの中のこの部分だな、と結びつけられるようになると、理解はぐんぐん深まっていきます。

Javaの学習は、最初の一歩をていねいに踏み出すことがとても大切です。
そして、その一歩は、プログラムのしくみと、Javaがどんな役割を持つ言語なのかを知ることから始まります。