1

私が電話したら

methodName(5, 1/2);

そしてサインがあります

public static int methodName(int x, double y){
}

またはの値でmethodName受信しますか?y00.5

4

5 に答える 5

3

int y = 1/2;

この時点で、y は 0 です。後で double にキャストしようとすると、0.0 になります。どのようにしてその値を取得したかは覚えておらず、その値が何であるかだけを覚えています。

1/2編集: コンパイラはコンパイル時に実際に 0 に置き換えると思います。コードを文字通り同一にするint y = 0

于 2013-11-11T16:40:16.297 に答える
0
int y = 1/2

除算には 1 (int) と 2 (int) を使用しているため、これは整数除算ですy = 0(剰余 (%) は 1)。

于 2013-11-11T16:43:03.257 に答える
0

0 に評価されます。

上記のコードでできることはあまりありません。

y を int として保存する特別な理由はありません。

代わりにこれを試してください:

double y = 1/2.0;
于 2013-11-11T16:39:55.367 に答える
0
int y = 1/2;

このコードでは、y は 0 になります。

0.5として取得したい場合

次のコードを試してください。

double y = 1.0 * 1 /2; //y is 0.5
于 2013-11-11T16:42:38.757 に答える
0

パラメータ(括弧)と混同していると思います。Java では、すべてのメソッドに一連のパラメーターがあります (exampleMethod() などの値を保持しない場合があります)。

パラメーターはメソッドに渡される変数であるため、コード内で次のように呼び出します。

methodName() initialize it with methodName(x,y);

メソッド内の x と y は、パラメーターを介して渡す値の単なるポインターです。この混乱を避けるために、変数に別の名前を付けることをお勧めします。例えば:

int x;
int y;
methodName(int argX, double argY)
{

}

また、質問に答えるために、int は格納された値を小数点で切り捨てるため、5.9 は 6 ではなく 5 に丸められます。したがって、y の浮動小数点変数が必要な場合は、float または double として宣言します。動作しますが、Java ライブラリのほとんどのメソッドは、float ではなく double をパラメーターとして受け取るように記述されています。

于 2013-11-11T16:49:41.000 に答える