Javaの認定資格「Oracle Certified Java Programmer, Gold SE 7」。通称JavaGoldのオリジナル問題を紹介していきたいと思います。
前回の解答
まずは、前回の解答から。
正解は「1.整数リテラルは10進数、8進数、16進数を使用することができる。」となります。
JavaSE7から上記のリテラルに加え、「2進数」も使用することができるようになりました。
2進数を表すときには、先頭に0b「ゼロビー」をつけます。8進数や16進数の表現方法は問題文のとおりです。
また、同じくJavaSE7から整数リテラルの中に「_」アンダースコアを使うことができるようになりました。
これは数字を表す時によく用いられる「カンマ」と同じ位置づけで、大きな値をリテラルで記述するときの可読性を向上させることができます。
使い方に関しては選択肢5の通り「リテラルの先頭や末尾、記号の前後に使用することができない」ということになりますが、具体的に使用例からの問題を用意しました。
問4
package techpjin;
public class Lesson4 {
public static void main(String[] args) {
new HogeHoge().m1();
}
}
class HogeHoge{
public void m1(){
int i1 = 1_100; // (1)
int i2 = _1100; // (2)
int i3 = 1100_; // (3)
double d1 = 3.14_15; // (4)
double d2 = 3_.1415; // (5)
float f1 = 1.41_42F; // (6)
float f1 = 1.4142_F; // (7)
int i4 = 0xFF_FF_FF; // (8)
int i5 = 0x_FFFFFF; // (9)
int i6 = 0_777; // (10)
int i7 = 1_____0; // (11)
}
}
(1)から(11)の中でコンパイルエラーとなるものを全て選んでください。
解答・解説・問5はこちら