for初期化ステートメント
日本語 | ~まで初期化命令 |
英語 | initialization of for statement |
ふりがな | ふぉーしょきかすてーとめんと |
フリガナ | フォーショキカステートメント |
forの「for( ここ; ; )」のこと。
forの初期化を行う箇所。
以下のいずれかを記述することができる。
・ローカル変数宣言
・式ステートメント
ローカル変数宣言は、ブロック以外では唯一行うことができる。
宣言された変数のスコープは、forステートメント内、つまりforのブロック内のみとなる。
式ステートメントは複数記述することができ、その場合には「,」を使用する。
このように特殊なルールを持つが、それ故、単純にローカル変数宣言のみを行った方が分かりやすいだろう。
forの初期化を行う箇所。
以下のいずれかを記述することができる。
・ローカル変数宣言
・式ステートメント
ローカル変数宣言は、ブロック以外では唯一行うことができる。
宣言された変数のスコープは、forステートメント内、つまりforのブロック内のみとなる。
式ステートメントは複数記述することができ、その場合には「,」を使用する。
このように特殊なルールを持つが、それ故、単純にローカル変数宣言のみを行った方が分かりやすいだろう。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// ↓これが「for初期化ステートメント」です。
for( int iF1 = 0; iF1 < 5; ++iF1 ) ;
// 通常は、ローカル変数宣言を行い、同時に初期化します。
for( int iF1 = 0; iF1 < 5; ++iF1 )
{
// 宣言したローカル変数には、ブロック内でアクセスできます。
System.out.print( iF1 + ", " );
}
System.out.println();
// 0, 1, 2, 3, 4,
// forステートメントの外ではアクセスできません。
// iF1 = 100;
// コンパイルエラー:
// iF1 は解決できません。
// 式ステートメントを記述することもできます。
// 複数記述する場合には「,」を使用します。
int iF1;
// 代入ステートメント
// ↓ プリインクリメントステートメント
// ↓ ↓
for( iF1 = 1, ++iF1; iF1 < 5; ++iF1 )
{
System.out.print( iF1 + ", " );
}
System.out.println();
// 2, 3, 4,
// それ以外、たとえばブロックは記述できません。
// for( {}; ; ) ;
// コンパイルエラー:
// トークン "{" に構文エラーがあります。正しくは ";" です。
}
}
public class Sample
{
public static void main( String[] args )
{
// ↓これが「for初期化ステートメント」です。
for( int iF1 = 0; iF1 < 5; ++iF1 ) ;
// 通常は、ローカル変数宣言を行い、同時に初期化します。
for( int iF1 = 0; iF1 < 5; ++iF1 )
{
// 宣言したローカル変数には、ブロック内でアクセスできます。
System.out.print( iF1 + ", " );
}
System.out.println();
// 0, 1, 2, 3, 4,
// forステートメントの外ではアクセスできません。
// iF1 = 100;
// コンパイルエラー:
// iF1 は解決できません。
// 式ステートメントを記述することもできます。
// 複数記述する場合には「,」を使用します。
int iF1;
// 代入ステートメント
// ↓ プリインクリメントステートメント
// ↓ ↓
for( iF1 = 1, ++iF1; iF1 < 5; ++iF1 )
{
System.out.print( iF1 + ", " );
}
System.out.println();
// 2, 3, 4,
// それ以外、たとえばブロックは記述できません。
// for( {}; ; ) ;
// コンパイルエラー:
// トークン "{" に構文エラーがあります。正しくは ";" です。
}
}
// Sample.java public class Sample { public static void main( String[] args ) { // ↓これが「for初期化ステートメント」です。 for( int iF1 = 0; iF1 < 5; ++iF1 ) ; // 通常は、ローカル変数宣言を行い、同時に初期化します。 for( int iF1 = 0; iF1 < 5; ++iF1 ) { // 宣言したローカル変数には、ブロック内でアクセスできます。 System.out.print( iF1 + ", " ); } System.out.println(); // 0, 1, 2, 3, 4, // forステートメントの外ではアクセスできません。 // iF1 = 100; // コンパイルエラー: // iF1 は解決できません。 // 式ステートメントを記述することもできます。 // 複数記述する場合には「,」を使用します。 int iF1; // 代入ステートメント // ↓ プリインクリメントステートメント // ↓ ↓ for( iF1 = 1, ++iF1; iF1 < 5; ++iF1 ) { System.out.print( iF1 + ", " ); } System.out.println(); // 2, 3, 4, // それ以外、たとえばブロックは記述できません。 // for( {}; ; ) ; // コンパイルエラー: // トークン "{" に構文エラーがあります。正しくは ";" です。 } }