【3章】Javaを学ぼう
小数について
double型
Javaでは整数を扱う際に用いられるデータ型のint型と、小数を扱う際に用いられるデータ型のdouble型があります。よく用いられるというだけで、あくまでも整数や小数を扱う上での型のひとつとして捉えてください。
5 ・・・・ int型
(整数)
1.28 ・・・・ double型
(小数)
double型の変数について
整数とは小数点以下を持たない数です。一方小数とは「1.28」「-3.7」のように小数点以下を持つ数になります。
例えば、1はint型ですが、1.0はdouble型になります。
double number = 5.14;
System.out.println(number);
出力結果↓
5.14
double型も数値ですので、計算が可能です。
double number1 = 5.1;
double number2 = 2.9;
System.out.println(number1 + number2);
System.out.println(number1 - number2);
出力結果↓
8.0
2.2
計算時の自動型変換について
int型とdouble型の計算では結果はdouble型になります。これは計算の過程でint型がdouble型に変換されるためです。よって「5 / 2.0」もしくは「5.0 / 2」の結果は2.5になります。5を5.0にするように、整数は必ず小数でも表せるため、Javaが自動で型変換を行ってくれます。
それでは、例えばint型の変数同士の割り算で、正確な値を出したいときはどうすればよいでしょうか。
結論から言うとint型の変数同士を割り算した際、もし割り切れない数が出た場合は正確な値までは表示されません。
double number1 = 17;
double number2 = 3;
System.out.println(number1 / number2);
出力結果↓
5
int型同士の割り算では、上記の出力結果のように「5」となり、「5.67」とはなりません。
このような場合には強制的に型変換を行います。
(強制型変換)キャストについて
強制的に型変換を行うことをキャストと呼び、(変換したいデータ型)値とすることで強制的にデータ型を変更できます。上記のint型同士の値から、最終的にdouble型の計算結果を得たい場合、どちらか1つをキャストしてあげれば、出力結果はdouble型になります。
double number1 = 17;
double number2 = 3;
System.out.println((double)number1 / number2);
//number1の値がdouble型に変換される 17.0 / number2
出力結果↓
5.67
以上が今回の記事の内容になります。
次章に続きますので、もしよろしければ是非ご覧ください!
最後までご覧いただきまして、ありがとうございました!
Author And Source
この問題について(【3章】Javaを学ぼう), 我々は、より多くの情報をここで見つけました https://qiita.com/haruki25596/items/a3e0b0e6a3af9001bb70著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .