0

とと の方程式j + f * dj = 4 longあります。答えは次のとおりです。f = 5.0F floatd = 6.0 double34.0 double

34.0 がdouble.

式がどのように 34.0 になるのかわかりませんが、5.0F != 5それを使用して乗算する場合はどうなりますか?

J = 4 (long)
f = 5.0F (float)
d = 6.0 (double)
4

2 に答える 2

3

操作の順序が優先されます。乗算は加算の前に発生します。

j + f * d
4 + 5.0 * 6.0
4 + 30.0
34.0

このリンクでは、Java 演算子の優先順位について詳しく説明しています。覚えておくとよい情報です: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

于 2013-07-15T00:48:23.957 に答える
2

Kon が言及した操作の順序に加えて、double6.0 は既にdouble. Java は、出力タイプに含まれる値に基づいて出力タイプをダウングレードしようとしません。入力型と互換性のある最小の型を使用するだけです。すでにdouble(「最大」のプリミティブ データ型、つまり最大の範囲の数値を持つ) があるため、Java はそれを出力します。

したがって、ある意味では、それ5.0fは同じではありません5(実際には、乗算だけではありません)。5整数型です。5.0fフロートタイプです。Java は、多くの異なる数値を保持できないデータ型に結果を自動的にダウングレードしません。

(この回答を受け入れないでください。Kon の情報の方が重要です。)

于 2013-07-15T00:52:42.417 に答える