Oracle Java SE8 Silverでつまずいたこと
Java SE8 Silverってここまで聞かれるの?!
最近になって仕事で資格を取るように言われた。.NETやJavaなどのオブジェクト指向言語の経験が一番多かったから、Java SE8 Silverぐらい楽勝でしょwww的なノリで勉強したら、かなり詰んだ^^;
というわけで、こんなような知識が問われるよってのを心に残ったものをちょくちょく更新してこうと思います!
1、整数型で2進数、8進数、16進数のリテラル
public class Test {
public static void main(String args) {
int a = 0xAB;
int b = 015;
int c = 0b010;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
出力結果
171
13
2
先頭に0xが16進数、0が8進数、0bが2進数のリテラル。全然知らなかった・・・業務で100%見ないし・・
2、負の数
public class Test {
public static void main(String args) {
int a = - 2;
int b = - 5;
int c = a * - b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
出力結果
-2
-5
-10
こんな感じで負の数の計算ができる。これは自分の勉強不足かも。
マイナス演算子で負の数を表現できたのは知らんかった^^
3,インクリメント
public class Test {
public static void main(String args) {
int a = 10;
int b = a++ + 1;
int c = ++a + b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
出力結果
12
11
23
b=a++と変数の方が前にあるときはプラスされる前のaが適用されるらしい。いや〜難しい!
4、配列の宣言方法
public class Test {
public static void main(String args) {
int a = new int[0];
int b = {};
int c = new int[2];
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
出力結果
[I@2a139a55
[I@15db9742
[[I@6d06d69c
printで配列を表示するとハッシュコードが返される。まあ、それはよくって、配列の宣言方法!
変数cの宣言方法がありなのは驚いた!大カッコは変数の後、型の後、右と次元さえ合ってればどっちでも良いってこと^^;
int c = new int[2];
int c = new int[2][];
上記は同じ意味。
ちなみに要素数は一次元目さえ入れとけば、宣言時に他は空でも大丈夫^^