冬休み、幸い時間があるので、基礎的な所からJavaのことを学ぼうと思い「プログラミング言語Java (The Java Series)第4版」を実家に持って帰りました。
1ページ目から真面目に読む、という学生みたいなことをしてるのですが、「えっ、Javaってこんなことできんの」的なことがチラホラ。
せっかくなのでまとめていこうと思います。
まず初っ端「知らなかった…」のは「第1章 はやめぐり」の「1.5 Unicode文字」の所。
変数名を「π」で定義してるサンプルコードが。
じゃあこんなの書けるのか、とNetBeans起動して以下コードを書いてみました。
Unicode文字でstatic変数定義しただけのクラス
package jp.kikutaro.unicode;
public class UnicodeOtameshi {
public static String マジですか = "こんな変数定義できるの!?";
}
NetBeansのコード補完…おお、変数名「マジですか」ってマジですか。
Main
import jp.kikutaro.unicode.UnicodeOtameshi;
public class App
{
public static void main( String[] args )
{
System.out.println(UnicodeOtameshi.マジですか);
}
}
実行結果
run:
こんな変数定義できるの!?
マジですかー。
仕事で絶対使わないけど、なんか面白いです。
staticインポート
「2.2.2 staticフィールド」の所に「staticインポート」という言葉が。知らない…。
詳細は「2.9 staticメンバー名のインポート」とのことで読む。うむ。
これもお試し
package jp.kikutaro.staticimport;
public class MyMath {
大きいほうの数値に1を加えて返す
@param x
@param y
@return
public static int maxPlusOne(int x, int y){
return Math.max(x, y) + 1;
}
}
上記のstaticメソッドを利用する際、普通は
package jp.kikutaro.javasample;
import jp.kikutaro.staticimport.MyMath;
public class App
{
public static void main( String[] args )
{
int maybeThree = MyMath.maxPlusOne(1, 2);
System.out.println("1と2で大きいほうの数字に1を足す=" + maybeThree);
}
}
のように「クラス名.staticメソッド名」となりますが、import文にstaticとメソッド名を加えるとクラス名が省略できるそうな。
package jp.kikutaro.javasample;
import static jp.kikutaro.staticimport.MyMath.maxPlusOne;
public class App
{
public static void main( String[] args )
{
int maybeThree = maxPlusOne(1,2);
System.out.println("1と2で大きいほうの数字に1を足す=" + maybeThree);
}
}
確かに動いた。知らなかった。
まだ700ページ中の60ページくらい。ひええ。