プログラムを変更する

サンプルのプログラムを変更してみよう. まず, printlnと良く似たメソッド として, printというものがあるのでそれを使ってみる (詳しい説明は こちら を参照). Emacsを使って, 最初のprintlnをprintに変更してみよう

class Test {
  public static void main(String[] argv){
    System.out.print("Hello World");
    System.out.println("Hello Again");
  }
}

ファイルを保存してから,

javac Test.java
としてコンパイルしてから
java Test
を実行してみよう. 今度は,
Hello WorldHello Again
と表示される.
次に, 表示する文字列を変えてみよう. 3行目の"Hello World", 4行目の "Hello Again"の部分を好きな文字列に変えて, コンパイル, 実行してみる. 思うように表示されただろうか?


練習問題

自分のイニシャルを大きく格好良く表示するプログラムを書きなさい.ファイルは, 自分のホームディレクトリの下に java というディレクトリを作成して,その 下にMyName.java という名前で作成する(クラス名もMyNameという名前で作成する).
実行例
ktanaka@nc01921> cd ~/java
ktanaka@nc01921> javac MyName.java
ktanaka@nc01921> java MyName

  ____  ____/ ____  ____/
       /           /
      /           /
     /           /
    /           /
   /    /      /
 _/  __/     _/

ktanaka@nc01921> 
実行例では,「格好良く」するために,イタリックにして影をつけるというこ とをやったが,どのように表現しても良い.

提出の必要はないが,トレーニングのために自分でやってみること.
以下のようにバックスラッシュ「\」(フォントによっては¥に見えるかもしれない)を使って線を書こうとしてみよう.
class Test{
  public static void main(String[] args){
    System.out.println("\  ");
    System.out.println(" \ ");
    System.out.println("  \");
  }
}
このプログラムをコンパイルしようとすると,
ktanaka@dell>javac Test.java
Test.java:3: エスケープ文字が不正です。
    System.out.println("\  ");
                         ^
Test.java:4: エスケープ文字が不正です。
    System.out.println(" \ ");
                          ^
Test.java:5: 文字列リテラルが閉じられていません。
    System.out.println("  \");
                       ^
Test.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 Test{
  public static void main(String[] args){
    System.out.println("\\  ");
    System.out.println(" \\ ");
    System.out.println("  \\");
  }
}
のようにすればよかったということになる.


次に進む
ktanaka at ecc.u-tokyo.ac.jp