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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值