Java循环应用

一、 通过for循环遍历1-100共计100个整数,求出其中偶数的和。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
* 需求:求出1-100之间偶数和
*
* 分析:
* A:定义求和变量,初始化值是0
* B:获取1-100之间的数据,用for循环实现
* C:把获取到的数据进行判断,看是否是偶数
* 如果是,就累加
* D:输出求和结果
*/
public class OuShu {
public static void main(String[] args) {
int sum = 0;
//获取1-100之间的数据,用for循环实现
for(int x=1; x<=100; x++) {
//把获取到的数据进行判断,看是否是偶数
if(x%2 ==0) {
sum += x;
}
}
System.out.println("一百以内的偶数的和是:"+sum);
}
}

二 、for循环实现在控制台打印水仙花数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
* 需求:在控制台输出所有的”水仙花数”
*
* 分析:
* 什么是水仙花数呢?
* 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
* 举例:153就是一个水仙花数。
* 153 = 1*1*1 + 5*5*5 + 3*3*3
*
* A:三位数其实就告诉了我们水仙花数的范围
* 100-999
* B:如何获取一个数据的每一个位上的数呢?
* 举例:我有一个数据153,请问如何获取到个位,十位,百位
* 个位:153%10 = 3;
* 十位:153/10%10 = 5;
* 百位:153/10/10%10 = 1;
* 千位:...
* 万位:...
* C:让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
*/
public class ForTest4 {
public static void main(String[] args) {
//通过循环获取到每一个三位数
for(int x=100; x<1000; x++) {
//获取个位,十位,百位
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
//让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
System.out.println(x);
}
}
}
}

三 、 while循环实现1-100之间数据求和

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
* 求1-100之和。
* 练习:统计水仙花个数。
*/
public class WhileTest {
public static void main(String[] args) {
//while循环实现
//定义求和变量
int sum = 0;
int x = 1;
while(x<=100) {
sum += x;
x++;
}
System.out.println("1-100的和是:"+sum);
}
}

for while do...while三种循环的区别
区别概述
虽然可以完成同样的功能,但是还是有小区别:

  • do…while循环至少会执行一次循环体。
  • for循环和while`循环只有在条件成立的时候才会去执行循环体
  • for循环语句和while循环语句的小区别:

使用区别:

  • 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了
  • while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

四、控制跳转语句练习

1
2
3
4
5
6
7
8
9
10
11
public class LoopDemo4 {
public static void main(String[] args) {
for(int x=1; x<=10; x++) {
if(x%3==0) {
break;//2次输出
//continue;//7次输出
}
System.out.println("x:"+x);
}
}
}

if语句里面是break的时候,输出如下:
输出

1
2
x:1
x:2

if语句里面是continue的时候时候,输出如下

1
2
3
4
5
6
7
x:1
x:2
x:4
x:5
x:7
x:8
x:10

通过上面的例程可以区分 breakcontinue的作用。
其中break表示结束循环continue 表示跳出本次循环