循环结构
一、for循环
//for(①初始化部分;②条件部分;④迭代部分){
③循环体部分;
}
//执行过程:①②③④②③④②③④...②
for (int i= 0; i<3;i++){
System.out.println("读书...");
}
练习一、计算1-100之间自然数的和
int sum = 0;//存储相加后的结果
//1.i=1
//2.i <= 3?
//3.sum = sum + i
//4.i++
//5.i <=3?
//6.sum = sum + i
for (int i=1; i<=3;i++){
sum = sum + i;
}
System.out.println("1-100之间的和为:"+sum);
练习二、打印输出0-50之间可以被三整除的数
for (int i=0; i<=50;){
if (i%3==0){
System.out.println("i:"+i);
}
}
练习三、打印1-100之间所有奇数的和
int sum1 = 0;
for (int i=0; i<100;i++){
if (i%2 == 1){
sum1=sum1+i;
}
}
System.out.println("wei:"+sum1);
//练习4、系统随机生成一个0-100之间的自然数,作为幸运数字,让玩家猜这个数字
//例如:随机的幸运数字是30;
//请输入[0,100]之间的自然数:50
//请输入[0,50]之间的自然数:25
//请输入[25,50]之间的自然数:30
//Wonderful!!!结束游戏
public static void main(String[] args){
double v = Math.random() = 100;//导入随机数random模块
int luckyNumber = (int)v
System.out.println("luckyNumber = "+ luckyNumber)
Scanner scanner = new Scanner(System.in)
int min = 0;
int max = 100;
for(;;){
System.out.println("请从["+ min +","+ max + "]之间选一个幸运数字:")
int num = scanner.nestInt();
if (num > max || num < min){
continue;
}
System.out.println("num = "+ num)
if(num > luckyNumber){
max = num;
}else if (num < luckyNumber){
min=num
}else{
System.out.println("WONDERFUL!!!END")
break;
}
}
scanner.close();
}
//练习5、在控制台输出所有的水仙花数
//水仙花数:所谓水仙花数是指一个三位数,其各位数字的立方和等于该数的本身
//举例:153是一个水仙花数;1*1*1+5*5*5+3*3*3=1+125+27=153
public static void main(String[] args){
for(int i = 100;i <1000;i++){
int single = i % 10;//个位
int decade = i /10 %10;//十位
int hundred = i/100;//百位
int tmp = single * single * sngle + decade * decade * decade + hundred * hundred * hundred;
double tmp = Math,pow(single,3)+Math.pow(decade,3)+Math,pow(hundred,3);
if (tmp == i){
System.out.println("i = "+ i);
}
}
}
break语句
for (int i=0; i<=50;){
if (i%3==0){
break;//结束for循环,跳出for循环
}System.out.println("i:"+i);
}
continue语句
for (int i=0; i<=50;){
if (i%3==0){
continue;//继续,用于循环语句,表示结束本次循环,继续下一次循环
}System.out.println("i:"+i);
}
死循环
for循环
for(;;){
//循环体,根据实际需求结束循环
}
嵌套循环结构
1.将一个循环放在另一个循环体内,就形成了嵌套循环
2.实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的
循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始外层循环的下一次循环。
3.设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n、次。
int count = 0;
for(int i = 0;int<5; i++){
for(int j = 0;j<2;j++){
count++;
}
}
System.out.println("count = "+ count);
二、while循环
while循环语句用法比for语句用起来简单,格式也对的简单;
//while(判断条件){
//循环体
//}
public class WhileTest {
public static void main(String[] args) {
int i=1;
while (i<=10) {
System.out.println("你好"+i);
i++;
}
}
}
/*输出
你好1
你好2
你好3
你好4
你好5
你好6
你好7
你好8
你好9
你好10
*/
//while(true){
//循环体
//}
//这样的好处是一直循环,不会停止。
public class WhileTest {
public static void main(String[] args) {
int i=1;
while (true) {
System.out.println("你好");
}
}
}
/*输出
你好
你好
你好
你好
你好
你好
你好
......
*/
三、do-while循环
do while 是先执行循环体语句,然后进行判断语句,就是说无论判断是否为true都会至少执行一次循环体语句。
//do{
//循环体
//}while(判断语句);
public class WhileTest {
public static void main(String[] args) {
int i=1;
do {
i++;
System.out.println(i);
} while (i<1);
}
}
//输出
//2
循环语句的四个组成部分
- 初始化部分
- 循环条件部分
- 循环体部分
- 迭代部分