class Hello { public static void main(String[] args){ System.out.print("Hello World"); System.out.println("Hello Again"); } }
ファイルを保存してから,
javac Hello.javaとしてコンパイルしてから
java Helloを実行してみよう. 今度は,
Hello WorldHello Againと表示される.
Java言語内部では欧米語以外も扱えるように文字を表現するためには, Unicodeと いう多くの文字集合を含んだ表現方式を用いている.そのため,言語処理系内 部では日本語も問題なく扱えるが,ファイルの入出力などに関しては,注意が 必要になる.センターのMacOS環境では環境変数LANGは
ja_JP.UTF-8のようになっているので,プログラム中のファイルの漢字コードは本来UTF-8という Unicodeベースの漢字コードで記述する必要があるが,javac, javaコマンドを相談員 作成のラッパープログラム(wrapper program)で置き換えてあるので,他の漢字コードで ファイルを作成しても問題なくコンパイルできることが多い.
実行例 ca20121$ cd ~/java ca20121$ javac MyName.java ca20121$ java MyName ____ ____/ ____ ____/ / / / / / / / / / / / _/ __/ _/ ca20121$実行例では,「格好良く」するために,イタリックにして影をつけるというこ とをやったが,どのように表現しても良い.
提出の必要はないが,トレーニングのために自分でやってみること.
以下のようにバックスラッシュ「\」(フォントによっては¥に見えるかもしれない)を使って線を書こうとしてみよう.class Hello{ public static void main(String[] args){ System.out.println("\ "); System.out.println(" \ "); System.out.println(" \"); } }このプログラムをコンパイルしようとすると,ktanaka@dell>javac Hello.java Hello.java:3: エスケープ文字が不正です。 System.out.println("\ "); ^ Hello.java:4: エスケープ文字が不正です。 System.out.println(" \ "); ^ Hello.java:5: 文字列リテラルが閉じられていません。 System.out.println(" \"); ^ Hello.java:5: ')' がありません。 System.out.println(" \"); ^ エラー 4 個と大量のエラーを出して止まってしまう.これは,Java言語では(C言語の流れ を組んで),バックスラッシュともう1文字 をつなげて,表示上は表わせない文字を表わすというもので,主なものとして 以下のものがある.したがって,元のプログラムは,
- \n
- asciiコードの0xa(man ascii とやってみるべし), Unix系のテキスとファイルでの,改行(newline)をあらわす.
- \r
- asciiコードの0xd, キャリッジリターンを表わす.Macintosh系のテキス トファイルではこれが改行の意味に用いられる.DOS系のテキストファイルでは \r\n で改行の意味に用いられる.
- \t
- タブを表わす
- \\
- 本来のバックスラッシュを表わす
class Hello{ public static void main(String[] args){ System.out.println("\\ "); System.out.println(" \\ "); System.out.println(" \\"); } }のようにすればよかったということになる.