
いつもお世話になります。
以前あるソースコードを眺めていたら、中カッコ{}だけの記述をしているのを見かけました。
例えば、
public class Test {
public static void main(String args[]) {
{
String s = "ああああああああ";
System.out.println(s);
}
}
}
のような感じで、{から始まり何かの処理を書いて}で閉じるというようなもので、if文やfor文などなくいきなり中カッコで記述するというものです。
このような書き方ができるのは初めてしったのですが、このような書き方は何かの呼ばれ方があるのでしょうか、
またこのように書くことによって何かメリットはあるのでしょうか。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
> 書き方は何かの呼ばれ方があるのでしょうか、
単に「ブロック」もしくは「コードブロック」で良いと思います。
> またこのように書くことによって何かメリットはあるのでしょうか。
変数の有効範囲(スコープ)を限定する働きが有ります。
下記のコードはちゃんと動きますが、内側の{}を外してしまうと変数sが二重宣言となってしまうのでコンパイルエラーになります。
public class Test {
public static void main(String args[]) {
{
String s = "ああああああああ";
System.out.println(s);
}
{
String s = "いいいいいいいい";
System.out.println(s);
}
}
}
No.1
- 回答日時:
推測ですが、Javaの変数のスコープはブロック({})単位なので、変数のスコープを指定したいとか?
あと、VisualStudioではブロック単位でコードの表示・非表示を制御できるので、それ絡みかなぁ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaで日本語の出力が文字化けする
-
processingである処理をした画...
-
インタフェイス実装と抽象クラ...
-
JSP/Servletのパラメータの受け...
-
Javaでlog4jを使ってログ出力を...
-
System.exit()の値を取得したい
-
中カッコ{}だけの記述について
-
オブジェクトの中のプロパティ...
-
C言語のポインターに関する警告
-
動的配列が存在(要素が有る)か...
-
例外でBeanUtils.populateが、...
-
ORA-01858: 数値を指定する箇所...
-
C#の質問
-
Java配列でNullPointerExceptio...
-
ページング
-
変数を動的に作るには?
-
大量のデータを読み込んで表示...
-
VBAで配列の計算
-
IF関数でEmpty値を設定する方法。
-
ループ処理の際、最後だけ","を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
変数を動的に利用するには?
-
コンストラクタの引数の中のnew?
-
System.exit()の値を取得したい
-
インタフェイス実装と抽象クラ...
-
JSP/Servletのパラメータの受け...
-
GetterとSetterをやったのに。
-
中カッコ{}だけの記述について
-
【java】同ディレクトリ別ファ...
-
NoSuchMethodErrorが解決できま...
-
Javaでlog4jを使ってログ出力を...
-
getActualMaximum(Calendar.DAY...
-
javaのprivate finalメンバにつ...
-
コンストラクタについて
-
オーバーライド
-
継承プログラムについて
-
javaのプログラミングで作るRPG...
-
Vectorを用いた問題
-
javaのコンパイルエラーについ...
-
考えてもちっともいい案が出て...
おすすめ情報