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

P02-Java流程控制基本结构

P02-Java流程控制基本结构

一、顺序结构

  1. Java最基本的结构:除非特别指明,否则就按顺序一步一步执行
  2. 顺序结构也是最简单的算法结构

二、选择结构

1、if选择结构

  1. if单选择结构:if(){}
  2. if双选择结构:if(){}else{}
  3. if多选择结构

image-20240830143658416

  1. if嵌套结构

image-20240830143747054

2、switch选择结构

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

  • byte、short、int或者char
  • 从java SE 7开始支持String类型
  • 同时case标签必须为字符串常量或字面量
import java.util.Scanner;

public class Switch {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //输入你的等级
        String s ;
        s = scanner.next();

        switch (s){
            case "A":
                System.out.println("优秀");
                break;
            case "B":
                System.out.println("良好");
                break;
            case "C":
                System.out.println("一般");
                break;
            case "D":
                System.out.println("挂科");
                break;
            default:
                System.out.println("未知");

        }
        scanner.close();
    }
}

三、循环结构

1、while循环

最基本的循环

例子:while循环计算1+2+···100=?

public class While {
    public static void main(String[] args) {
        //while循环计算1+2+···100=?
        int i = 1;
        //总和
        int sum = 0;

        while(i<=100){
            sum = sum + i;
            i++;
        }
        System.out.println("1+2+···100="+sum);

    }
}

大多数情况下,循环需要停止,但也有不需要的情况:

 while (true)
        {
            //等待客户端连接
            //定时检查
            //.....
        }
//死循环对性能会有影响

2、do…while循环

与while循环区别:do…while循环至少会执行一次

image-20240830151359228

3、for循环

for循环时支持迭代的一种通用结构,是最有效最灵活的循环结构

例1:计算0~100的奇数和和偶数和

public class For01 {
    public static void main(String[] args) {
        //计算0~100的奇数和和偶数和

        //奇数和
        int sum1 = 0;
        //偶数和
        int sum2 = 0;

        for(int i=0;i%2==0&&i<=100;i+=2){
            sum1 = sum1 + i;
        }
        for(int i=1;i%2!=0&&i<=100;i+=2){
            sum2 = sum2 + i;
        }
        System.out.println("奇数和为:"+sum1+"\n偶数和为:"+sum2);
    }
}

更规范的:

image-20240830160225793

例2:用for循环输出1-1000之间能被5整除的数,并且每行输出3个

image-20240830160536630

例3:打印九九乘法表

public class For02 {
    public static void main(String[] args) {
        //打印九九乘法表
//        1×1=1
//        2×1=2    2×2=4
//        3×1=3    3×2=6    3×3=9
//        4×1=4    4×2=8    4×3=12   4×4=16
//        5×1=5    5×2=10   5×3=15   5×4=20   5×5=25
//        6×1=6    6×2=12   6×3=18   6×4=24   6×5=30   6×6=36
//        7×1=7    7×2=14   7×3=21   7×4=28   7×5=35   7×6=42   7×7=49
//        8×1=8    8×2=16   8×3=24   8×4=32   8×5=40   8×6=48   8×7=56   8×8=64
//        9×1=9    9×2=18   9×3=27   9×4=36   9×5=45   9×6=54   9×7=63   9×8=72   9×9=81

        for(int j=1;j<=9;j++){
            for(int i=1;i<=j;i++){
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}

4、增强for循环

这里暂做了解,之后数组重点使用

image-20240830181056991

四、break、continue、goto

两者皆是用于循环语句体中

  • break用于强制退出循环
  • continue用于结束这一次循环
关于goto关键字

在Java中他不是以goto形式存在,而是设置标志,通过break、continue来达到goto的效果

image-20240830225414991

五、打印三角形及Debug

我的方法:

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //打印三角形,输入几,打印几行
        int n = 0;
        System.out.println("请输入你想打印的三角形的行数:");
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();//输入三角形行数
        //i代表第几行
        for(int i=1;i<=n;i++){
            //每一行它前面的空格数是:总行数-当前行数
            for(int j=0;j<n-i;j++){
                System.out.print(" ");
                continue;
            }
            //每一行的*数是:2*当前行数-1
            for(int p=0;p<2*i-1;p++){
                System.out.print("*");
            }
            System.out.println();
        }

    }
}

其他方法:

public class Test02 {
    public static void main(String[] args) {
        //打印三角形的另一种方式,一半一半的来打印,打印一个5行的
        for (int i = 1; i <= 5; i++) {
            for(int j = 5; 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();
        }

    }
}

Debug调试:

  1. 标调试点

image-20240831100659620

  1. 点击调试

    image-20240831100732104

  2. 了解调试按钮

image-20240831100849605

  1. 点击控制台即可便调试边看其调试结果

image-20240831101007722


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

相关文章:

  • 常见error集合
  • 动手学深度学习68 Transformer
  • 异步提交Django
  • Android中Activity启动的模式
  • el-table 纵向垂直表头处理
  • Android Studio | 最新版本配置要求高,JDK运行环境不适配,导致无法启动App
  • codetest
  • Linux下递归设置目标目录及其子目录和文件的权限
  • Qt/C++地址转坐标/坐标转地址/逆地址解析/支持百度高德腾讯和天地图
  • 项目策划书六度自由双足机器人
  • WHAT - 通过 react-use 源码学习 React(Animations 篇)
  • Qt QTableWidget可编辑设置,设置部分可编辑
  • 线性表之静态链表
  • Jenkins发邮件功能如何配置以实现自动化?
  • 推理引擎测试-算力共享:test_inference_engine
  • 力扣68.文本左右对齐
  • 18043 找出3个数中最大的数
  • Datawhale x李宏毅苹果书入门 AI夏令营 task03学习笔记
  • 数据结构——单向链表
  • 五、实现随机地图
  • 【STM32】通用定时器TIM(输出比较)
  • 【sqlite3】MySQL8转sqlite3需要对sql做的一些处理
  • PyCharm 自定义字体大小
  • C++ 有向图算法
  • Tiptap中BubbleMenu讲解
  • CAN协议通信 学习笔记