目次
Javaとは
コンピュータで動くプログラムを作成するための言語のことを「プログラミング言語」といいます。
Javaは代表的なプログラミング言語の1つです。
Javaは、1995年の5月にアメリカのサン・マイクロシステムズ(英: Sun Microsystems)という会社が発表したプログラミング言語です。2010年1月にサン・マイクロシステムズはオラクルに買収されているので、現在はオラクル社がJavaを提供しています。
プログラミング言語の役割
コンピュータが理解できる言語は機械語です。そのため人間が理解できる「日本語」や「英語」でコンピュータに指示を伝えてもコンピュータは理解することができません。
そこで「コンピュータが理解できる機械語に変換しやすい」かつ「人間にも理解できる」形式で作られたのがプログラミング言語です。
Javaの特徴
Javaには次のような特徴があります。
スポンサーリンク
オブジェクト指向
従来のプログラミング言語は、処理を一から十まで記述していかなければならず、複雑なプログラムになるほど作り上げるのに大変手間がかかりました。
Javaでは、関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利用することで効率よくプログラムを組むことができます。
このように機能を部品化し、部品を組み合わせてプログラムを完成させる考え方のことを「オブジェクト指向」といいます。
Java VM(プラットフォームに依存しない)
従来のプログラムは、特定のプラットフォーム(Windows、macOS、Linuxなど)でしか動かすことができませんでした。(例えば、Windows向けのプログラムは、Linux上では動かすことができないなど)
また一般的なソフトウェアは、特定のプラットフォーム向けに作られることが多く、その環境のみで動作します。
Javaプログラムは、Java VM(Java仮想マシン)という環境の上で動作します。VMとはVirtual Machineの略で仮想マシンという意味です。
Javaのコンパイラは、Javaバイトコード(Javaのクラスファイル)というJava VMで実行可能な形式に変換(コンパイル)します。
そして Java VMは、各プラットフォームの差異を吸収するクッション的なソフトウェアであり、Javaバイトコードを各プラットフォームで動作するように実行します。
つまり、Java VM上で動作するJavaプログラムは、Java VMが動作する環境であれば、プラットフォームに依存せず、どのプラットフォーム上でも動かすことができます。
プログラミングの基本的な流れ
コンピュータが理解できる言語は機械語です。そのためプログラミング言語で書かれたプログラムを理解することができません。
コンピュータにプログラムを理解させるには、プログラミング言語で書かれたプログラムを、コンピュータが理解できるように変換する必要があります。この変換作業のことをコンパイルといい、コンパイルするために使用するソフトウェアのことをコンパイラといいます。
【手順1】Javaでソースコードを書く
「.java」という拡張子のテキストファイルに、Javaのプログラムを記述します。
例えば、Javaで記述したプログラムのファイル名を「Hello」という名前で保存した場合は「Hello.java」というソースファイルが作られます。
スポンサーリンク
【手順2】ソースファイルをコンパイルする
次にJavaのソースファイルをコンピュータが理解できる機械語へ変換します。
Javaをコンパイルするには、コンパイラである「javac」が必要です。
■javacの使用例
> javac Hello.java
コンパイルしてできたファイルを「クラスファイル」といいます。Javaのファイル名と同じ名前で拡張子が「.class」に変わります。
※「Hello.java」をコンパイルしたら「Hello.class」ファイルが作られる
プログラムを実行する
コンパイルでコンピュータが理解できる機械語に変換したら、プログラムを実行します。
■プログラム実行例
> java Hello
上記例のように「java 実行するファイル名※拡張子は不要」でコマンドを実行すると、Java VMがクラスファイルを読み取り、プログラムを実行します。
Javaプログラムの開発準備
Javaプログラムを開発するには、Javaの開発環境である、JDK(Java Development Kit)をインストールします。
Java開発は、Eclipse(エクリプス)と呼ばれる統合開発環境(コンパイラ・エディタ・デバック機能などがセットになったツール)を使い開発することで効率よく開発することができます。
次回の記事では、Javaプログラムの開発環境構築について紹介しています。
次回の記事