welcome: please sign in
location: "処理系の使い方"の差分
28と29のリビジョン間の差分
2010-09-17 01:52:09時点のリビジョン28
サイズ: 4307
編集者: masahiko
コメント:
2011-09-15 13:51:43時点のリビジョン29
サイズ: 4658
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 5: 行 5:
 . '''ファイル名のつけ方'''に決まりがあります。
行 7: 行 6:
 . クラス名の'''1文字目'''は大文字にします。
 . ファイル名はクラス名の後に '''.java''' をつけたものでなければならない。

==== Javaソースプログラムの構造 ====
行 8: 行 11:
 public class Lesson1 {
  public static void main(String[] args) {
   ...
   ...
  }
 public class クラス名 {
  ...
  ...
行 15: 行 16:
 . この例は Lesson1 というクラスを定義しています。
 . クラス名の'''1文字目'''は大文字でつけます。
 . ファイル名はクラス名の後に '''.java''' をつけたものにすること。
 . クラス名が Lesson1 のときファイル名は Lesson1.java になります。
行 21: 行 18:
 . ソースプログラムをコンパイルし、バイトコードを作成するには次のコマンドを使います。  . コンパイルするには次のコマンドを使います。
行 23: 行 20:
 > javac Filename.java  > javac ソースファイル名
行 25: 行 22:
 . ソースプログラム Filename.java がコンパイルされクラスファイル Filename.class が作られます。  . ソースファイル名はクラス名の後に '''.java''' をつけたものですから次のように考えても同じです。
 {{{
 > javac クラス名.java
 }}}
 . コンパイルによりJava仮想マシンの機械語であるバイトコードが生成されます。
 . ソースプログラム Abc.java がコンパイルされるとクラスファイル Abc.class が作られます。(Abcの部分はクラス名)
行 43: 行 45:
----

----
==== 例 ====
 {{{#!java
 public class Lesson1 {
  public static void main(String[] args) {
   ...
   ...
  }
 }
 }}}
 . この例は Lesson1 というクラスを定義しています。
 . クラス名が Lesson1 のときファイル名は Lesson1.java になります。

処理系の使い方

ソースプログラム

  • ソースプログラムはエディタを使って作成します。
  • 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
  • と入力します。



  •    1  public class Lesson1 {
       2         public static void main(String[] args) {
       3                 ...
       4                 ...
       5         }
       6  }
    
  • この例は 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)