0
0

More than 3 years have passed since last update.

JAVAの繰り返し処理についてまとめてみた

Last updated at Posted at 2021-02-11

JAVAの繰り返し処理について調べてみた

今回はjavaの繰り返し処理について思いつく方法をまとめてみようと思います。

1~10の数字の合計値

1.for文

for
int sum = 0;
for (int i=0; i <=10;i++){
     sum += i;
}

一番、単純な繰り返し処理かと思われます。
int i=0でintの変数を定義して、10を超えるまでiを1ずつ増やしていく処理になってます。

2.while文

while
int sum =0;
int num = 1;
while(num<=10){
    sum +=num;
    num++;
}

条件付きでここまできたら止める繰り返し処理の時に使う書き方です。
今回みたいな範囲が決まって1ずつ足すのではfor文の方が使われるかと思います。

3.do...while文

do...while
int sum =0;
int num=1;
do{
    sum+=num;
    num++;
}while(num<11)

whileとの違いは、条件式が後ろにあるので中の処理が一度は必ず実行される点にあります。
あまり使った記憶がございません!

4.拡張for文

拡張for
int sum=0;
int numList[]= {1,2,3,4,5,6,7,8,9,10};
for(int num:numList){
    sum+=num;
}

配列の中身を一つずつ取り出してくれる処理になります。
結構便利です。

5.streamAPI

streamAPI
// 方法1
// 配列の性質を利用して計算
var i = new int[]{0};
IntStream.rangeClosed(1, 10).forEach(e -> i[0] += e); // i[0] == 55

// 方法2
// 可変な整数値を表すAtomicIntegerを使用
var i = new AtomicInteger();
IntStream.rangeClosed(1, 10).forEach(e -> i.set(i.get() + e)); // i.get() == 55

APIです。
※コメントの中で指摘いただいたので修正しました(2021/02/14)
はじめは下記を記載していたのですが、繰り返し処理といったわけではなかったのでforEachに変更しました。

int[] numList = {1,2,3,4,5,6,7,8,9,10};
int sum = Arrays.stream(a).sum();

1~10の数字の合計値をforEachで書くのはあまり適さないようです。
ただ、コードとしてスッキリしたりできるので使ってみてください。
@jababoyさんありがとうございました!

まとめ

いかかがだったでしょうか!
他にもこんな書き方あるよと知ってる方は教えてください!
使い分けていきましょう。

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0