Day03_流程控制语句

Day03_流程控制语句

  • 顺序结构:默认流程
  • 分支结构:if、switch
  • 循环结构:while,for

1、分支结构

1.1、if分支

if后默认内容为接下来第一行的内容

格式

//格式1
if(条件){
	语句;
}

//格式2
if(条件表达式){
    执行语句;
}else{
    执行语句;
}

//格式3
if(条件表达式){
    执行语句;
}else if(条件表达式){
 	执行语句;   
}else if(条件语句)
    .
    .
    .
  else{
      执行语句;
  }

1.2、switch分支

​ 也是匹配条件去执行分支,适合做值匹配。

String weekday = "周三";
switch(weekday){
    case "周一":
        System.out.println("埋头苦干,解决bug");
        break;
    case "周日":
        System.out.println("休息");
        break;
    default:
        System.out.println("摸鱼")
}

switch分支注意事项

  • 表达式只能是byte\short\int\char,jdk5开始支持枚举,jdk7开始支持String不支持double\long\float
  • case值不能反复出现,且只能是字面变量,不能出现变量
  • 不能忘记break,否则会出现穿透

switch的穿透性

switch穿透性的适应

int month = 7;
switch(month):{
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
    	System.out.println("三十一天");
    break;
}

2、循环结构

2.1、for循环

//格式
for(初始化语句;循环条件;迭代语句){
    循环体语句
}
//eg
for(int i =0;i < 3;i++){
   System.out.println(i);
}

//求1-5之间的数据和,并把结果输出
int sum = 0;
for(int i = 1;i < 6; i++){
    sum+=i;
}
System.out.println(sum);

//求1-10之间的奇数和,并把结果输出

int sum = 0;
for(int i = 1 ; i< 11;i++){
    if(1 == i%2){
        sum+=i;
    }
}
System.out.println(sum);

//在控制台输出所有的水仙花数
int count = 0;
for(int i == 100; i <1000; i++){
    int ge = i % 10;
    int shi = i / 10 %10;
    int bai = i / 100;
    if ( i == (ge^3 + shi^3 + bai^3)){
        System.out.println(i);
        count++;
    }
}
System.out.println(count);

2.2 、While循环

image-20220212154111455
//格式
while(循环条件){
    循环体语句;
    迭代语句;
}

//世界最高山峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度。
int count = 0;
int start = 1;
long temp = start;
long hight = 88488600;
while(temp <= hight){
    temp *= 2;
    count++;
}
System.out.prinln(count);

2.3、do-while循环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P64Ho6IX-1645156555168)(…/…/…/…/…/…/%E8%BD%AF%E4%BB%B6/Typora/upload/image-20220212154708177.png)]

//格式
do{
    循环体;
    迭代语句;
}while(循环条件);

死循环

一直循环地执行下去,没有干预就不会停止

for(;;){
    System.out.println("Hello World!!!");
}
while(true){
    System.out.println("Hello World!!!");
}
do{
    System.out.println("Hello World!!!");
}while(true);

//需求:系统密码是520,请用户不断输入密码验证系统密码是520,请用户不断的输入密码验证,验证不对输出密码错误,验证成功输出欢迎进入系统,并停止程序。
import java.util.Scanner;

public class Control01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int password;
        while(true){
            password = sc.nextInt();
            if (520 == password){
                System.out.println("欢迎进入系统");
            }
            System.out.println("密码错误!!!");
        }
    }
}

循环嵌套

​ 循环之中又包含循环

for( int i = 0; i<3;i++){
    for(int j = 0;i<5;j++){
        System.out.println("我爱你");
    }
}

//打印4行5列的矩形
for(int i = 0; i < 4;i++){
    for(int j =0;j < 5;j++){
        System.out.print("*");
    }
    System.out.println();
}

3、break与continue

  • break:跳出并结束当前所在循环的执行,或者结束所在的switch分支的执行。
  • continue:用于跳出当前循环的当次执行,进入下一次循环,只能适用于循环

4、案例技术

4.1、Random随机技术

  • 作用:用于在程序中获取随机数的技术

  • 使用步骤:

    • 导入Random包
    • 写一行代码代表获得随机数对象
    • 调用随机数的功能函数,获取随机数
  • 特点:

    • random.nextInt(X)代表获得0-X范围内的数据,不包括X

    • Random生成区间随机数的技巧加减法

      int number = random.nextInt(10)+1;

4.2、猜数字游戏

​ 随机生成一个1-100之间的数字,提示用户猜测,直到猜中结束

Random random = new Random();
int number = random.nextInt();
Scanner sc = new Scanner(System.in);
int temp;
do{
    temp = sc.nextInt();
    switch((temp - number > 0)){
        case true:
            System.out.println("过大");
            break;
        case false:
            System.out.println("过小");
            break;
        default:
            System.out.println("结果正确");
    }
}while(temp != number);

0)){
case true:
System.out.println(“过大”);
break;
case false:
System.out.println(“过小”);
break;
default:
System.out.println(“结果正确”);
}
}while(temp != number);






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值