Java程序流程控制循环结构
Java提供了while、do……while和for等3种循环结构语句。如果事先不知道循环次数,一般采用while语句和do……while语句,for语句一般用于事先知道循环次数的情况。其中while语句可能一次循环都不执行,do……while语句至少执行一次循环语句。for语句是先自增或自减,再返回原值。在这三种循环语句中可以使用break语句和continue语句,其中break语句(跳转语句)表示可以跳出当前循环,continue语句表示可以停止运行该语句之后的循环体内语句,回到循环开始处继续运行。这三种循环语句在一些情况下可以嵌套使用,例如for语句中可以嵌套for语句、while语句、do……while语句,其他两种同理也可以嵌套使用。
如下用三种循环语句解决同一问题:计算1~1000能被7和11同时整除的整数之和。
用for语句计算1~1000能被7和11同时整除的整数之和:
package com.stu.yc;
public class Test {
public static void main(String[]args){
int sum = 0;
for(int i = 1;i <= 1000;i++){
if((i%7 == 0) && (i%11 == 0))
sum = sum + i;
}
System.out.println(sum);
}
}
用while语句计算1~1000能被7和11同时整除的整数之和:
package com.stu.yc;
public class Test {
public static void main(String[]args){
int sum = 0;
int i = 1;
while(i <= 1000){
if((i % 7 == 0) && (i % 11 == 0))
sum = sum +i;
i++;
}
System.out.println(sum);
}
}
用do……while语句计算1~1000能被7和11同时整除的整数之和:
package com.stu.yc;
public class Test {
public static void main(String[]args){
int sum = 0;
int i = 1;
do{
if((i % 7 == 0) && (i % 11 == 0))
sum = sum + i;
i++;
}while(i <= 1000);
System.out.println(sum);
}
}
水仙花数是指一个三位整数的个位、十位、百位3个数的立方和等于该数本身,求出所有水仙花数。例如。153 = 111 + 555 + 333,153是水仙花数。
package com.stu.yc;
public class Test {
public static void main(String[]args){
int y;
for(int i = 100;i <= 999;i++){
y = i;
int a = y /100;
int b = y / 10 % 10;
int c = y % 10;
if(i == (a*a*a+b*b*b+c*c*c))
System.out.println(i);
}
}
}