問題タブ [compound-assignment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - BlueJ Java 複合条件
私は現在いくつかのコードを実行していて、問題を抱えていて、それを理解することができません。私はこれが非常に新しいので、助けていただければ幸いです
日付の複合条件を作成しようとしていますが、その方法がわかりません。
java - なぜ「a^=b^=a^=b;」なのか 「a^=b; b^=a; a^=b;」とは違う?
XORを使用して、3番目の変数を使用せずにJavaで2つの整数を交換するコードをいくつか試しました。
私が試した2つのスワップ機能は次のとおりです。
このコードによって生成された出力は次のとおりです。
私は知りたいのですが、なぜこの声明があるのですか:
これとは違う?
java - char型をシフトすると、同様の代入は異なる動作をします
こんにちは、文字を 2 ずつシフトする Java コードがあります。
この場合の出力は「C」です (予想どおり)。しかし、次のようにコードを書き直すと:
「型の不一致: int から char に変換できません」というコンパイル エラーが発生します。2 つの割り当てが等しくないのはなぜですか?
c++ - &= 演算子と |= 演算子は bool ショートサーキットですか?
C++ で次のようなコードを記述する場合:
check_bar()
check_foo()
返された場合は評価されませんfalse
。これは短絡または短絡評価と呼ばれ、遅延評価の原則の一部です。
これは複合代入演算子で機能します&=
か?
論理的には、すべてをおよびにOR
置き換えます。&
|
true
false
objective-c - ObjC プロパティと C 演算子
次のプロパティ宣言があるとします。
インクリメント、デクリメント、および複合代入演算子は実際にどのように機能しself.foo
ますか?
self.foo
実際のアクセサー メソッドの構文糖衣に過ぎないというのが私の理解でした。したがって、 という変数self.foo
に直接アクセスするのではなく、次のいずれかを呼び出します。NSInteger
foo
また
それでも、次のコード セットはまったく問題なく、フラグも立てられず、問題なくコンパイルされ、期待どおりの結果が返されます。
NSInteger
そして、デクリメントのプレフィックス演算子とポストフィックス演算子、およびその他の 9 つの複合演算子は、変数に対して直接使用した場合に期待どおりの動作をすると想定するのがおそらく安全だと思います。
self.foo
上記の2つの方法の構文糖衣が本当に機能する理由がわかりません。
デフォルトのアクセサーを上書きしてNSLog
ステートメントを含めると、それぞれがいつ呼び出され、どの値で呼び出されるかがわかります。ゲッターが最初に呼び出され、次にセッターが呼び出されることがわかります。
これは、次のことを意味しますか。
効果的にこれに置き換えられます:
プリコンパイル中?
編集:では、アセンブリ レベルでは、 と の間に違いはself.foo += 1;
ありself.foo = self.foo + 1;
ますか? プロパティについて話しているのでbar
はなく、単なる通常の int である場合、アセンブリ レベルで と の間に違いはbar += 1;
ありbar = bar + 1;
ますか?
c++ - C++ での self を使用した複合代入演算子
の二乗を計算するには、次の2.0
コードを実行します
明確に定義された動作を持っていますか?そして、同等に、他のすべての複合代入演算と組み込み型についても同様です。