-
■練習問題について
一部の資格試験と類似した形式で出題しています。 資格試験では、普段プログラミングする際に、あまり意識していないことからよく出題されます。 Javaの資格取得を目指す方は、是非ともチャレンジしてみてください。 なお、回答はこのページの下段に掲載していますので、スクロールしすぎると回答が見えてしまいます。
当サイトでは、他のページにも練習問題を掲載しています。 興味がある方は、ロジックを考えるプログラミング練習問題(初級編)、Java資格試験の練習問題(メソッド編)、Java練習問題(複数クラス編)にもチャレンジしてみてください。
■Java練習問題(キャスト編)
以下の問題1〜7を○×で回答してください。(問題5だけA〜Eの中から選択)
問題1.
double型からint型に変換しようとするとコンパイルエラーになる。
問題2.
double型からBigDecimal型に変換しようとするとコンパイルエラーになる。
問題3.
double型からString型に変換しようとするとコンパイルエラーになる。
問題4.
数値以外の値を保持するString変数を、BigDecimal型に変換しようとするとコンパイルエラーになる。
問題5.
以下A〜EでJDK5.0以降、コンパイルエラーにならない文はどれですか?
A.Boolean a = true;
B.Character b = new Character("A");
C.Boolean c = new Boolean("true");
D.Boolean d = Boolean.valueOf("true");
E.Character e = Character.valueOf("A");
問題6.
sampleAとsampleBを実行すると、どちらも「100」と表示される。問題6.Javaプログラム class sampleA { public static void main(String args[]) { int x = 100; double y = (double)x; System.out.println( y ); } } class sampleB { public static void main(String args[]) { int x = 100; double y = x; System.out.println( y ); } }
問題7.プログラムsampleCにおいて、X、Y、Zから出力される結果は3つとも同じである。
問題7.Javaプログラム import java.math.*; class sampleC { public static void main(String args[]) { BigDecimal x = new BigDecimal("0.1"); BigDecimal y = new BigDecimal( 0.1 ); double z = 0.1; System.out.println( x ); // X System.out.println( y ); // Y System.out.println( z ); // Z } }
問題8.プログラムsampleDを実行すると実行時エラーとなる。
問題8.Javaプログラム class sampleD { public static void main(String args[]) { String str1 = "かきくけこ"; String str2 = "false"; boolean boo1 = Boolean.valueOf( str1 ); boolean boo2 = Boolean.valueOf( str2 ); System.out.println( boo1 ); // A System.out.println( boo2 ); // B } }
■Java練習問題(キャスト編)の回答
問題1.○
doubleからintへは型変換できません。 ナローイング変換(int→short, int→byteなどの領域を縮小する変換)はコンパイルエラーとなります。
問題2.×
「BigDecimal.valueOf」メソッドを利用することで、doubleからBigDecimalへの型変換が可能です。
問題3.×
「String.valueOf」メソッドを利用することで、doubleからStringへの型変換が可能です。
問題4.×
コンパイルエラーにはならず、実行時エラー(NumberFormatException)が発生します。
問題5.AとCとD
本来はnew演算子をまたはvalueOfメソッドを使用しなければ、そのオブジェクトの参照を得ることはできませんでした。 しかし、JDK5.0以降からは、オートボクシング機能によってAのように記述してもコンパイルできるようになりました。 Characterクラスには、Bの「new Character("A")」のように文字列を引数にとるコンストラクタやEのvalueOf()メソッドは存在しません。 「""」ではなく「''」で囲む必要があるので、Bは誤りです。
問題6.×
sampleAとsampleBともに実行結果として、「100」ではなく「100.0」と表示されます。
問題7.×
X、Zともに「0.1」が出力されますが、Yのみ異なる結果が出力されます。 これは、小数点以下の数値をdouble(または有限長2進小数)として正確に表現できないために起こります。
問題8.×
A、Bともに「false」が出力されます。実行時エラーにはなりません。 「Boolean.valueOf」メソッドは、文字列が"true"以外の場合、型変換した結果として"false"を返します。
トップページ » Javaキャスト入門 » 練習問題(キャスト編)
-
-
- Java ポケットリファレンス
- 発売:2011/03/25
- 定価:2,709円
- 著者:高江 賢
- 出版:技術評論社
内容:ベーシックだけど忘れてしまいがちな情報をコンパクトなサイズに凝縮し、「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」特徴で現場に欠かせない1冊です。 -
- プログラマが知るべき97のこと
- 発売:2010/12/18
- 定価:1,995円
- 著者:和田 卓人
- 出版:オライリージャパン
内容:世界中で活躍するプログラマによる97本のエッセイを収録した書籍です。プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説します。 -
- Effective Java
- 発売:2008/11/27
- 定価:3,780円
- 著者:Joshua Bloch他
- 出版:ピアソンエデュケーション
内容:著者のGoogle, Sun Microsystemsにおけるソフトウェア開発で得た知識・経験をまとめています。Javaプログラミングをする全てのSE必読の書籍です。 -
- 明解Java 入門編
- 発売:2007/08/08
- 定価:2,730円
- 著者:柴田 望洋
- 出版:ソフトバンククリエイティブ
内容:丁寧な解説と適切なサンプルプログラム248編と、豊富で分かりやすい図表278点で、Javaの基礎から学習できます。Javaプログラミング初心者におすすめの一冊です。 -
- なぜ、あなたはJavaでオブジェクト指向開発ができないのか
- 発売:2004/12
- 定価:2,289円
- 著者:小森 裕介
- 出版:技術評論社
内容:Javaのソフトウェア開発を中心に事業を発展させてきたSMG社の新人教育セミナーを加筆・書籍化したもので、大卒の新人に対して、ゼロからJava言語を教えてきた実績をフィードバックしています。
-
-
-
デスクトップPC(ビジネス向け・クリエイター向け・ゲーム向け)、ノートPC、パーツ、周辺機器、ソフト(OS・ゲーム・セキュリティなど)幅広い分野の商品を扱っています。販売価格の幅が広く、品揃えも充実しています。
-
「FRONTIERダイレクトストア」は、自社工場で製造したFRONTIERブランドのパソコンを日本全国に販売する株式会社KOUZIROのインターネットショッピングサイトです。カスタマイズ可能なBTOゲームパソコンも販売しています。
-