「適切な」数学と同様に、角括弧を使用するとメソッドの順序が変わります。かっこ(かっこ)はメソッドの順序を変更しますか?
例えば、
System.out.println(Math.abs(Math.min(-6,3)));
は、出力6を与える絶対値が算出される前math.minがその仕事をしていませんので、このですか?
私は、これが事実であることを確認したいと思います。それは、数学クラスの奇妙なものではありません。
ありがとうございました
「適切な」数学と同様に、角括弧を使用するとメソッドの順序が変わります。かっこ(かっこ)はメソッドの順序を変更しますか?
例えば、
System.out.println(Math.abs(Math.min(-6,3)));
は、出力6を与える絶対値が算出される前math.minがその仕事をしていませんので、このですか?
私は、これが事実であることを確認したいと思います。それは、数学クラスの奇妙なものではありません。
ありがとうございました
これはかっこの順序の結果ではありません。オペレータの操作中に括弧を使用して操作の順序を指定することは、構文の問題です。
Javaでのメソッド呼び出しはmethodName(arguments)
で行われます。これは、表現方法を表現することができなかったことを意味します。そのような括弧は、優先順位を表すためには使用されませんが、実際には言語の構文の一部です。
メソッドは、呼び出しが行われる前に引数を評価する必要があるため、Math.abs
より前にはMath.min
を評価する必要があります。
はい、チェーン/ネストされたメソッド呼び出しを使用すると、メソッドの順序が変更されます。非常に内側のメソッドが最初に実行され、次にそのメソッドが実行されます。内部メソッドは最初に評価されなければなりません。そのため、そのメソッドは実際に引数として渡される値を持ちます。メソッドチェーンが外部から開始された場合、最初のメソッドの引数/パラメータは評価されないため、コンピュータはそのメソッドに渡す値を認識しません。
はい、Math.minが最初に計算され、続いてMath.absが計算されます。数学クラスで学んだルールもプログラミングに適用されます。
Math.abs(Math.min(-6,3));
Math.abs(-6);
6
*これは、絶対値が計算される前にmath.minがジョブを実行するためですか?*はい。 –
これは常にJavaのケースであり、数学クラスだけではありませんか? ありがとうございました –
'Math'メソッドには特別なものはありません。それらは他のクラスの他のメソッドと同様に、単なるメソッドです。 –