単項演算子(タンコウエンザンシ)とは | 意味や読み方など丁寧でわかりやすい用語解説

単項演算子(タンコウエンザンシ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

単項演算子 (タンコウエンザンシ)

英語表記

unary operator (ユナリーオペレーター)

用語解説

単項演算子とは、プログラミングにおいて一つのオペランド(値または変数)に対して作用する演算子のことである。二項演算子(例えば足し算の「+」)が二つのオペランドを必要とするのとは対照的に、単項演算子は一つだけで処理を実行する。単項演算子は、オペランドの前または後に置かれる。

単項演算子は、変数の符号を反転させたり、インクリメントやデクリメントを行ったり、論理的な否定を行ったりするなど、さまざまな処理を行うために使用される。C言語、Java、JavaScript、Pythonなど、多くのプログラミング言語で利用可能である。

単項演算子の代表的な例としては、以下のものがある。

  • 符号演算子: プラス記号「+」とマイナス記号「-」は、数値の正負を表すために使用される。例えば、-5は5の符号を反転した値(負の5)を表し、+5は正の5を表す(通常、正の符号は省略される)。

  • インクリメント演算子: 「++」は、変数の値を1だけ増加させる。例えば、x++は変数xの値を1増やしてから、元のxの値を返す(後置インクリメント)。一方、++xは、変数xの値を1増やしてから、増加後のxの値を返す(前置インクリメント)。

  • デクリメント演算子: 「--」は、変数の値を1だけ減少させる。インクリメント演算子と同様に、x--は後置デクリメント、--xは前置デクリメントである。

  • 論理否定演算子: 「!」または「not」は、論理値を反転させる。例えば、!truefalseを返し、!falsetrueを返す。Pythonではnot Trueと記述する。

  • ビット否定演算子: 「~」は、ビット単位で数値を反転させる。例えば、~5は、数値5の二進数表現の各ビットを反転させた値を返す。

  • 型キャスト演算子: 一部の言語では、変数の型を一時的に変換するために単項演算子を使用する。例えば、C言語では(int)3.14のように記述し、浮動小数点数3.14を整数に変換する。

単項演算子の優先順位は、言語によって異なる場合があるが、一般的には二項演算子よりも優先順位が高いことが多い。これは、例えば-x + yという式において、まず-xが評価され、その結果にyが足されることを意味する。括弧を使用することで、演算の優先順位を明示的に指定できる。

単項演算子は、コードを簡潔に記述し、可読性を向上させるために役立つ。特に、変数のインクリメントやデクリメント、論理的な条件の反転など、頻繁に行われる処理を簡潔に表現できる。しかし、過度な使用はコードの可読性を損なう可能性があるため、適切なバランスを考慮する必要がある。

例えば、C言語で以下のようなコードがあったとする。

1int x = 5;
2int y = -x; // y は -5 になる
3x++; // x は 6 になる
4int z = !0; // z は 1 になる (0 は偽、0以外は真と評価される)

この例では、符号演算子-でxの符号を反転し、インクリメント演算子++でxの値を1増やし、論理否定演算子!で0(偽)を真(1)に変換している。

単項演算子は、プログラミングの基本的な概念の一つであり、システムエンジニアを目指す上で理解しておくべき重要な要素である。各種プログラミング言語における単項演算子の種類や優先順位、具体的な使用例を理解することで、より効率的で可読性の高いコードを書けるようになるだろう。

関連コンテンツ