Javaファイル
↓コンパイラで変換
クラスファイル
↓Java仮想マシンで変換
PCごとのネイティブコード
仕組みは難しいですが、動かすのは簡単です。
Javaには複数の実行方法があり、実行方法によりプログラムの書き方に特徴があります。今回はコマンドプロンプトを使って文字ベースで実行する、Javaアプリケーションの例です。
【1】コマンドプロンプトを起動します。

【2】java Hello と入力します。大文字小文字に注意してください。

*コマンドプロンプト自体は大文字小文字を区別しませんが、javacやjavaの後に続く文字は区別されるので、はじめから区別する習慣を付けておいたほうが良いです。
○ java Hello
○ JAVA Hello
× java hello
【3】「こんにちは」というメッセージが表示されます。プログラムが終了すると、次の命令を受け付ける表示になります。

今回のプログラムは、画面にメッセージを表示するだけの簡単なものです。
【解説】
コンパイルと実行時では書き方が違うので戸惑ってしまうかもしれません。そこで整理してみましょう。javacは「javac.exe」、javaは「java.exe」のことです。
・コンパイル時 javac Hello.java
・実行時 java Hello
コンパイル時は、javac ファイル名 です。これはわかりますね。
ところが実行時は、java クラス名 なのです。だから拡張子は付きません。正確には main メソッドがあるクラス名です。Javaアプリケーションは、mainメソッドからプログラムが始まります。