下のソースを見て下さい。
public static void main(String[] args) {
Locale local = new Locale("jp");//1
Locale local = new Locale("ja");//2
Locale local = new Locale("ja","jp"); //3
Locale local = new Locale("jp","ja");//4
System.out.println(local.getDisplayCountry());
System.out.println(local.getDisplayLanguage());
}
1~4のうち、正しく表示されるのはどれとどれでしょうか?
正しく表示された場合は、日本又は日本語又は両方が表示されます。
解答の前に、API仕様を見てみましょう。
Localeクラスのコンストラクタは、String型の引数を1つ~3つとります。
public Locale(String language)
public Locale(String language, String country)
public Locale(String language, String country, String variant)
このようにいずれも第一引数はlanguage = 言語を指定する必要があります。
日本語を意味する言語の指定には、"jp"1ではなく、"ja"を使います。
よって、正解は2と3ですね^^
自分で実行してみて、どのように表示されるか試してみてくださいね。
簡単に解説すると、
1.× 第一引数は国ではなく、言語を指定しなければ、正しく表示されません。
2.○正解 言語だけの指定は問題ありませんので、OKです。
3.○正解 両方指定するときも、言語、国の順で。
4.× やはり第一引数は国ではなく、言語である必要があります。
OCJ-Pの過去問や予想問題集は、
Javaの基礎的な勉強が終わった後にしましょう。
いきいなり問題を解いても、
あまりJavaの理解は得られません。
OCJ-P合格に必要な力は、
Javaをきちんと理解していることです。
問題を解いて、解答を覚えたり、
問題を解きながら勉強しても、
体系的なJavaの理解が得られません。
体系的な視点にたった教科書を使うことで、
無駄な勉強をしなくて済むので、最短です。
まずはきっちりとJavaを体系的に理解しましょう。
その後で、過去問です。
過去問か体系的な理解か、どっちかをとるとすれば、
体系的な理解の方が重要です。
過去問をいくら覚えても、ちょっと変化球が来たらアウトです。
ですが、体系的な理解ができていれば、
どんな問題にも対応できるからです。
体系的な理解が出来た上で、
過去問・予想問題集をやる意義は2つあります。
1.本番に慣れるため
2.ひっかけの種類・パターンを知るため
特に2のひっかけの種類やパターンをあらかじめ想定して、
だいたいでいいので、「こういう感じでひっかけ問題が出るんだな。」
と備えておくことが大切です。
Javaの基礎的な勉強が終わった後にしましょう。
いきいなり問題を解いても、
あまりJavaの理解は得られません。
OCJ-P合格に必要な力は、
Javaをきちんと理解していることです。
問題を解いて、解答を覚えたり、
問題を解きながら勉強しても、
体系的なJavaの理解が得られません。
体系的な視点にたった教科書を使うことで、
無駄な勉強をしなくて済むので、最短です。
まずはきっちりとJavaを体系的に理解しましょう。
その後で、過去問です。
過去問か体系的な理解か、どっちかをとるとすれば、
体系的な理解の方が重要です。
過去問をいくら覚えても、ちょっと変化球が来たらアウトです。
ですが、体系的な理解ができていれば、
どんな問題にも対応できるからです。
体系的な理解が出来た上で、
過去問・予想問題集をやる意義は2つあります。
1.本番に慣れるため
2.ひっかけの種類・パターンを知るため
特に2のひっかけの種類やパターンをあらかじめ想定して、
だいたいでいいので、「こういう感じでひっかけ問題が出るんだな。」
と備えておくことが大切です。
もしあなたが、Javaの教科書で説明されている機能や用語の、
『必要性が感じられない』なら、Javaが誕生した歴史・背景。
その辺を理解するといいですよ。
Javaの核となるコンセプトであるオブジェクト指向は、
プログラミング言語の歴史上では、
比較的新しいコンセプトです。
つまり、これまでのプログラミング言語で不都合な部分、
それを改善するために生まれてきたのがオブジェクト指向であり、
オブジェクト指向の代表選手がJavaです。
ですので、オブジェクト指向の大きな機能である、
カプセル化や継承、ポリモーフィズムが理解できないなら、
過去の言語ではどういうことが不都合だったから、
オブジェクト指向が必要になったのか?
ということが分かってくると、
クラスや参照型、ポリモーフィズムということが、
深いレベルで、腹の底から理解できるようになります。
Javaが誕生した歴史・背景については、
↓↓の本が簡単で読みやすかったです。


いちばんやさしいオブジェクト指向の本 【第二版】 (技評SE選書)
プログラミングの知識がなくても読んでいけます。
Javaに特化した本ではないですが、
私のいう「Javaが誕生した歴史・背景」というのが、
大きな流れの中でつかめる内容です。
ぜひ、通勤電車や昼休憩のときに読んで下さい^^
Javaがもっと好きになると思います^^
『必要性が感じられない』なら、Javaが誕生した歴史・背景。
その辺を理解するといいですよ。
Javaの核となるコンセプトであるオブジェクト指向は、
プログラミング言語の歴史上では、
比較的新しいコンセプトです。
つまり、これまでのプログラミング言語で不都合な部分、
それを改善するために生まれてきたのがオブジェクト指向であり、
オブジェクト指向の代表選手がJavaです。
ですので、オブジェクト指向の大きな機能である、
カプセル化や継承、ポリモーフィズムが理解できないなら、
過去の言語ではどういうことが不都合だったから、
オブジェクト指向が必要になったのか?
ということが分かってくると、
クラスや参照型、ポリモーフィズムということが、
深いレベルで、腹の底から理解できるようになります。
Javaが誕生した歴史・背景については、
↓↓の本が簡単で読みやすかったです。


いちばんやさしいオブジェクト指向の本 【第二版】 (技評SE選書)
プログラミングの知識がなくても読んでいけます。
Javaに特化した本ではないですが、
私のいう「Javaが誕生した歴史・背景」というのが、
大きな流れの中でつかめる内容です。
ぜひ、通勤電車や昼休憩のときに読んで下さい^^
Javaがもっと好きになると思います^^