首页 > 其他分享 >9-流程控制

9-流程控制

时间:2024-06-21 17:55:37浏览次数:19  
标签:语句 控制 int 流程 System 循环 println out

顺序结构

  • Java的基本结构就是顺序结构

选择结构

if单选择结构

if(布尔表达式){
    //true则执行
}
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        String s = scanner.nextLine();

        //equals:判断字符串是否相等 与 == 有区别,别用 == 去判断字符串!
        if(s.equals("Hello")){
            System.out.println(s);
        }
        System.out.println("End");
        scanner.close();
    }

if双选择结构

if(布尔表达式){
    //true
}else{
    //false
}

if多选择结构

//满足一个条件进入一个if不会执行其他if语句
if(布尔1){
    //1为true
}else if(布尔2){
    //2为true
}else if(布尔3){
    //3为true
}...

嵌套的if结构

if(布尔表达式1){
    //true
    if(布尔2){
        //true
    }
}

switch多选择结构

switch(expression){
    case value :
        //语句
        break;//可选
        //case穿透现象,若无break则会一直往下把所有语句执行
    case value :
        //语句
        break;//可选
    //可以有任意数量的case语句
    default : //可选
        //语句
}

switch语句中的变量类型可以是:

  1. byte、short、int、char、String
  2. case标签必须为字符串常量或字面量

为什么switch支持String类型

        //用IDEA 反编译 java---class(字节码文件)看源码
        //文件-项目结构-复制编译器输出路径-在我的电脑粘贴路径-找到目标class文件-将目标class文件复制到目的java包中-即可查看源码

        String name = "狂神";
        switch (name){
            case "狂神":
                System.out.println("狂神");
                break;
        }

源码:

//字符的本质还是数字
String name = "狂神";
byte var = -1;
switch(name.hashCode()){//通过hashCode()来判断
    case 941788 :
        if(name.equals("狂神")){
            var = 1;
        }
        break;
}
switch(var){
    case 1 :
        System.out.println("狂神");
        break;
}

循环结构

while循环

while(布尔表达式){
    //循环内容
}
//避免死循环

do...while循环

do{
    //代码语句
}while(布尔表达式);
//不满足条件也至少执行一次

for循环

for(初始化;布尔表达式;更新){
    //代码语句
}
//最有效,最灵活的循环结构
//在IDEA里,要100次循环,之间100.for+Enter能快速帮你写好for循环表达式
//死循环
for( ; ;){
}

练习

        //练习1:计算0-100奇数和偶数的和

        int oddSum = 0;
        int evenSum = 0;

        for (int i = 0; i < 100; i++) {
            if(i%2==0){
                evenSum+=i;
            }else {
                oddSum+=i;
            }
        }
        System.out.println("奇数和:" + oddSum);
        System.out.println("偶数和:" + evenSum);
        //练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
        for (int i = 1; i < 1000; i++) {
            if(i%5==0){
                System.out.print(i + "\t");//转义字符\t
            }
            if(i%(5*3)==0){//当i能被三个5整除的时候,即第三个数被输出,需换行
                System.out.println();//空串代表换行
                //System.out.print("\n");
            }
        }
        //println 输出完会换行
        //print 输出完不会换行

主要用于数组的增强型for循环

for(声明语句 : 表达式){
    //语句
}

        int[] numbers = {10,20,30,40,50};//定义了一个数组

        //遍历数组的元素
        for(int x : numbers){//numbers每一个元素赋值给x(x在每一次循环中,在numbers里取值)
            System.out.println(x);
        }//与下面的意义相同
        System.out.println("================");
        for (int i = 0; i < 5; i++) {
            System.out.println(numbers[i]);
        }

break&&continue

  1. break用于强行退出循环,不执行循环剩余的语句
  2. continue跳过本次循环,执行下一次循环。用于终止某次循环过程

关于goto

java没有goto,”标签“是指后面跟一个冒号的标识符,列如:label:

对于Java来说唯一用到标签的地方是在循环语句之前。

        //使用标签,返回到上级循环
        
        //打印101-150之间的所有质数
		//标签方法了解就行不建议使用
        outer: for(int i = 101; i<150;i++){
            for(int j = 2;j<i/2;j++){
                if(i%j == 0){
                    continue outer;//当能被整除时,返回到上级循环
                }
            }
            System.out.print(i+"\t");
        }

标签:语句,控制,int,流程,System,循环,println,out
From: https://www.cnblogs.com/Mc9r4dy/p/18261064

相关文章

  • mybatis控制台打印Sql的两种方式 获取昨天时间 00:00:00
    logging:level:com.atguigu:debug123第一种方式1.maven工程下pom.xml添加log4j日志依赖<!--日志--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</vers......
  • 数字样机:飞行器状态控制系统仿真
    ​引言:数字样机起源于20世纪90年代,是一种用数字化模型代替实际物理样机进行仿真分析的技术。传统的飞行器研发流程往往遵循一套特定的循环结构:在设计初期,工程人员需要对飞行器提供一个综合的设计思路(初期蓝图),随后对原型机进行可行性分析,将结论进行反馈,最后对初期蓝图进行下一步修......
  • 基于C#的WPF+halcon开发,视觉和运动控制软件框架源码
    基于C#的WPF+halcon开发,视觉和运动控制软件框架源码带ui设计器和轴卡运控,上手可用,WPFMVVM开发模式,1:1参考easyvision开发,集成几十个软件算子,插件框架可以自定义变量,写c#脚本,自定义流程,包含了halcon脚本和封装的算子,可自定义ui,通过插件形式开发很方便拓展自己的功能。可学......
  • 课程设计——基于FPGA的交通红绿灯控制系统(源代码)
    摘要:        本课程设计旨在设计一个基于FPGA(现场可编程门阵列)的交通红绿灯控制系统。该系统模拟了实际道路交叉口的红绿灯工作场景,通过硬件描述语言(如Verilog或VHDL)编写源代码实现。系统包含三个主要部分:红绿灯显示模块、计时控制模块以及状态切换模块。红绿灯显示模......
  • 【TensorFlow深度学习】开源社区支持与GitHub上贡献代码的流程
    开源社区支持与GitHub上贡献代码的流程开源社区支持与GitHub上贡献代码的流程:携手共创软件未来1.开源社区支持的意义2.如何在GitHub上找到合适的项目3.贡献代码的流程3.1.Fork与Clone3.2.创建分支3.3.修改代码3.4.提交与推送3.5.创建PullRequest......
  • 高效BUG管理:定级、分类和处理流程
    高效BUG管理:定级、状态跟踪与处理全流程前言一、BUG的定义二、BUG的定级三、BUG的状态四、BUG的处理流程1.BUG报告2.BUG确认3.BUG修复4.BUG验证5.BUG关闭五、常见问题与解决方案六、总结前言在测试工作中,BUG的定级和分类是一个重要环节,它直接影响到BUG修复的......
  • 用ADAU1466开发板教你做音频开发,有手就行(二十二):按键控制音量+-和静音(IO的应用)
    作者的话本章开始正式进入ADAU1466的开发教程,什么叫有手就行,看下去就明白了。特别注意因为ADAU1452和ADAU1466是P2P完全兼容的,管脚兼容,硬件设计兼容,软件程序配置全部都兼容,差别在于ADAU1466的内存更大。我的文章里所用到的程序都是基于ADAU1452的,程序也是基于ADAU1452的,A......
  • 「Java开发指南」如何使用Spring注释器实现Spring控制器?(二)
    本教程将引导您使用SpringAnnotator实现Spring控制器,标准Java类被添加到搭建项目中,SpringAnnotatorSpring启用Java类。虽然本教程的重点是Spring控制器,但是SpringAnnotator也可以用于Spring服务、组件和存储库。在本教程中,您将学习如何:创建一个Java类将类配置为Spring控制......
  • 金仓数据库全攻略:简化部署,优化管理的全流程指南
    金仓数据库人大金仓(KINGBASE)是一家拥有20多年数据库领域经验的公司,专注于数据库产品的研发和服务。公司曾参与多项国家级重大课题研究,如"863"计划、电子发展基金、信息安全专项等。其核心产品是金仓数据库管理系统KingbaseES,这是一个大型通用数据库,具有国际先进水平。金仓数据......
  • IT运维全面数字化|芯片设计行业领跑打造运维流程闭环
    在当今数字化转型的浪潮中,科技行业正经历着前所未有的变革。随着5G、人工智能、物联网等新兴技术的快速发展,企业对于高效、智能的运营模式的需求日益迫切。芯片设计公司作为科技产业链中的关键一环,不仅要在技术创新上保持领先,更要在运营管理上实现突破。这些公司迫切需要通过引入......