当前位置: 首页 > article >正文

Java的流程控制

一、三种执行顺序

顺序结构、分支结构(ifswitch)、循环结构(forwhiledo-while

二、分支结构

(一)if分支的三种形式(根据条件真假来执行某段代码

1.只有if

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:测温机当测出温度大于37.3度,则报警。
        double d = 37.8;
        if (d>=37.3){
            System.out.println("温度异常,请远离!");
        }
    }
}
//结果
//温度异常,请远离!

2.if-else

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:如果余额大于等于90元,则发送红包成功,否则输出余额不足
        double money = 89.7;
        if (money>=90){
            System.out.println("红包发送成功!");
        }else {
            System.out.println("余额不足!");
        }
    }
}
//结果
//余额不足!

3.if-else if-else

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:如果顾客消费大于等于100,打9折;大于等于200,打8折;大于等于300,打7折。
        double money = 208;
        if (money>=300){
            System.out.println("打7折!");
        }else if (money>=200) {
            System.out.println("打8折!");
        } else if (money>=100) {
            System.out.println("打9折!");
        }else {
            System.out.println("不打折!");
        }
    }
}
//结果
//打8折!

 4.注意:

if语句的{}中只有一行代码的情况,{}可以省略不写

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:测温机当测出温度大于37.3度,则报警。
        double d = 37.8;
        if (d>=37.3) System.out.println("温度异常,请远离!");
    }
}
//结果
//温度异常,请远离!

 (二)switch分支(通过比较值来决定执行哪条分支,性能较好

1.格式

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:周一:埋头苦干解决bug;周二:请求大牛程序员帮忙;周三:今晚烧烤;周四:主动帮助新来的程序员解决bug;周五:今晚约会;周六:出门旅游;周日:宅家休息,准备上班。
        String week = "周二";
        switch (week){
            case "周一":
                System.out.println("埋头苦干解决bug");
                break;
            case "周二":
                System.out.println("请求大牛程序员帮忙");
                break;
            case "周三":
                System.out.println("今晚烧烤");
                break;
            case "周四":
                System.out.println("主动帮助新来的程序员解决bug");
                break;
            case "周五":
                System.out.println("今晚约会");
                break;
            case "周六":
                System.out.println("出门旅游");
                break;
            case "周日":
                System.out.println("宅家休息,准备上班");
                break;
            default:
                System.out.println("你输入的日期异常。");
        }
    }
}
//结果
//请求大牛程序员帮忙

2.注意:

表达式类型只能是byteshortintchar,JDK5开始支持枚举,JDK7开始支持String,不支持double(计算不精确)、float(计算不精确)、long(范围太大)。

②case给出的值不允许重复,且只能是字面量,不能是变量(变量可变)。

③正常使用switch的时候,不要忘记写break,否则会出现穿透现象

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:周一:埋头苦干解决bug;周二:请求大牛程序员帮忙;周三:今晚烧烤;周四:主动帮助新来的程序员解决bug;
        String week = "周二";
        switch (week){
            case "周一":
                System.out.println("埋头苦干解决bug");
                break;
            case "周二":
                System.out.println("请求大牛程序员帮忙");

            case "周三":
                System.out.println("今晚烧烤");
                break;
            case "周四":
                System.out.println("主动帮助新来的程序员解决bug");
                break;
            default:
                System.out.println("你输入的日期异常。");
        }
    }
}
(穿透现象:因为第13行没有break,所以当执行完周二的代码后继续执行周三的代码(因为switch只判断一次值),直到运行到第16行的break才结束)
//结果
//请求大牛程序员帮忙
//今晚烧烤

3.穿透现象的使用(当case代码相同时,可以简化代码

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//       案例:周一:埋头苦干解决bug;周二:请求大牛程序员帮忙;周三:请求大牛程序员帮忙;周四:请求大牛程序员帮忙;周五:今晚约会;周六:今晚约会;周日:宅家休息,准备上班。
        String week = "周二";
        switch (week){
            case "周一":
                System.out.println("埋头苦干解决bug");
                break;
            case "周二":
            case "周三":
            case "周四":
                System.out.println("请求大牛程序员帮忙");
                break;
            case "周五":
            case "周六":
                System.out.println("今晚约会");
                break;
            case "周日":
                System.out.println("宅家休息,准备上班");
                break;
            default:
                System.out.println("你输入的日期异常。");
        }
    }
}
(周二代码运行后一直穿透到周四的代码,遇到break后跳出switch)
//结果
//请求大牛程序员帮忙

三、循环结构 

(一)for循环(控制一段代码反复执行多次)

1.格式

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//      案例:循环3次输出"Hello World"
        for (int i = 0; i<3; i++){
            System.out.println("Hello World");
        }
    }
}
//结果
//Hello World
//Hello World
//Hello World

2.快捷键

fori —— "for ( int i = 0; i < _; i++){}" 

(二)while循环(控制一段代码反复执行多次,但不确定次数)

1.格式

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//      案例:1-100的奇数和
        int i = 0;
        while (i<3) {
            System.out.println("Hello World");
            i++;
        }
    }
}
//结果
//Hello World
//Hello World
//Hello World

(三)do-while循环(先执行,后判断)

1.格式

package xixi;

public class HelloWorld {
    public static void main(String[] args) {
//      案例:1-100的奇数和
        int i = 3;
        do {
            System.out.println("Hello World");
            i++;
        }while (i<3);
    }
}
do-while的执行顺序是先执行循环语句再判断,所以即使变量初始值已经不符合循环的要求,但仍然可以执行一次循环语句
//结果
//Hello World

(四)注意

1.循环变量的使用

for循环中,控制循环的变量只在循环中使用whiledo-while循环中,控制循环的变量在循环结束后仍然能使用。 

2.快捷键

选中要写入的代码块+"Ctrl"+"Alt"+"t"——可以快捷输出循环或者分支的结构

(五)死循环(三种写法)

1.for循环

2.while循环

3.do-while循环

(六)循环嵌套

注意:三种循环可以互相嵌套

(七)跳转关键字(break、continue)

1.break(跳出并结束当前所在循环的执行

注意:用于循环中或者switch分支的执行中,但可以结束循环中的if语句

2.continue(跳出当前循环的当次执行,直接进入循环下一次执行)

注意:只用于循环


http://www.kler.cn/a/596616.html

相关文章:

  • 再学:delegateCall使用及合约升级
  • 4小时速通shell外加100例
  • Linux笔记---文件系统软件部分
  • 构音障碍(Dysarthria)研究全景总结(1996–2024)
  • 在Windows和Linux系统上的Docker环境中使用的镜像是否相同
  • 常考计算机操作系统面试习题(二)(中)
  • C语言-排序
  • WSL 导入完整系统包教程
  • 3-22 vector的使用详解---STL C++
  • xss跨站之原理分类及攻击手法
  • 初级:数组与字符串面试题深度剖析
  • 分布式账本技术在 Web3 数据保护中的应用与实践
  • 基于deepseek的智能语音客服【第四讲】封装milvus数据库连接池封装
  • HC-05与HC-06蓝牙配对零基础教程 以及openmv识别及远程传输项目的概述
  • 常考计算机操作系统面试习题(三下)
  • FFmpeg + ‌Qt‌ 简单视频播放器代码
  • 通过SSH隧道与跳板机实现本地端口映射访问服务器文件
  • 【Qt】常用控件
  • SQL注入(SQL Injection)攻击原理与防御措施
  • (c语言)网络编程之UDP认识与并发服务器实现