Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
Objective-C运算符优先级与结合性速查对照表
収録した構文の参考表で、コンパイラーや例の実行検証ではありません。番号はサイト内のグループです。使用する言語の版、型、評価規則は仕様で確認してください。例のコードと文字列は原文を保ちます。 出典
[]後置演算子とアクセス左結合Objective-Cの添字アクセス、または角括弧によるメッセージ送信です。
items[index] / [view setNeedsLayout]()後置演算子とアクセス左結合括弧は式のグループ化、または引数を伴う呼び出しに使われます。
(a + b) * c / NSLog(@"%@", text).後置演算子とアクセス左結合フィールド、属性、メソッドなどを名前で参照します。
point.x / object.title->後置演算子とアクセス左結合ポインターが指すオブジェクトのメンバーにアクセスします。
node->nexta++後置演算子とアクセス左結合更新前の値を式で使い、その後1増やします。
index++a--後置演算子とアクセス左結合更新前の値を式で使い、その後1減らします。
index--+a単項演算右結合単項のプラス演算です。型変換や型の昇格は言語によって異なります。
+count-a単項演算右結合値の符号を反転します。
-offset++a単項演算右結合先に1増やし、更新した値を式で使います。
++index--a単項演算右結合先に1減らし、更新した値を式で使います。
--index(type)単項演算右結合式の値を指定した型へ変換します。対応する変換と精度は言語・型で異なります。
(UIView *)sender*a単項演算右結合ポインターの参照先の値にアクセスします。
*buffer&a単項演算右結合アドレスを取得します。アドレスを持てる対象の制約は言語の規則に従います。
&error!単項演算右結合真偽の判定を反転します。
!isHidden~単項演算右結合各ビットを反転します。整数の幅や対応する型は言語に依存します。
~masksizeof単項演算右結合型または式のサイズをバイト単位で求めます。文字列の長さではありません。
sizeof(CGPoint)*乗除算・剰余左結合左右の値を掛け合わせます。
width * scale/乗除算・剰余左結合左の値を右の値で割ります。整数の丸め方は言語と型に依存します。
total / count%乗除算・剰余左結合除算の余りです。負数の結果や対応する型は言語の規則を確認してください。
index % 2+加減算左結合値を加算します。ポインターや演算子のオーバーロードは言語の規則に従います。
x + y-加減算左結合右の値を左の値から引きます。
max - min<<シフト演算左結合ビットを指定数だけ左に移動します。負の移動量や幅を超える移動の規則を確認してください。
1 << bit>>シフト演算左結合ビットを右に移動します。符号拡張などの動作は言語と型に依存します。
flags >> 1>関係演算左結合左辺が右辺より大きいか比較します。
count > limit>=関係演算左結合左辺が右辺以上か比較します。
count >= minimum<関係演算左結合左辺が右辺より小さいか比較します。
index < total<=関係演算左結合左辺が右辺以下か比較します。
index <= lastIndex==等価比較左結合言語の等価性の規則に従って左右の値を比較します。
status == 200!=等価比較左結合左右が等価でないか比較します。
object != nil&ビット演算左結合対応するビットが両方1の場合に1となります。
options & NSCaseInsensitiveSearch^ビット演算左結合対応するビットが異なる場合に1となります。
mask ^ flag|ビット演算左結合対応するビットの少なくとも一方が1の場合に1となります。
UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight&&論理演算左結合左辺が偽と判定される場合は右辺を評価しません。戻り値の型は言語に依存します。
view != nil && !view.hidden||論理演算左結合左辺が真と判定される場合は右辺を評価しません。戻り値の型は言語に依存します。
cached || [self reloadData]?:条件演算右結合条件に応じて二つの式の一方を選びます。
title.length ? title : @"Untitled"=代入演算右結合右辺の値を左辺に代入します。式として使えるかは言語に依存します。
self.title = title/=代入演算右結合除算した結果を左辺に書き戻します。
scale /= 2*=代入演算右結合乗算した結果を左辺に書き戻します。
height *= ratio%=代入演算右結合剰余の結果を左辺に書き戻します。
index %= count+=代入演算右結合加算した結果を左辺に書き戻します。
x += delta-=代入演算右結合減算した結果を左辺に書き戻します。
remaining -= used<<=代入演算右結合左シフトの結果を左辺に書き戻します。
flags <<= 1>>=代入演算右結合右シフトの結果を左辺に書き戻します。
flags >>= 1&=代入演算右結合ビットANDの結果を左辺に書き戻します。
options &= allowed^=代入演算右結合ビットXORの結果を左辺に書き戻します。
mask ^= flag|=代入演算右結合ビットORの結果を左辺に書き戻します。
options |= UIViewAnimationOptionCurveEaseInOut,カンマ演算左結合式を順に評価します。引数や初期化子を区切るコンマとは区別します。
i++, j--概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
Objective-Cの式を読むとき、似た記号の意味や、複数の演算子が並ぶ式のまとまり方を確認したいことがあります。このページでは収録された演算子・構文項目を一覧し、記号、名前、説明、コード例、優先度番号をキーワードで検索できます。カテゴリと結合性でも絞り込め、各項目には説明とコード例が表示されます。記号や例はコピーして手元のコードと見比べられます。
たとえば「&&」を検索すれば論理積の項目を、「ビット」なら関連するビット演算を探せます。カテゴリが分かっている場合は先に選ぶと、候補を絞りやすくなります。
優先度は、異なる演算子が同じ式にあるとき、どの部分がひとまとまりになるかを判断する手掛かりです。たとえば乗算は加算より先に結び付くため、2 + 3 * 4 は 2 + (3 * 4) と解釈します。したがって数値例では 14 です。括弧を加えた (2 + 3) * 4 なら、括弧内を先にまとめます。
画面の優先度番号はこの一覧内で検索・比較するための表示番号で、番号が小さいほど高い優先度を表します。言語規格で定められた番号ではありません。Cの文法では演算子の優先度や結合性は式の文法から読み取ります。結合性は同じ優先度の演算子が続くときのグループ化を示し、たとえば a - b - c は (a - b) - c、代入式 a = b = c は a = (b = c) の形にまとまります。
ただし、式がどうグループ化されるかと、各部分が実際に評価される順序は別の話です。副作用を含む複雑な式は結合性だけから実行順を推測せず、括弧で意図を明示してください。
一覧にはC由来の演算子に加えて、Objective-Cで使うメッセージ式やプロパティのドット記法に関する項目も含まれます。角括弧は配列などの添字表記にも、オブジェクトへメッセージを送る表記にも使われるため、周囲のコードを見て意味を判断します。AppleのObjective-C資料は、メッセージ式の角括弧とアクセサー呼び出しのドット構文を説明しています。
GNU C Language Manual「Binary Operator Grammar」はCの二項演算子の文法上のまとまり方を確認する資料です。Apple Developer Documentation「Objects, Classes, and Messaging」はObjective-Cのメッセージ式とドット構文を説明しています(いずれも2026年10月1日確認)。これらは一覧の読み方を補う資料であり、このページの収録内容全体が特定バージョンの完全な仕様であることを示すものではありません。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
演算子の記号、名前、説明文、コード例、画面の優先度番号のいずれかを入力します。記号で見つからない場合は、「代入」「論理」「シフト」など意味の語でも検索できます。
乗除算、比較、ビット演算などが分かっていれば該当カテゴリを選びます。分類が不明なら「すべて」のまま検索してください。
左結合・右結合などの表示を確認し、同じ優先度の項目が式のどの範囲をまとめるか考えます。例の記号またはコードをコピーして、括弧を補った形と比較できます。
該当なしの場合は入力語を短くするか、カテゴリと結合性を「すべて」に戻します。候補が複数残ったら、各項目の説明とコード例で用途を見分けます。
活用例
仕事や日常の流れの中での活用方法を紹介します。
比較と論理演算が混在した条件を読むとき、各演算子を検索して優先度を確認し、意図するグループ化を括弧で示せます。
メッセージ式、プロパティ記法、C由来の演算子を行き来しているとき、記号や説明から該当する項目を探し、短い例を手元のノートに転記できます。
代入の連鎖や前置・後置の違いを読む際、項目の説明と結合性を照合し、実際の式には読み手が迷わない括弧を付ける判断材料にできます。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
いいえ。このページ内で順序を見分けるための表示番号です。仕様書に共通の番号として定められたものではありません。
結合性が示すのは式のグループ化です。副作用を含む部分の実行順まで保証する表示ではありません。必要な意図は括弧や別々の文で表現し、対象言語の規則も確認してください。
どちらにも使われます。配列やコレクションの要素を指定する場合と、受け手にメッセージを送るObjective-Cの構文の場合があるため、括弧内と前後のコードから判断します。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
このページは収録項目を検索するための参考表で、コンパイラーや構文検査器ではありません。言語仕様の全項目、すべてのコンパイラー・SDKの版、拡張構文を網羅する保証はありません。項目の説明や例を実際のコードに適用する前に、対象環境の仕様とコンパイラーの診断を確認してください。
優先度と結合性だけでは、型変換、短絡条件、演算子の副作用、式の評価順序までは判断できません。特に複数の変更操作を一つの式に詰め込まず、必要に応じて括弧でグループを明示してください。前置と後置のインクリメント・デクリメントは別の構文項目として見比べ、掲載された優先度だけで動作全体を推測しないでください。
関連
関連ツール、特集、利用可能なAPIを探せます。