Java
概要
Javaは、1990年代前半にサン・マイクロシステムズでジェームズ・ゴスリン、ビル・ジョイなどの人々によって開発されました。
従来のさまざまな言語の良い部分を引き継ぎ、欠点を克服するよう設計されました。
比較的新しい言語ですが、Web系やAndroidなどさまざまな分野のシステムで幅広く普及しています。
現在では情報処理技術者試験の選択問題の一つになるほど、一般的な言語になっています。
良いところ
実行速度はC言語におよびませんが、スクリプト系言語と比べるとかなり速いです。
JavaはハードウェアやOSなどのプラットフォームに依存しないプログラムを開発できるようになりました。
これは「バイトコード」と「JVM」(Java Virtual Machine)の導入によって実現されています。
また、オブジェクト指向プログラミングの考え方にもとづいて設計された言語であり、このことがソフトウェアの開発効率と保守性を高めています。
文法はC言語やC++から引き継いでいますので、C言語を勉強した人であれば理解しやすい言語と言えるでしょう。
悪いところ
JVMを立ち上げるのに時間が掛かります。
1つの軽いプログラムを動かすだけでもわざわざJVMの起動を待たねばなりません。
これは処理速度がC言語におよばない理由のひとつです。
WORA(Write Once Run Anywhere)とは、「一度書けばどこでも動く」という意味で、java言語の優位性でもあります。
しかし、現実的にはプラットフォームを変えることなど滅多になく、Javaである優位性はさほど無いにも関わらず、闇雲にJavaが使われているという面もあります。
サンプルコード
Javaで「Hello World」を表示するソースコードです。
public class Hello
{
public static void main (String [] args)
{
System.out.println ("Hello, world!") ;
}
}
サンプルコード解説
Javaでは「クラス」という考え方を用いてソースコードを書いていきます。
「クラス」とはオブジェクト指向プログラミングの基本的な仕組みを提供するもので、オブジェクトが持つ属性やメソッドなどを定義します。
このサンプルコードでは「Hello」というクラスに「main」というメソッドを定義しています。
1行目の「public class Hello」は3つの単語で構成されています。
「public」はアクセスレベルを表し、クラス Helloが他のどのクラスからもアクセスが可能なことを表します。
「class」は以降の{ }で囲まれたコードが1つのクラスであることを表します。
「Hello」はクラス名を表します。
3行目の「public static void main (String [] args)」はmainメソッドを表します。
「public」はアクセスレベルを表し、メソッドmainが他のどのクラスからもアクセスが可能なことを表します。
「static」はmainメソッドがHelloクラスに対して1対1の関係で存在することを表しています。
「void」はmainメソッドが戻り値を持たないことを表します。
5行目の「System.out.println ("Hello, world!") ;」で標準出力に「Hello, world!」を表示しています。
コンパイル方法
ここではコマンドプロンプト上でのコンパイル方法を説明します。
先ほどのサンプルコードを「hello.java」という名前で保存します。
Javaのソースコードは「javac」というコマンドでコンパイルができます。
> javac hello.java
コンパイルが正常に終了すると、「hello.class」というクラスファイル(バイトコード)が出力されます。
Java 開発を行う場合、ほとんどはEclipseやJBuilderなどのIDE(統合開発環境)を利用します。
IDEではソースを保存したタイミングで自動でコンパイルされる機能も付いていますので、実際の開発現場では上記の方法でコンパイルすることはほとんどないでしょう。
実行方法
「java」コマンドでクラスファイルを実行できます。
実行すると「Hello, World!」が標準出力に表示されます。
> java hello
Hello, World!
なお、javaプログラムはJVM上で動きますので、事前に実行環境を端末にインストールする必要があります。
Java 関連ページ
PR