独習Java 1章 〜 8章

独習Java 第4版

独習Java 第4版

Java入門の始まり始まり。ただ、前半部分は既に知っているのでほとんど読み飛ばし。
以下、忘れていた部分や知らなかったことなどを。
環境:Ubuntu10.10 64bit / Oracle(Sun?) JDK6 update 22

throwsはcatchしましょう(8.5 throwsステートメント

// force_throws.java
class force_throws
{
  public static void main(String args[])
  {
    aaa();
  }

  private static void aaa() throws Exception
  {
    System.out.println("aaa");
  }
}
$ javac force_throws.java
force_throws.java:5: 例外 java.lang.Exception は報告されません。スローするにはキャッチまたは、スロー宣言をしなければなりません。
    aaa();
       ^
エラー 1

怒られた。throwsって強制catchだったっけか……

5,12c5
<     try
<     {
<       aaa();
<     }
<     catch (Exception e)
<     {
<       System.err.println(e);
<     }
---
>     aaa();

これでコンパイルが通った。

assert(8.7 アサーション

// assertion.java
class assertion
{
  public static void main(String args[])
  {
    assert args.length <= 2;
    System.out.println(args[2]);
  }
}
$ javac assertion.java
$ java assertion 1 2 3
3
$ java -ea assertion 1 2 3
Exception in thread "main" java.lang.AssertionError
	at assertion.main(assertion.java:5)

こんなことできたなんて。。。


1章からパラパラとめくって忘れていたこと、知らなかったことはこれくらい。
Javaを全然やってなくても覚えてるもんだなあ。


9章を開いてびっくり、目に飛び込んできたのは「マルチスレッドプログラミング」。
スレッドはあまりいじったことないので頑張らないと。