算術演算と代入演算の練習問題[解答および解説]

記事上広告

算術演算と代入演算の練習問題[解答および解説]

算術演算と代入演算まで(2-7まで)の問題記事の解答及び解説記事です。

プログラムの解答はあくまでも一例です。問題によっては違う記述方法もあります。

【Java】算術演算と代入演算 練習問題

以下のプログラム内には複数の算術演算と代入演算があります。実行する前にどのような結果になるかを予想し、workフォルダ内に「Exam05.java」で保存してください。
保存後、コンパイルおよび実行を行ってください。
※プログラム内にコンパイルエラーが起こる記述があります。コンパイルエラーの行とその出力処理は削除するか行頭に//を入れてコメントにしてください。

実行結果

c:\work>javac Exam05.java

c:\work>java Exam05
11
2
12355
5.0
2
2.0
1.0

Exam05.javaの解説

プログラム内の各行は以下のような挙動となっています。

プログラム 補足
5 + 3 * 2 掛け算が先に行われ、3(int) * 2(int)で計算される。結果の6(int)に5(int)が加算され、11(int)となる。
3 / 2 + 1 割り算から先に行われ、3(int) / 2(int)で計算される。int同士の割り算は結果もintとなり、1(int)が結果となる。結果の1(int) に1(int)が加算され、2(int)となる。
‘あ’ + 1 ‘あ'(char)+1(int)では、charは内部で数値を持っているため、内部の数値に1が加算され、12355(int)となる。
5 / 2 * 2.5 5(int) / 2(int)で計算を行うが、int同士の為、結果は2(int)となる。2(int) * 2.5(double)が行われ、5.0(double)の結果となる。
int a = 5 / 2;
System.out.println(a);
5(int) / 2(int)はint同士の演算となり演算結果は2(int)の為、int aには代入可能。aには2(int)が代入される。
double b = 5 / 2;
System.out.println(b);
5(int) / 2(int)はint同士の演算となり演算結果は2(int)。代入するbはdouble型ですが自動的に型変換が行われます。2(int)をdoubleに変換し、2.0(double)が代入されます。
float c = 3 / 2;
System.out.println(c);
3(int) / 2(int)はint同士の演算となり演算結果は1(int)。代入するcはfloat型ですが自動的に型変換が行われます。2(int)をfloatに変換し、1.0(float)が代入されます。
byte d = 1;
byte e = d + d;
System.out.println(e);
b(byte) + b(byte)はbyte同士の演算となり演算結果は2(int)。代入するeはbyte型ですが自動的に型変換はできません。代入ができないため、代入時にコンパイルエラーとなります。
float f = 3.14;
System.out.println(f);
3.14(double)をfloat型のfには自動的に型変換が行われないため、代入時にコンパイルエラーとなります。。

参加 ブログランキング

記事頑張って書いたかもねー?と思う方は下を押してもらえるといいかなーなんて
にほんブログ村 IT技術ブログへ
にほんブログ村


Javaランキング

目次へのアクセス
スポンサーリンク
レクタングル

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル