これは私の最初の質問です。私はコミュニティに参加してうれしいです。 私は明日のテストを持っている、と例の一つである正確な操作が行われた何その行i = jの意味は何ですか -
i=0; j=2; z=2
i=j--;
はありますか?私が知っているから、j-は毎回j-1を意味する。 ありがとう! Dr.Javaにあります。
これは私の最初の質問です。私はコミュニティに参加してうれしいです。 私は明日のテストを持っている、と例の一つである正確な操作が行われた何その行i = jの意味は何ですか -
i=0; j=2; z=2
i=j--;
はありますか?私が知っているから、j-は毎回j-1を意味する。 ありがとう! Dr.Javaにあります。
iをjと等しく設定し、jから1を減算することを意味します。
i = j--;
は代入文です。右側が評価され、結果の値が左側のものに割り当てられます。あなたのケースでは、それが意味する:
j
の値が読み取られる(2
、そのコードに)j
(そのコードに、1
に)デクリメントさ2
)は--
が後であるため、ステップ1および2の順であるi
に割り当てられています;後置デクリメント演算子はです。 j
(接頭辞減算演算子)の前の場合は、手順1と2を逆にします。
このコードの別のショートカットです。
i=0; j=2; z=2
i = j;
j = j - 1;
これは、ポストデクリメント演算子を使用したため、これは値2を持つことを意味します。 Jはデクリメントされるので値は1になります。
i = --j
を値を代入する前に減らされているので、私は、1の値を持つことになります:あなたが書かれていた場合 。
ジェラルド
さて、感謝します。 1つの補足的な質問:i = 3; j = 2; z = 2、z = i ++%j;私はその行で何をすべきですか? –
@Román:あなたがそれを(上記のように)部品に分解すると、あなたはどうなると思いますか? –
私は分かりませんが、あなたが前に言ったのと同じだと思います。まず、i%j(この場合は3%2、z = 1)の値をzに代入してから、次の行i ++したがってi + 1(この場合は3 + 1)です。私は正しい?私は本当にあなたの助けに感謝しています。 –