welcome: please sign in
location: "処理系の使い方"の差分
30と31のリビジョン間の差分
2011-09-15 13:55:12時点のリビジョン30
サイズ: 4834
編集者: masahiko
コメント:
2011-09-15 14:05:30時点のリビジョン31
サイズ: 5248
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 46: 行 46:
=== mainメソッドを含むプログラムの構造 === === mainメソッドを含むプログラム ===
 . javaコマンドを用いて直接実行できるのは、mainメソッドを含むクラスに限ります。
 . mainメソッドを含まないクラスを定義することもできます。
 . mainメソッドを含むソースプログラムの構造は次のようになります。
行 56: 行 59:
----
行 58: 行 60:
 . Hello, World ! と表示するプログラム。
行 61: 行 64:
   ...
   ...
   System.out.printf("Hello, World !\n");
行 66: 行 68:
 . この例は Lesson1 というクラスを定義しています。  . Lesson1 というクラスを定義しています。
行 68: 行 70:
行 107: 行 110:
 書籍やネット上の情報などでは
行 126: 行 130:
 . Linuxの場合  . Linux(演習用サーバ)の場合

処理系の使い方

ソースプログラム

  • ソースプログラムはエディタを使って作成します。
  • Javaプログラムはクラスを定義するものです。
  • クラス名の1文字目は大文字にします。

  • ファイル名はクラス名の後に .java をつけたものでなければならない。

Javaソースプログラムの構造

  •    1  public class クラス名 {
       2         ...
       3         ...
       4  }
    


コンパイル

  • コンパイルするには次のコマンドを使います。
     > javac ソースファイル名
  • ソースファイル名はクラス名の後に .java をつけたものですから次のように考えても同じです。

     > javac クラス名.java
  • コンパイルによりJava仮想マシンの機械語であるバイトコードが生成されます。
  • ソースプログラム Abc.java がコンパイルされるとクラスファイル Abc.class が作られます。(Abcの部分はクラス名)
  • java11.png


実行

  • 実行は仮想機械(JVM)上で行います。
  • コマンド
     > java クラス名
  • を入力するとJVM上で、指定クラスのmainメソッドが実行されます。
  • java12.png

  • Lesson1.java をコンパイルしてできた Lesson1.class (内のmain)を実行するには
     > java Lesson1
  • と入力します。


mainメソッドを含むプログラム

  • javaコマンドを用いて直接実行できるのは、mainメソッドを含むクラスに限ります。
  • mainメソッドを含まないクラスを定義することもできます。
  • mainメソッドを含むソースプログラムの構造は次のようになります。
       1  public class クラス名 {
       2         public static void main(String[] args) {
       3                 ...
       4                 ...
       5         }
       6  }
    

  • Hello, World ! と表示するプログラム。
       1  public class Lesson1 {
       2         public static void main(String[] args) {
       3                 System.out.printf("Hello, World !\n");
       4         }
       5  }
    
  • Lesson1 というクラスを定義しています。
  • クラス名が Lesson1 のときファイル名は Lesson1.java になります。


別の環境(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のバージョン

    処理系のバージョン

    Java

    Java 1.02

    Java 1.1

    Java2

    Java 1.2

    Java 1.3

    Java 1.4

    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

できるだけ演習用サーバを利用してください。

処理系の使い方 (最終更新日時 2011-09-16 01:04:44 更新者 masahiko)