開発者が知っておくべき「かっこ」の違い【後編】
プログラミングにおける3種類のかっこ、()[]{}の混同しがちな使い方
エンジニアがソースコードでよく目にする「丸かっこ」「角かっこ」「波かっこ」には、それぞれどのような役割があるのか。実際のソースコードを例に挙げて、主要な役割を解説する。
「Java」「C++」「C#」などのプログラミング言語で書かれたソースコードには、さまざまな記号が登場する。中でも混同しやすいのが「かっこ」だ。「()」で表される「丸かっこ」、「[]」で表される「角かっこ」、「{}」で表される「波かっこ」は、ただ文字列をくくるだけの存在ではない。プログラミングにおいて、これら3種類のかっこが一般的にどう使われているのかを解説しよう。
実例で学ぶかっこの使い方
丸かっこ()の使い方
併せて読みたいお薦め記事
連載:開発者が知っておくべき「かっこ」の違い
プログラミング言語の文法
Javaをはじめとするプログラミング言語では、一般的にメソッド(機能)を使用するときに丸かっこを使う。以下のJavaサンプルプログラムでは、「doSomething」メソッドを定義している。doSomethinsは2つの引数「round」「brackets」を受け取るメソッドであることを定義するために、丸かっこを用いている。
public void doSomething(String round, int brackets){
return 0;
}
メソッドを呼び出すときにも、丸かっこを使う。以下はdoSomethingを呼び出すサンプルプログラムだ。int型の変数「x」には、doSomethingの実行結果である「0」が代入される。
int x = doSomething("data", 42);
角かっこ[]の使い方
プログラミング言語において、一般的に角かっこは配列を定義する際に使う。以下はJavaのサンプルプログラムだ。文字列(String)型の配列を宣言し、その中に「I」「need」「arrays」という3つの値を格納して初期化している。配列は、同じ型の変数をまとめたデータ群を指す。
String[] data = {"I", "need", "arrays"};
一部のプログラミング言語では、角かっこの中に範囲を記述することで、配列の一部を取り出すこともできる。以下はC#のサンプルプログラムだ。1行目では、1~10の整数を初期値に持つint型の配列を、変数「array」に代入している。2行目では、arrayから配列の一部を取得する際に、角かっこを使って範囲を指定している。「[2..^4]」が範囲を指定する部分だ。「..」は範囲を指定するための「範囲演算子」で、左側に範囲の始点、右側に範囲の終点を置く。この場合は「2」が部分配列の開始インデックス(配列のインデックスは「0」から始まるため、「2」は3番目を指す)だ。「^」は配列の末尾から手前に何個数えた位置にあるのかを指定する。「^4」は「末尾から4番目の要素の手前」を指すので、「arrayの『3番目』から『末尾から数えて4番目の手前』」、つまりarrayの3~6番目の要素を値に持つ部分配列(3~6)を取得できる。取得した部分配列は、変数「slice1」に代入される。
var array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var slice1 = array[2..^4];
配列だけではなく、データや操作をまとめた「オブジェクト」のプロパティ(属性)や、コレクション(オブジェクトの集合体)の要素にアクセスする際にも角かっこを使う。以下のC#のサンプルプログラムは、文字列をキーに持つコレクション「Dictionary」型の変数「data_dictionary」を扱っている。変数「value」には、「key」という値をキーに持つdata_dictionary内の値を代入している。
value = data_dictionary['key']
波かっこ{}の使い方
Javaや「C」などのプログラミング言語では、クラス(オブジェクトの設計図)、メソッド、ループなどのまとまりの開始と終了を定義するために波かっこを使用する。波かっこに囲まれた範囲が、その中にある変数やメソッドが有効な範囲(スコープ)となる。
例えばクラスCの定義において、変数xを定義したとき、変数xのスコープはクラスC全体になる。xが外部から参照できるような指示を与えなければ、クラスCの外からは参照できない。これと同様に、メソッド内で定義された変数も、標準ではメソッドの中からしかアクセスできない。「for」「while」といったループ構造の開始と終了を示す波かっこの中で定義された変数は、そのループ内がスコープとなる。
ここまでに取り上げた3種類のかっこの名称を知らないからといって、誰かに指摘されることはほとんどない。実際、「パーレン」「大かっこ」「カーリーブラケット」などの別の呼び方も開発者の会話に登場する。とはいえ、さまざまなプログラミング言語の記号や成果物に関する専門用語を知っておくのは良いことだ。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[横河レンタ・リース株式会社] 不正アクセス被害が深刻化 狙われる「セキュリティの死角」はどこなのか? -
製品資料
[NTTインテグレーション株式会社] 2026年度末開始の「SCS評価制度」をどう攻略する? -
製品資料
[NTTインテグレーション株式会社] 「復旧せよ」の決断に即答できる? いま必要な戦略的データ復旧の極意 -
製品資料
[NTTインテグレーション株式会社] SCS評価制度は「共通のモノサシ」になる? いま製造業がすべきこととは -
事例
[Extreme Networks株式会社] BYOD時代の大学のWi-Fi、安定した通信環境をどう実現する?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
みずほ証券が「液冷サーバ」を採用 1日3.6億件の計算を支えるための要件
-
4
SAP導入後も残る“Excel依存” 京急電鉄は「kintone」でどう解消した?
-
5
「オフィス移転・刷新に伴うネットワーク環境の実態」に関するアンケート
-
6
「業務PC/ワークステーション」に関するアンケート
-
7
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
8
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
9
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
10
シャトレーゼを悩ませる偽メール 混乱なしでBIMI導入とDMARC強化を実現した方法
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー