プログラミングの用語一覧へ
このページの目次
プログラミング初級図解あり

Javaとは?

読み方
じゃば
最終更新
2026/10/14

3秒でわかる

書いたコードを Java 仮想マシン (JVM) 用の命令に変換してから動かすプログラミング言語。型の食い違いを、動かす前のコンパイルの段階で見つけられます。

30秒図解

Java は、JavaScript とは別の言語。名前が似ているだけ。動く場所も書き方も違う。Java と JavaScript は、名前が似ているだけの別の言語Java は、JavaScript とは別の言語。名前が似ているだけ。動く場所も書き方も違う。Java と JavaScript は、名前が似ているだけの別の言語

Javaをたとえると?

世界共通の楽譜に似ています。あなたが書いた原稿 (.java ファイル) を清書係 (javac) が世界共通の楽譜 (.class ファイル) に直せば、楽器 (パソコンの種類) が違っても、その楽譜を読める演奏者 (JVM) がいる所なら同じ曲が演奏されます。ただし演奏者のいない所では鳴らないのと同じで、Java のプログラムを動かすには JVM の入った実行環境が要ります。

実際にはこう使います

レジの会計処理をクラスに分けて書く
同じ .class ファイルを Windows と Linux の両方で動かす
型の合わない代入をコンパイルの段階で見つける

もう少し詳しく

Java は、書いたコードをいったん Java 仮想マシン (JVM) 用の命令に変換してから動かし、型の食い違いを動かす前に検査するプログラミング言語です。

まず、よくある誤解

誤解 「Java と JavaScript は、名前の似た仲間の言語」と思われがちです。

本当は 名前が似ているだけで、文法も動く場所も別の言語です。Java は JVM の上で、JavaScript はブラウザや Node.js の上で動きます。片方を学んでも、もう片方の書き方はそのままでは通じません。

どういうものか

Java は、書いたソースコード (.java) を javac というコンパイラで .class ファイルに変換し、それを Java 仮想マシン (JVM) が実行する言語です。.class の中身はパソコンの CPU 向けの命令ではなく、JVM 向けの命令 (バイトコード) です。そのため JVM が用意されている OS なら、Windows でも Linux でも macOS でも、同じ .class ファイルを動かせます。1 つのファイルだけのプログラムなら、java Hello.java のように変換と実行をまとめて行うこともできます。

変数や引数には「整数」「文字列」などの型があり、ふつうは型の名前を書きます (var で型を推し量らせることもできます)。型の合わないコードは、動かす前のコンパイルの段階でエラーになります。

なぜ必要か

型が動かす前に検査されるので、間違った種類の値を渡すミスを、動かす前に見つけられます。何人もで長い期間かけて直し続ける大きなプログラムでは、この「動かす前に気づける」ことが効いてきます。

具体例

public class Hello {
    public static void main(String[] args) {
        int price = 1200;
        String name = "ノート";
        System.out.println(name + " は " + price + " 円です");
    }
}
javac Hello.java   # Hello.class ができる
java Hello         # JVM が Hello.class を実行する

つまずきやすいところ

public なクラスは、クラス名と同じ名前のファイルに書きます。Hello クラスなら Hello.java です。名前が違うと javac がエラーを出します。

文字列が同じかどうかを == で比べるのも定番のミスです。== は「同じ 1 つのものか」を比べるので、中身が同じ文字列でも false になることがあります。文字列の中身を比べるときは equals を使います。

似た用語との違い

用語指すもの
JavaJVM の上で動く言語。型を動かす前に検査し、ふつうは javac でコンパイルする
JavaScriptブラウザや Node.js で動く言語。名前が似ているだけの別の言語
JVM.class ファイルを実行する仮想マシン
JDKJava で開発するための道具一式。javac を含む

よくある質問

JavaとJavaScriptは関係がありますか?

名前が似ているだけで、別の言語です。文法も動く場所も違います。

Javaの文字列を==で比べてはいけないのはなぜですか?

== は同じ 1 つのオブジェクトかどうかを比べるためです。文字列の中身が同じかを比べるときは equals を使います。

一次情報・内容確認

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地Javaプログラミング

手を動かして学ぶ

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

Javaコースの全編を見る