ブロック
日本語 | 囲み |
英語 | block |
ふりがな | ぶろっく |
フリガナ | ブロック |
メソッドやステートメントの適用範囲。
具体的には、メソッドの宣言(シグネチャー)やステートメントの後にある「{}」で囲まれた範囲を指す。
ブロックはメソッドやステートメントの「範囲」を決定するものであり、またローカル変数のスコープを決定するものでもある。
クラス宣言の「{}」はブロックではない。
ブロックは、プログラムの「処理を行う箇所」における最も大きな単位である。
メソッドのブロックの外に処理を記述することはできない。処理はメソッドのブロック内に記述する必要がある。
ブロック内には、以下を記述することができる。
・ブロック
・ローカル変数宣言
・クラス宣言
・ステートメント
上記以外の文を記述するとコンパイルエラーとなる。
「ブロック」を動詞として使用すると、「止める」という意味となる。
上記の「ブロック」とはまったく意味が異なるため注意。
動詞の「ブロック」については「ブロックします」の項目を参照。
具体的には、メソッドの宣言(シグネチャー)やステートメントの後にある「{}」で囲まれた範囲を指す。
ブロックはメソッドやステートメントの「範囲」を決定するものであり、またローカル変数のスコープを決定するものでもある。
クラス宣言の「{}」はブロックではない。
ブロックは、プログラムの「処理を行う箇所」における最も大きな単位である。
メソッドのブロックの外に処理を記述することはできない。処理はメソッドのブロック内に記述する必要がある。
ブロック内には、以下を記述することができる。
・ブロック
・ローカル変数宣言
・クラス宣言
・ステートメント
上記以外の文を記述するとコンパイルエラーとなる。
「ブロック」を動詞として使用すると、「止める」という意味となる。
上記の「ブロック」とはまったく意味が異なるため注意。
動詞の「ブロック」については「ブロックします」の項目を参照。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
// 似ていますが、基本的にクラスを囲む{}は
// ブロックとは言いません。
public static void main( String[] args )
{
// main()メソッドのブロック、ここから。
for( int iF1 = 0; iF1 < 1; iF1++ )
{
// forループのメソッド、ここから。
// ...
// forループのメソッド、ここまで。
}
// メソッドやステートメントがなくても
// ブロックは作れます。
{
// ...
}
// {の数が多いとこんなコンパイルエラー。
// {
// コンパイルエラー:
// アンマッチの大括弧
// (ただし、エラーの位置は3行目に出ます)
// }の数が多いとこんなコンパイルエラー。
// }
// コンパイルエラー:
// アンマッチの大括弧
// トークン "}" に構文エラーがあります。正しくは "interface", "class" です。
// (ただし、エラーの位置は40行目に出ます)
// ブロック内には、以下の4つを記述することができます。
// ・ブロック
{}
// ・ローカル変数宣言
int i;
// ・クラス宣言
class InMethodClass{}
// ・ステートメント
i = 100;
// この4つ以外は記述できません。
// たとえばメソッドの宣言及び定義はできません。
// void inMethodMethod(){}
// コンパイルエラー:
// トークン "(" に構文エラーがあります。正しくは ";" です。
// main()メソッドのブロック、ここまで。
}
}
public class Sample
{
// 似ていますが、基本的にクラスを囲む{}は
// ブロックとは言いません。
public static void main( String[] args )
{
// main()メソッドのブロック、ここから。
for( int iF1 = 0; iF1 < 1; iF1++ )
{
// forループのメソッド、ここから。
// ...
// forループのメソッド、ここまで。
}
// メソッドやステートメントがなくても
// ブロックは作れます。
{
// ...
}
// {の数が多いとこんなコンパイルエラー。
// {
// コンパイルエラー:
// アンマッチの大括弧
// (ただし、エラーの位置は3行目に出ます)
// }の数が多いとこんなコンパイルエラー。
// }
// コンパイルエラー:
// アンマッチの大括弧
// トークン "}" に構文エラーがあります。正しくは "interface", "class" です。
// (ただし、エラーの位置は40行目に出ます)
// ブロック内には、以下の4つを記述することができます。
// ・ブロック
{}
// ・ローカル変数宣言
int i;
// ・クラス宣言
class InMethodClass{}
// ・ステートメント
i = 100;
// この4つ以外は記述できません。
// たとえばメソッドの宣言及び定義はできません。
// void inMethodMethod(){}
// コンパイルエラー:
// トークン "(" に構文エラーがあります。正しくは ";" です。
// main()メソッドのブロック、ここまで。
}
}
// Sample.java public class Sample { // 似ていますが、基本的にクラスを囲む{}は // ブロックとは言いません。 public static void main( String[] args ) { // main()メソッドのブロック、ここから。 for( int iF1 = 0; iF1 < 1; iF1++ ) { // forループのメソッド、ここから。 // ... // forループのメソッド、ここまで。 } // メソッドやステートメントがなくても // ブロックは作れます。 { // ... } // {の数が多いとこんなコンパイルエラー。 // { // コンパイルエラー: // アンマッチの大括弧 // (ただし、エラーの位置は3行目に出ます) // }の数が多いとこんなコンパイルエラー。 // } // コンパイルエラー: // アンマッチの大括弧 // トークン "}" に構文エラーがあります。正しくは "interface", "class" です。 // (ただし、エラーの位置は40行目に出ます) // ブロック内には、以下の4つを記述することができます。 // ・ブロック {} // ・ローカル変数宣言 int i; // ・クラス宣言 class InMethodClass{} // ・ステートメント i = 100; // この4つ以外は記述できません。 // たとえばメソッドの宣言及び定義はできません。 // void inMethodMethod(){} // コンパイルエラー: // トークン "(" に構文エラーがあります。正しくは ";" です。 // main()メソッドのブロック、ここまで。 } }
「みだし」に含まれているページ
「解説」に含まれているページ
- break
- case
- close
- continue
- default
- do-while
- finally
- for
- forステートメント
- for初期化ステートメント
- staticブロック
- static初期化ブロック
- static初期化子
- switch
- switchステートメント
- synchronized
- synchronizedブロック
- synchronizedメソッド
- whileステートメント
- {
- インデント
- スコープ
- ステートメント
- タブ
- タブ文字
- デッドロック
- トランザクション
- ネスト
- バイト入力ストリーム
- バイト出力ストリーム
- ブロック
- ブロックします
- ブロック修飾子
- モジュール
- ラベルステートメント
- ロック
- ローカルクラス
- ローカル変数
- ローカル変数宣言
- ローカル変数宣言ステートメント
- 修飾子
- 入れ子
- 再帰呼び出し
- 同期
- 変数
- 変数宣言
- 抜ける
- 文字入力ストリーム
- 文字出力ストリーム
- 空ステートメント
- 評価
「サンプルプログラムとか」に含まれているページ
- :
- break
- case
- catch
- continue
- default
- do-while
- doステートメント
- else
- for
- forステートメント
- for初期化ステートメント
- if
- return
- staticブロック
- static初期化ブロック
- switch
- switchステートメント
- synchronizedブロック
- whileステートメント
- {
- インスタンス初期化ブロック
- スコープ
- デッドロック
- ネスト
- ブロック
- ブロックします
- ブロック修飾子
- ラベル
- ラベルステートメント
- ロック
- ローカルクラス
- ローカル変数
- ローカル変数宣言
- ローカル変数宣言ステートメント
- 入れ子
- 寿命
- 空ステートメント