単項演算子の操作
定義により、単項演算子は、オペランドまたは変数を 1 つだけ必要とするものです
これらは、
を増やすなどの単純なタスクを実行することがよくあります。
数値変数を 1 つ増やすか、ブール値を否定します。
論理補数演算子と論理否定演算子
論理補数演算子 ! は、ブール式の値を反転します。たとえば、
値が true の場合は false に変換され、その逆も同様です。これを説明するには、
を比較してください。
次のステートメントの出力:
boolean x = false; System.out.println(x); // false x = !x; System.out.println(x); // true
同様に、否定演算子、-は、次のように数値式の符号を反転します
これらのステートメントでは:
double x = 1.21; System.out.println(x); // 1.21 x = -x; System.out.println(x); // -1.21 x = -x; System.out.println(x); // 1.21
説明に基づいて、一部の演算子が変数を必要とすることは明らかかもしれません
または、特定のタイプであるように作用する表現。たとえば、
を適用することはできません。
ブール式に否定演算子 - を使用したり、論理補数を適用したりすることはできません
演算子 ! を数値式に追加します。試験でこれを試みる質問には注意してください。
コードのコンパイルに失敗する可能性があるためです。たとえば、次のコード行はどれも含まれていません
コンパイルします:
int x = !5; // DOES NOT COMPILE boolean y = -true; // DOES NOT COMPILE boolean z = !0; // DOES NOT COMPILE
Java では
を実行できないため、最初のステートメントはコンパイルされません。
数値の論理反転。 2 番目のステートメントはコンパイルされません。
ブール値を数値的に否定することはできません。論理逆演算子を使用する必要があります。
最後に、数値の論理補数を取得したり、ブール変数に整数を代入したりできないため、最後のステートメントはコンパイルされません。
Java 1 のと
の true は関係ありません いずれにせよ、0 と false に関連性がないのと同じように。インクリメント演算子とデクリメント演算子
インクリメント演算子とデクリメント演算子、および -- は、それぞれ数値
に適用できます。 二項演算子と比較して、オペランドの順序または優先順位が高くなります。
で つまり、式に最初に適用されることがよくあります。
インクリメント演算子とデクリメント演算子の順序は
であるため、特別な注意が必要です。 関連するオペランドに適用すると、式の処理方法に違いが生じる可能性があります。 前置インクリメント演算子 および 前置デクリメント演算子 と呼ばれる演算子がオペランドの前に配置されている場合、演算子が最初に適用され、値が返されます
式の新しい値です。また、演算子がオペランドの後に配置される場合は、
後置インクリメント演算子 および 後置デクリメント演算子 と呼ばれる場合、式の元の値が返され、値が返された後に演算子が適用されます。
これがイラストの例です:
boolean x = false; System.out.println(x); // false x = !x; System.out.println(x); // true
最初の前置インクリメント演算子は、カウンターの値を更新し、新しい値を出力します
値は 1。次のポストデクリメント演算子もカウンタの値を更新しますが、
を出力します。
デクリメントが発生する前の値。
現実世界ではそれほど一般的ではありませんが、認定試験でよく行われる方法の 1 つは
複数のインクリメント演算子またはデクリメント演算子を同じ行の 1 つの変数に適用します:
double x = 1.21; System.out.println(x); // 1.21 x = -x; System.out.println(x); // -1.21 x = -x; System.out.println(x); // 1.21
これは、x が 3 つ変更されるため、前の例よりも複雑です
同じ回線で何度も。変更されるたびに、式が左から右に移動するので、
x の値が変化し、異なる値が変数に割り当てられます。思い出していただけると思います
演算子の優先順位に関する議論からわかるように、
では演算の順序が重要な役割を果たします。
この例を評価します。
では、このコードをどうやって読むのでしょうか?まず、x がインクリメントされ、式
に返されます。
これを 5 で乗算します。これは次のように単純化できます。
int x = !5; // DOES NOT COMPILE boolean y = -true; // DOES NOT COMPILE boolean z = !0; // DOES NOT COMPILE
次に、x はデクリメントされますが、元の値 4 が式で使用され、
となります。
これ:
int counter = 0; System.out.println(counter); // Outputs 0 System.out.println(++counter); // Outputs 1 System.out.println(counter); // Outputs 1 System.out.println(counter--); // Outputs 1 System.out.println(counter); // Outputs 0
x の最後の割り当てにより、値が 2 に減ります。これは前置インクリメント演算子であるため、その値が式に返されます。
int x = 3; int y = ++x * 5 / x-- + --x; System.out.println("x is " + x); System.out.println("y is " + y);
最後に、倍数と除算を左から右に評価し、加算で終了します。結果は次のように出力されます。
int y = 4 * 5 / x-- + --x; // x assigned value of 4
結論として、単項演算子は、値の増加、否定、反転などの単一オペランドの迅速な演算を可能にすることで、コードを簡素化および合理化します。これらは、効率的なロジック、コンパクトな式、データの簡潔な制御に不可欠であり、プログラミングの読みやすさと機能性を高めます。
以上が単項演算子の操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

intellijideaultimatiateバージョンを使用してスプリングを開始します...

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

eコマースプラットフォーム上のSKUおよびSPUテーブルの設計の詳細な説明この記事では、eコマースプラットフォームでのSKUとSPUのデータベース設計の問題、特にユーザー定義の販売を扱う方法について説明します。

Redisキャッシュソリューションは、製品ランキングリストの要件をどのように実現しますか?開発プロセス中に、多くの場合、ランキングの要件に対処する必要があります。
