Javaマスターへの道 資格勉強編 Part5
みなさんこんにちは!今日はJava資格の一つであり登竜門的な立ち位置?にある
Oracle Certified Java Programmer, Silver SE11(通称Javaシルバー)について書いていこうと思います。
書くといっても問題の演習がほとんどになると思います。
軽く説明をするとJavaシルバーとはオラクル社(Javaの親会社)の認定資格の一つであり、
Javaの資格として最も有名であり、資格取得の価値がある資格だと思います。
Javaをやる人なら是非とも取っておきたい資格なのですが、
受験費用が高いことでも有名なので失敗したくはないですよね。
そこで実際に問題を解きながら試験対策をしていこうと思います。
今回出題する問題に関してですが、筆者が独自に作ってみた問題なので試験対策になるかどうかは定かではないのですが
少しぐらい役には立つと思うので是非最後まで解いてみてください!
それでは最初は以下のプログラムの計算結果は同じになるでしょうか
public class Main {
public static void main(String[] args) {
//1
System.out.println(10 / 2);
//2
System.out.println(10 / 2.0);
}
}
}
ここから答えです
この2つの計算結果は二つとも同じですが表記の仕方が違います。
1のほうは整数の5が、2のほうは小数点がついた5.0となります。
なぜ表記が変わるかというと、整数 / 小数の場合、int型 / double型になりますよね。
なぜ表記が変わるかというと、整数 / 小数の場合、int型 / double型になりますよね。
このような場合int型はdoubleg型に強制格上げされてしまい、答えがdouble型になります。
暗黙のキャストと呼ばれ、勝手に小数点つきになってしまいます。
答えは同じではないということでした。
では第2問totalの値はいくらでしょうか
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
int total = 0;
total++;
}
System.out.println(total);
}
}
}
ここから答えです
この問題はfor文でtotalの値を増やしていますが、
変数のスコープを考えてみるとtotalはfor文内でしか存在できませんので、
答えとしてはtotalのシンボルが見つからないとしてエラーになります。
変数のスコープは見落としがちなので、毎回しっかり考えてから答えを出すようにしていきましょう。
いかがでしたか?簡単な問題ほど罠が仕掛けられていますので、引っ掛からないようにしましょうね。
今日はこの辺で終わりたいと思いますが、今後もやっていくので是非見ていってくださいね。
今日はこの辺で終わりたいと思いますが、今後もやっていくので是非見ていってくださいね。