
―Javaプログラミングの前提知識―
2003/3/27
| 演算子 |
| ワンポイントQuestion |
次のプログラムを実行したときの結果として正しいものはどれですか? (単一選択)
|
|
|
| 演算子 |
Java言語で利用できる演算子は、C/C++言語とよく似ています。下表は、Java言語の演算子の一覧で、演算の優先順位の高低もあらわしています。
| 優先順位 | 演算子 | 結合性 |
| 高い | . [] () | 右 → 左 |
| ++ -- + - ~ ! (キャスト) | 右 → 左 | |
| * / % | 左 → 右 | |
| + - | 左 → 右 | |
| << >> >>> | 左 → 右 | |
| < > <= >= instanceof | 左 → 右 | |
| == != | 左 → 右 | |
| & | 左 → 右 | |
| ^ | 左 → 右 | |
| | | 左 → 右 | |
| && | 左 → 右 | |
| || | 左 → 右 | |
| ?: | 右 → 左 | |
| 低い | = *= /= %= -= <<= >>= >>>= &= ^= |= | 右 → 左 |
以下に、各演算子の詳細について演算の優先度の順に説明します。
(1)算術演算子
|
*(掛け算)、/(割り算)、%(割り算の余り)、+(足し算)、-(引き算) |
なお、前出の表中の4行目の+、-が算術演算子をあらわしており、2行目の+、-は単項演算子で符号の反転に利用します。
(2)比較演算子
|
<(小なり、〜より小さい)、>(大なり、〜より大きい) |
(3)論理演算子
|
&(論理積、AND)、|(論理和、OR)、^(排他的論理和、XOR)、!(否定、NOT) |
(4)ショートサーキット演算子
|
&&(論理積、AND)、||(論理和、OR) |
(5)ビット操作演算子
以下に、ビット操作演算子を示します。
| >> n | 符号ビット(左端の1ビット)はそのままで、左端の2ビット目からnビット右シフトし、あいた部分に符号ビットを埋めます |
| >>> n | 符号を意識せずにnビット右シフトし、あいた部分に0を埋めます |
| << n | nビット左シフトし、右端のあいた部分に0を埋めます |
| ~ n | 補数です。ビットの反転をします |
次の表は、ビット操作演算子を利用した例です。
| X | 1111 0110 1101 0011 |
| x >> 3 | 1111 1110 1101 1010 |
| x >>> 2 | 0011 1101 1011 0100 |
| x << 1 | 1110 1101 1010 0110 |
| ~x | 0000 1001 0010 1100 |
(6)再帰演算子
代表的な例を下表に示します。
| x *= y; | x = x * y; |
| x /= y; | x = x / y; |
| x %= y; | x = x % y; |
| x += y; | x = x + y; |
| x -= y; | x = x - y; |
(7)インクリメント・デクリメント演算子
以下に、インクリメント演算子とデクリメント演算子を示します。
| x++; | xを評価してからx+1に更新します |
| ++x; | x+1に更新してから評価します |
| x--; | xを評価してからx-1に更新します |
| --x; | x-1に更新してから評価します |
(8)条件演算子
|
条件式 ? trueの場合の値 : falseの場合の値 |
条件のtrue/falseの状態により1つの値を設定します。
|
|
上記の例は、w > xがtrueであればv = y;、falseであればv = z;となり、次と同様になります。
|
|
(9)instanceof演算子
左右で指定された型を比較し、一致した場合trueを、一致しない場合falseを返します。
| POINT | ||
|
インクリメント・デクリメント演算子をほかの演算子と組み合わせて使用した場合、演算子が実行される順序はその位置によって変わってきます。
[実行結果]
[実行結果] |
| ワンポイントQuestionの解答 |
正解 E
| Java2ラーニングブック
−310-035 編− 本記事は@ITハイブックスシリーズ「Java2ラーニングブック −310-035 編−」(技術評論社)から、一部の内容を編集し転載したものです。本書の詳細は「@ITハイブックス」サイトでご覧いただけます。 |
![]() |
ホワイトペーパー(TechTargetジャパン)
- Webの表示速度を遅くする「SSLハンドシェイク」とは (2010/2/9)
安全性を担保しようとWebページにSSLを適用すると、負荷の高い処理が実行される。速度と安全性は両立できるのか? - クラウド活用「雲活」のために押さえるべき39のポイント (2010/2/2)
活用するべきサービスか否か、クラウドの利点・問題点、クラウドプラットフォーム提供企業になるための条件、開発者がするべきことに分けて紹介 - 再利用性の高いクラス作成に重要な“アクセス制御” (2010/1/28)
Javaのアクセス修飾子public、private、protectedや、Eclipseで簡単に作れるアクセサメソッドgetter、setterについて解説 - DB設計の神ツール「ERMaster」なら、ここまでできる (2010/1/21)
直感的なUIに、カスタマイズ可能な、Excel出力のテーブル定義書、辞書機能など多機能なERモデリングの無料Eclipseプラグインです
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |







