イントロダクション
プログラミングの基本、ループ文の代表選手「For文」を学習します。これが使えるようになるとたくさんのデータを扱うことができるようになります。
FOR文の学習
Javaでのループ処理の代表選手「for文」を理解します。
for文の書き方
for (初期化 ; ループ条件 ; ループする時の処理) { // 何かしらの処理 }
というような形で実装します。具体的には下のように書きます。これは、ループを5回繰り返し0〜4をコンソールに表示するプログラムです。
基本的なFOR文
カウンター変数の「i」を0からカウントアップしていき、特定の値に達したところで終了します。
カウントアップをしている処理は「i++」の部分んです。俗にいう「インクリメント」というやつですね。。。
public static void main(String[] args) {
for(int i = 0; i < 5; i++) {
System.out.println("カウント" + i);
}
}
このような形でfor文は作ります。for文の動きは以下のようになります。1. 初期化処理=int i = 0;
が走り、int型の変数「i」が0で初期化されます。
- ループ条件=
i < 5
がtrueの時ループする。1回ループするたびに変数「i」がインクリメント「プラス1」されて「i」が0〜4まで増えます。 - 1回の処理が終わったらループする時の処理=
i++
(インクリメント)を実行する - ループ条件でfalseの時にループを抜ける
変形のFOR文
上記のものは、カウンター変数「i」が0から4まで。。。という形でしたが、次は10から6までという形のFOR文です。
上記の処理とは逆にカウントダウンしています。なので「i++」だった部分は「i--」になります。
俗にいう「デクリメント」というやつです。
public static void main(String[] args) {
for(int i = 10; i > 5; i--) {
System.out.println("カウント" + i);
}
}
FOR文の動きをまとめると下のようになります。
- int型の変数「i」が0で初期化
- 論理演算(trueかfalseが判定される(返される))「i < 5」がtrueの間ループが実行される。全体的には「i」が0〜4の間ループされるので、5回ループする
- あと処理を行う。具体的には、「{」「}」の間の処理を実行後に「i++」が実行される。1回ループすると「i」が0から1になる。
FOR文の実用例
<iframe width="618" height="498" src="https://www.youtube.com/embed/Y6BMXOXTiJM" title="javaプログラミングの初めの26歩目、メソッドを作成して使用してみました。処理内容には拡張FOR文を追加、詳細は説明に記載します。" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Y6BMXOXTiJM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
以前やった配列をよく使用します。
配列の中身を取り出して、何かしらの処理を行いたい時がよくあります。こんな時は以下のような実装を行います。
public static void main(String[] args) {
String[] arr = new String[] {"a", "b", "c"};
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i];
}
}
フロー図を書くと下のようになります。
問題
for文を使って1〜10までの合計を計算し、結果を表示するプログラムを書いてください。
<表示結果>
1+2=3 3+3=6 6+4=10 ・ ・ ・
動画でやってみると、配列を使った形ですが、下のような感じです。
他にも作成しました。
健闘を祈ります。
でわでわ。。。