== 処理系の使い方 == === ソースプログラム === . ソースプログラムはエディタを使って作成します。 . '''ファイル名のつけ方'''に決まりがあります。 . Javaプログラムはクラスを定義するものです。 {{{#!java public class Lesson1 { public static void main(String[] args) { ... ... } } }}} . この例は Lesson1 というクラスを定義しています。 . クラス名の'''1文字目'''は大文字でつけます。 . ファイル名はクラス名の後に '''.java''' をつけたものにすること。 . クラス名が Lesson1 のときファイル名は Lesson1.java になります。 ---- === コンパイル === . ソースプログラムをコンパイルし、バイトコードを作成するには次のコマンドを使います。 {{{ > javac Filename.java }}} . ソースプログラム Filename.java がコンパイルされクラスファイル Filename.class が作られます。 . {{attachment:java11.png}} ---- === 実行 === . 実行は仮想機械(JVM)上で行います。 . コマンド {{{ > java クラス名 }}} . を入力するとJVM上で、指定クラスのmainメソッドが実行されます。 . {{attachment:java12.png}} . Lesson1.java をコンパイルしてできた Lesson1.class (内のmain)を実行するには {{{ > java Lesson1 }}} . と入力します。 ---- === 別の環境(OS)で利用する === '''実行''' 実行したいOS上にJVMが存在すれば、クラスファイルをコピーするだけで、修正なく同様に実行できます。 . コンパイルしたのと同じOS上で実行できるのはあたりまえ。 . Windows上でコンパイルしてLinux上で実行することも可能です。 . Linux上でコンパイルしてWindows上で実行することも可能です。 . MacOSや他の多くのプラットフォーム上にも用意されています。 '''コンパイル''' 別のOS上で作成されたソースプログラムをコンパイルするときは文字コードの扱いに注意が必要です。 . OSの標準とは異なる文字コードで記述されたプログラムをコンパイルするときは -encoding オプションで文字コードを指定します。 . SJISで記述したプログラムを別のOS上でコンパイルするときには {{{ > javac -encoding SJIS filename.java }}} . のようにします。 * Windowsでの標準の文字コードはSJISです。 * 演習用サーバ(Linux)での標準の文字コードはUTF-8です。 ---- === コマンドオプション === javac java どちらのコマンドにもオプションを指定することができます。 . 使えるオプションは {{{ > javac -help }}} {{{ > java -help }}} . で調べられます。 . バージョンを調べるには {{{ > javac -version > java -version }}} . とします。 ---- === Javaのバージョン === Javaのバージョンと処理系のバージョン表記に違いがあるので注意してください。 ||Javaのバージョン||処理系のバージョン|| ||<|2>Java||Java 1.02|| ||Java 1.1|| ||<|3>Java2||Java 1.2|| ||Java 1.3|| ||Java 1.4|| ||<|2>Java5||Java 1.5|| ||Java 1.6|| ---- === 実習室での注意 === * この授業用のフォルダ(ディレクトリ)を作成し、そのフォルダ(ディレクトリ)内にここで使う.javaファイルや.classファイルなどを置きましょう。 * Windowsを使う場合、フォルダ名は直接入力で入力できる文字で付けること。 * 上の使い方の説明で>の記号はプロンプトを表しています。 . Windowsではドライブ名、フォルダ名に続いて > が表示されます。 . Linuxではディレクトリ名に続いて $ が表示されます。 コンパイルと実行の例 . Linuxの場合 {{{ [name@linux ~]$ cd proa [name@linux proa]$ javac Sample.java [name@linux proa]$ java Sample }}} . Windowsの場合 {{{ z:\> cd proa z:\proa> javac Sample.java z:\proa> java Sample }}}