美文网首页
3.Java流程控制

3.Java流程控制

作者: 每天起床都想摆 | 来源:发表于2022-01-05 23:28 被阅读0次

程序流程控制

流程控制语句:

  • 顺序结构:是程序的默认结构
  • 分支结构
  • 循环结构

分支结构

if

  • 根据判定的结果(真或假)决定执行某个分支的代码
  • if适合做区间匹配

if分支的三种格式

  • 格式1:

    if(条件表达式){
          语句体;
    }
    
  • 格式2:

    if(条件表达式){
          语句体1;
    }else{
          语句体2;
    }
    
  • 格式3:

    if(条件表达式1){
          语句体1;
    }else if(条件表达式2){
          语句体2;
    }else if(条件表达式3){
          语句体3;
    }
    ……
    else{
          语句体n+1;
    }
    

switch

  • 匹配条件去执行分支,适合做值匹配的分支选择

  • 格式:

    switch(表达式){
        case 值1:
            执行代码1;
            break;
        case 值2:
            执行代码2;
            break;
        ……
        case 值n-1:
            执行代码n-1;
            break;
        default:
            执行代码n;
    }
    

    执行流程:

    1. 先执行表达式的值。拿着这个值去与case后的值进行匹配
    2. 匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支
    3. 如果case后的值都不匹配则执行default代码

switch分支注意事项

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

switch的穿透性

  • 如果代码执行到没有写break的case块,执行完毕后将进入紧邻的下一个case执行代码块(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性
  • switch的穿透性解决的问题:存在多个case分支的功能代码是一样的时候,可以利用穿透性把流程集中到同一处处理,这样可以简化代码

循环结构

for循环

  • 控制一段代码反复执行很多次

  • 格式:

    for(初始化语句; 循环条件; 迭代语句){
        循环体语句;
    }
    

水仙花数

  • 在控制台输出所有的水仙花数,水仙花数满足两个要求:

    • 水仙花数是一个三位数
    • 水仙花数的个位,十位,百位的数字立方和等于原数
    package com.java.test;
    
    import static java.lang.Math.pow;
    
    /**
     * 求水仙花数
     */
    public class Flowers {
    
        public static void main(String[] args) {
            int a = 0;
            int b = 0;
            int c = 0;
            for (int i = 100; i <= 999; i++) {
                a = i % 10;
                b = i / 10 % 10;
                c = i / 100;
                if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) {
                    System.out.println("水仙花数:" + i);
                }
            }
        }
    }
    

while循环

  • 语法:

    初始化语句;
    while(循环条件){
        循环体语句;
        迭代语句;
    }
    

    明确循环次数使用for循环,循环次数不明确建议使用while

do-while循环

  • 语法

    初始化语句;
    do{
        循环体语句;
        迭代语句;
    }while(循环条件);
    

    特点:一定执行至少一次循环体

死循环

  • 三种死循环

    package com.java.test;
    
    /**
     * 三种死循环
     */
    public class EndlessLoop {
        public static void main(String[] args) {
    
            for (; ; ) {
                System.out.println();
            }
    
            while (true){
                System.out.println();
            }
            
            do {
                System.out.println();
            }while(true);
        }
    }
    
    

循环嵌套

  • 特点:外层循环每循环一次,内部循环全部执行完一次
  • 时间复杂度为每层循环执行次数的积,时间复杂度极高,尽量避免循环嵌套

跳转关键字:break,continue

  • break:跳出并结束当前所在的循环的执行

    只能用于结束所在循环,或者结束所在switch分支的执行;注意,break不可结束if分支

  • continue:跳出当前循环的当次执行,直接进入下一次循环

    只能在循环中进行使用,常常在循环体之前写判断语句以确定为哪一次循环执行continue
    break的特殊用法:我们可以为break语句指定一个标签,让代码逻辑退出到那个点。

    例子:

    public class Main {
        public static void main(String args[]) {
            outer: //结束标签,标签名自拟
            for (int i = 0; i < 10; i++) {
                for (int j = 0; j < 10; j++) {
                    if (j + 1 < i) {
                        System.out.println();
                        break outer; //即当if条件满足,结束当前整个for循环
                    }
                    System.out.print(" " + (i * j));
                }
            }
            System.out.println();
        }
    }
    
    

相关文章

  • 3.Java流程控制

    程序流程控制 流程控制语句: 顺序结构:是程序的默认结构 分支结构 循环结构 分支结构 if 根据判定的结果(真或...

  • 5-流程控制

    流程控制 流程 计算机执行代码的顺序就是流程 流程控制 对计算机代码执行顺序的管理就是流程控制 流程分类 流程控制...

  • 04-流程控制及while循环

    流程控制 流程: 计算机执行代码的顺序,就是流程。 流程控制: 对计算机代码执行顺序的控制,就是流程控制。 流程分...

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • js流程控制

    2 - 流程控制 2.1 流程控制概念 2.2 顺序流程控制 ​ 顺序结构是程序中最简单、最基本的流程控制,它...

  • 二级-2.Python流程控制

    流程控制 流程:计算机执行代码的顺序就是流程。 流程控制:对计算机代码执行顺序的管理就是流程控制。 流程控制一共分...

  • Python基础重构-1.3流程控制

    流程控制语句 流程控制语句用来实现对程序流程的选择、循环和返回等进行控制,Python中主要的流程控制包括if(判...

  • activiti学习笔记(九)RuntimeService

    RuntimeService 流程运行控制服务 启动流程及对流程数据的控制 流程实例(ProcessInstanc...

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

  • 2018-11-29

    17js流程控制switch 17js流程控制switch //js流程控制swi...

网友评论

      本文标题:3.Java流程控制

      本文链接:https://www.haomeiwen.com/subject/jqclcrtx.html