• Java流程结构


    顺序结构

    在这里插入图片描述

    • 顺序结构是最简单的算法结构。
    • java的基本结构是顺序结构,除非特别指明,否则就按顺序一句一句执行。
    • 它是任何一个算法都离不开的一种基本算法结构。

    选择结构

    if单选择结构

    在这里插入图片描述
    语法:

    if(布尔表达式)
    {
    	//如果布尔表达式为true将执行的语句
    }
    
    • 1
    • 2
    • 3
    • 4

    if双选择结构

    在这里插入图片描述
    语法;

    if(布尔表达式) {
    	//如果布尔表达式的值为true
    }
    else {
    	//如果布尔表达式的值为false
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    知识充电站:

    java 中字符串的比较用.equals() 方法。

    public static void main(String[] args) {
            Scanner scanner=new Scanner(System.in);
    
            System.out.println("请输入内容:");
            String str=scanner.nextLine();
            if(str.equals("酸梅汤小王子")) {
                System.out.println(str);
            } else {
                System.out.println("endS");
            }
            scanner.close();
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    if多选择结构

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

    经典案例:成绩级别

     public static void main(String[] args) {
    
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入成绩:");
            int score= scanner.nextInt();
    
            if(score==100) {
                System.out.println("恭喜满分");
            } else if (score<100 && score>=90) {
                System.out.println("优秀");
            } else if (score<90 && score>=80) {
                System.out.println("良好");
            } else if (score<80 && score>=60) {
                System.out.println("合格");
            } else if (score<60 && score>=0) {
                System.out.println("不及格");
            } else {
                System.out.println("成绩不合法!");
            }
            scanner.close();
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    嵌套的if结构

    语法:

    if(布尔表达式 1) {
    	//条件1成立时的执行代码
    	if(布尔表达式 2) {
    		//条件 1、条件2 同时成立时执行的代码
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    switch 多选择结构

    在这里插入图片描述

    • switchcase语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
    • switch语句中的变量类型可以是:byte、short、int或者char。
    • 从JavaSE7开始,switch支持字符串String类型了
    • 同时case标签必须为字符串常量或字面量
      举例:
    public static void main(String[] args) {
            String str="酸梅汤小王子";
            switch (str)
            {
                case "酸梅汤小王子":
                    System.out.println("酸梅汤小王子");
                    break;
                case "内卷小霸王":
                    System.out.println("内卷小霸王");
                    break;
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    循环结构

    while循环【最基本的循环】

    while(布尔表达式) {
    	//循环内容
    }
    
    • 1
    • 2
    • 3
    • 只要布尔表达式为真,循环就会一直执行下去。
    • 避免死循环,造成程序卡崩溃。

    do……while循环

    • 对于do……while循环至少循环一次。
    do {
    	//代码语句
    } while (布尔表达式);
    
    • 1
    • 2
    • 3

    while和do…while的区别

    • while先判断后执行,do…while先执行后判断。
    • 主要差别:do…while 至少执行一次。

    for循环

    • for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
    • for循环执行的次数在执行前就确定了
      语法格式:
    for(初始值;布尔表达式;更新) {
    	//代码语句
    }
    
    
    • 1
    • 2
    • 3
    • 4

    练习

    练习一:分别计算0到100之间的奇数和偶数的和

     public static void main(String[] args) {
            int oddsum=0;
            int evensum=0;
            for(int i=0;i<=100;i++)
            {
                if(i%2!=0)
                {
                    oddsum+=i;
                }
                else
                {
                    evensum+=i;
                }
            }
            System.out.println("奇数和为:"+oddsum);
            System.out.println("偶数和为:"+evensum);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    练习二:用while或for循环输出1~1000之间能被5整除的数【三个数一行】

    • 方法一:
     public static void main(String[] args) {
            int i=0;
            for(int j=1;j<=1000;j++)
            {
                if(j%5==0)
                {
                    System.out.print(j+"\t");
                    i++;
                    if(i%3==0)
                    {
                        System.out.println();
                    }
                }
            }
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 方法二:
    public static void main(String[] args) {
            for(int i=1;i<=1000;i++)
            {
                if(i%5==0)
                {
                    System.out.print(i+"\t");
                    if(i%(5*3)==0)
                    {
                        System.out.println();
                    }
                }
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    练习三:打印九九乘法表

     public static void main(String[] args) {
            for(int i=1;i<=9;i++)
            {
                for(int j=1;j<=i;j++)
                {
                    System.out.print(i+"*"+j+"="+i*j+"\t");
                }
                System.out.println();
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    补充: 增强for循环

    • Java5引入了一种主要用于数组或集合的增强for循环
    • 语法格式:
    for(声明语句:表达式) {//注意中间为冒号:
    	//执行代码语句
    }
    
    • 1
    • 2
    • 3

    声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句快,其值与此时数组元素的值相等。
    表达式:要访问的数组名,或者是返回值为数组的方法

    • 举例:
    int [] numbers={10,20,30,40,50};
            for(int x:numbers) {
                System.out.println(x);
            }
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    练习:打印三角

    import java.util.Scanner;
    public class Demo01 {
        public static void main(String[] args) {
    
            Scanner scanner= new Scanner(System.in);
            int rows=0;
    
            System.out.println("请输入三角的行数:");
            if(scanner.hasNext())
            {
                rows= scanner.nextInt();
            }
    
    
    
            scanner.close();
    
            for(int i=1;i<rows;i++)
            {
                for(int j=rows;j>i;j--)
                {
                    System.out.print(" ");
                }
                for(int j=1;j<=i;j++)
                {
                    System.out.print("*");
                }
                for(int j=1;j<i;j++)
                {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    在这里插入图片描述

  • 相关阅读:
    unity实现Perlin噪声
    基于Java毕业设计信贷管理系统源码+系统+mysql+lw文档+部署软件
    【Excel】排名之成绩并列排名(sumproduct、countif 函数的组合使用方法)
    性能测试-Redis
    Servlet规范之Servlet Context
    Ubuntu22.04Desktop桌面版设置静态Ip 221027记录
    Elasticsearch:Dynamic templates
    Java内码编码之UTF-16讲解 [Java][编码]
    【计网】(二)MAC地址与IP地址
    代码随想录算法训练营第53天 | ● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和
  • 原文地址:https://blog.csdn.net/yang2330648064/article/details/125399473