説明 | for文とは |
サンプル | for文のサンプル |
for文で配列の値を取得 | |
break | breakでループを抜ける |
breakを2重ループで使った場合 | |
continue | continueでループの先頭に戻る |
continueを2重ループで使った場合 | |
foreach | foreach文で配列の値を取得 |
for文とは
for(初期化式 ; 条件式 ; 増減式){ 実行される処理 } |
- 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。繰り返しはループとも呼ばれます。
- 初期化式は、最初に1回だけ実行されます。
- 使用する変数をカウンター変数またはループ変数といいます。変数名はiやjがよく使用されます。
- 条件式がtrueの間、処理を繰り返します。
- 増減式でカウンター変数/ループ変数の値が変わります。
- 条件式がfalseになるとループ処理を終了します。
for文のサンプル
for ($i = 0; $i -lt 3; $i++) {
Write-Host $i # 0 1 2が出力される
}
1行目は、初期化式($i = 0)によりiは0から始まります。
増減式($i++)によりiの値は、1ずつ増えていきます。
条件式($i -lt 3)がtrueの間は処理を繰り返し、iが3になるとfalseになるので終了します。
for文で配列の値を取得
$arr = "red", "yellow", "blue" # 配列
for ($i = 0; $i -lt $arr.Length; $i++) {
Write-Host $arr[$i] # red yellow blueが出力される
}
3行目のLengthは、配列の長さを返します。
4行目は、変数と添字で配列の値を表示しています。配列の添字は0から始まります。
breakでループを抜ける
for ($i = 0; $i -lt 3; $i++) {
if ($i -eq 1) {
break
}
Write-Host ("i =" + $i) # i=0が出力される
}
3行目のbreakでfor文を抜けます。
5行目は、i=0が出力されます。
breakを2重ループで使った場合
内側のfor文を抜けます。
for ($i = 0; $i -lt 2; $i++) {
for ($j = 0; $j -lt 2; $j++) {
if ($j -eq 0) {
break
}
Write-Host ("j =" + $j) # 出力なし
}
Write-Host ("i =" + $i) # i=0 i=1が出力される
}
1,2行目にfor文があり2重ループ(入れ子)になっています。
4行目のbreakは、内側のfor文のみ抜けます。
continueでループの先頭に戻る
for ($i = 0; $i -lt 2; $i++) {
if ($j -eq 0) {
continue
}
Write-Host ("i =" + $i) # i=0 i=2が出力される
}
3行目のcontinueでループ処理の先頭の6行目に戻ります。
5行目は、i=0 i=2が出力されます。
continueを2重ループで使った場合
内側のfor文の先頭に戻ります。
for ($i = 0; $i -lt 2; $i++) {
for ($j = 0; $j -lt 2; $j++) {
if ($j -eq 0) {
continue
}
Write-Host ("j =" + $j) # j=1 j=1が出力される
}
Write-Host ("i =" + $i) # i=0 i=1が出力される
}
1,2行目にfor文があり2重ループ(入れ子)になっています。
4行目のcontinueは、内側のfor文の先頭の2行目に戻ります。
foreach文で配列の値を取得
foreach(型 変数1 in 変数2){ 繰り返される箇所(変数1を使用) } |
- 上記for文との違いは、変数の値を加算する処理がありません。
- 配列やリストの要素を順番にアクセスします。
$arr = "red", "yellow", "blue" # 配列
foreach ($str in $arr) {
Write-Host $str
}
1行目は、配列です。
3行目は、foreach文で配列の全ての要素にアクセスします。
関連の記事