1 for循环结构@TOC
1.1 循环结构的组成:@TOC
初始化语句:循环开始的起始状态 ;可以是一条还是多条语句,语句可以完成一些初始化操作
条件判断语句:用于循环反复执行的条件 ;使用一个boolean类型的表达式,决定是否执行循环体
循环体语句:循环反复执行的内容 ;任意语句 可反复执行
条件控制语句:循环执行中每次变化的内容 ;通常使用一条语句来改变变量的值,从而达到控制循环体是否继续向下执行下去,例如i++,i–;
1.2 for循环的格式@TOC
格式
for (初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
执行流程:
1 执行初始化语句
2 执行条件判断语句,看其结果是true还是false
如果是true,循环执行
如果是false,循环结束
3 执行循环体语句
4 执行条件控制语句
5 回到2继续
注意:明确循环次数一般推荐for
例子:
public class ForDome{
public static void main(String[] args){
for(int i=1;i<=5;i++){
System.out.println(“你好呀”);
}
}
}
运行结果:
求偶数和
public class Test3{
public static void main(String[] args){
int sum = 0;
for (int i = 1;i<=100;i++){
if(i%2==0){
sum+= i;
}else{
sum = sum;
}
}
System.out.println("1-100的偶数和为:"+sum);
}
}
运行结果:
水仙花数:
public class ShuiXianHua*2 while 循环语句*@TOC
格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
执行流程:
1 执行初始化语句
2 执行条件判断语句,看其结果是true还是false
如果是true,循环执行
如果是false,循环结束
3 执行循环体语句
4 执行条件控制语句
5 回到2继续
注意:不明确循环次数一般推荐while
public class Test1{
public static void main(String[] args){
int i = 1;
while(i<=100){
System.out.println(i);
i++;
}
}
}
3 do while循环语句
初始化语句;
do{
循环语句体;
条件控制语句;
}while(条件判断语句);
执行流程:
1 执行初始化语句
2 执行循环体语句
3 执行条件控制语句
4执行条件判断语句,看其结果是true还是false
如果是true,循环执行
如果是false,循环结束
5 回到2继续
public class Test1{
public static void main(String[] args){
int i = 1;
do{
System.out.println("你好世界");
i++;
}while(i<=10);
}
}
4 三个循环的区别
for、while先判断后执行
do while 先执行后判断
for和while的区别
条件控制语句所控制的自增变量,因为归属于for循环的语法结构中,在佛for循环结束后,就不能再次被访问到了
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,改变了还可继续使用
三种循环的场景
明确循环次数,推荐使用for循环
不明确循环次数,推荐使用while循环
do…while循环,很少使用
5 死循环
for(;😉{
System.out.println(“死循环了”);
}
while(true){
System.out.println(“死循环了”);
}
do{
System.out.println(“死循环了”);
}while(true)
6 跳转控制语句
public class ClimbStairs{
public static void main(String[] args){
for(int i =1;i<=24;i++){
if(i==4){
continue;
}
System.out.println(i+"层到了");
}
}
}
标号名:while(true){
switch(){
case 1:
break 标号名;
}
}
import java.util.Scanner;
public class LoseWeight{
public static void main(String[] args){
lo:while(true){
System.out.println("输入你减肥的星期数");
System.out.println("如果不需要,请输入0");
Scanner sc = new Scanner(System.in);
int week = sc.nextInt();
switch(week){
case 0:
break lo;
case 1:
System.out.println("跑步");
break;
case 2:
System.out.println("爬山");
break;
case 3:
System.out.println("走路");
break;
case 4:
System.out.println("撸铁");
break;
case 5:
System.out.println("瑜伽");
break;
case 6:
System.out.println("跳舞");
break;
case 7:
System.out.println("休息");
break;
default:
System.out.println("你输入的星期数有误");
}
}
}
}
``
**7 Random**
产生一个随机数
1 导包 import java.util.Random
2 Random r = new Random();
int number = r.nextInt(10);//0-9
```java
import java.util.Scanner;
import java.util.Random;
public class GuessNumber{
public static void main(String[] args){
Random r = new Random();
int number = r.nextInt(100)+1;
while(true){
System.out.println("请输入一个1-100的数");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
if(i==number){
System.out.println("输入正确,但是没有奖品");
break;
}else if(i >= number){
System.out.println("大了");
}else{
System.out.println("小了");
}
}
}
}