java学习之循环语句

程序流程控制(java)

if 分支

  • if分支有三个不同的结构。
    在这里插入图片描述
    第一种格式:
    在这里插入图片描述
    执行流程:
  • 首先根据判断条件表达式的结果,如果为true,执行语句,为false就不执行语句。
    注意事项:
  • if语句中如果大括号内只有一行代码,那么大括号可以省略,不写。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
package javaday1;

import java.util.Scanner;
public class debug {
    public static void main(String[] args) {
       System.out.println("请输入考试分数:");
        Scanner sc = new Scanner(System.in);

        int score = sc.nextInt();

        if(score > 100 || score <0){
            System.out.println("您输入的分数有错误");
        }else if(score < 101 && score > 79){
            System.out.println("奖励一辆自行车");
        }else if(score > 60 && score < 80){
            System.out.println("奖励机器人");
        }else {
            System.out.println("准备被打");
        }

    }
}

switch语句

在这里插入图片描述
switch分支注意事项:

  • 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
  • case给出的值不允许重复,且只能是字面量,不能是变量。
  • 不要忘记写break,否则会出现穿透现象。

switch的case穿透

  • 如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。

case穿透的好处
存在多个case分支的功能代码是一样时,可以用穿透性把流程集中到同一处处理,这样可以简化代码。

package javaday1;
import java.util.Scanner;
public class testcase {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("please input a score:");
        int week = sc.nextInt();

        switch (week){
            case 1:
                System.out.println("week 1");
                break;
            case 2:
                System.out.println("week 2");
                break;
            case 3:
                System.out.println("week 3");
                break;
            case 4:
                System.out.println("week 4");
                break;
            case 5:
                System.out.println("week 5");
                break;
            default:
                System.out.println("双休");
                break;
        }
        System.out.println("END!!!!!");

        System.out.println("please input month");
        int month = sc.nextInt();
        switch (month){
            case 1:
//                System.out.println("dong");
            case 2:
                System.out.println("dong");
                break;
            case 3:
//                System.out.println("cun");
            case 4:
//                System.out.println("cun");
//                break;
            case 5:
                System.out.println("cun");
                break;
            case 6:
//                System.out.println("xia");
            case 7:
//                System.out.println("xia");
            case 8:
//                System.out.println("xia");
            case 9:
                System.out.println("xia");
                break;
            case 10:
//                System.out.println("qiu");
            case 11:
                System.out.println("qiu");
                break;
            case 12:
                System.out.println("dong");
                break;
        }
    }
}

for语句

for 循环用于控制一段代码反复执行多次

for(初始化语句,循环条件,迭代语句){
循环体语句(可重复执行的代码)}

// 输出三次helloword
for(int i = 0,i < 3,i++){
System.out.println("hello world")
}

在这里插入图片描述

package javaday1;
import java.util.Scanner;
public class debug {
    public static void main(String[] args) {
        int sum = 0;
        for (int i =0;i <5;i++){
            sum += i;
            System.out.println("循环第" + i + "次");
        }
        System.out.println(sum);
    }
}

在这里插入图片描述
在这里插入图片描述

package javaday1;
import java.util.Scanner;
public class debug {
    public static void main(String[] args) {
        int sum = 0;
        for (int i =0;i < 10;i++){
            if (i % 2 != 0){
                System.out.println("数字" + i + "是奇数");
                sum += i;
            }
        }
        System.out.println("奇数求和:" + sum);
    }
}

在这里插入图片描述
在这里插入图片描述

package javaday1;

import java.util.Scanner;
public class debug {
    public static void main(String[] args) {
        
        for (int i = 100;i < 1000;i++){
            int ge = i % 10;
            int shi = i /10 %10;
            int bai = i /10/10%10;
            
            if (ge*ge*ge + shi*shi*shi + bai*bai*bai == i){
                System.out.println("该数字是水仙花数:" + i);
            }
        }
    }
}

在这里插入图片描述

while循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package javaday1;
import java.util.Scanner;
public class debug {
    public static void main(String[] args) {
        double height = 884886;
        double paper = 0.1;
        int count = 0;
        while (paper < height){
            paper *= 2;
            count += 1;
        }
        System.out.println("该纸张需要对折"+ count +"次");
    }
}

在这里插入图片描述

do…while循环

在这里插入图片描述
在这里插入图片描述

package javaday1;

import java.util.Scanner;
import java.util.Random;
public class debug {
    public static void main(String[] args) {
        System.out.println("请输入密码:");
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int num = r.nextInt(1000);
        System.out.println("系统生成的随机数密码为:"+ num);
        for(int i=1; i < 7; i++){
            int code = sc.nextInt();
            if(code == num){
                System.out.println("进入系统:");
                break;
            }else if(code != num){
                System.out.println("error!!!!,please retry");
            }
            System.out.println("当前是第"+ i +"次"+"次数达到6次后系统关闭");
        }
    }
}

在这里插入图片描述
在这里插入图片描述

break continue

在这里插入图片描述
在这里插入图片描述

random

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package javaday1;
import java.util.Scanner;
import java.util.Random;
public class debug {
    public static void main(String[] args) {
        Random r = new Random();
        int guess = r.nextInt(10);
        System.out.println("需要猜测的数字是:"+guess);
        while (true) {
            System.out.println("猜数字游戏开始,请输入一个数字:");
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();

            if (num == guess) {
                System.out.println("恭喜你猜对了");
                break;
            }else if(num != guess){
                System.out.println("please Retry");
            }
        }
        System.out.println("END!!!!!!!");
    }
}

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peihj2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值