关于 顺序结构、选择结构和循环结构 部分的学习与记录

顺序结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QjkhJeH1-1680434916843)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330163329083.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0cfkoNu-1680434916845)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330163742976.png)]


选择结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-khNVwz0I-1680434916846)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330163945229.png)]

if选择结构

if单选择结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F6sSB7Ik-1680434916847)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330164001931.png)]

代码展示:

package com.kuang.struct;

import java.util.Scanner;

//选择结构 if语句
public class IfDemon01 {
    public static void main(String[] args) {
        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();
    }
}

结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nbm6s9o9-1680434916848)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330165025897.png)]

输入的内容与Hello相同则输出Hello,并且显示End运行结束;不相同则直接End,运行结束。

if双选择结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ArNkqmTf-1680434916849)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330165205771.png)]

package com.kuang.struct;

import java.util.Scanner;

//if双选型结构
public class Demo02 {
    public static void main(String[] args) {
        //考试分数大于60是及格,小于60就不及格
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if (score>60){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
        scanner.close();
    }
}

if多选择型结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpmFfTPb-1680434916851)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230331202210042.png)]

package com.kuang.struct;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
/**
 * if 语句至多有 1 个else语句,else语句在else if语句之后
 * if 语句可以若干个else if 语句,他们必须在else语句之前
 * 一旦其中一个 else if 语句检测为 true,其他的else if 以及 else语句都将跳过执行
 */
        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if (score==100){
            System.out.println("恭喜满分!");
        }else if(score<100 && score>=90){
            System.out.println("A级");
        }else if (score<90 && score>=80){
            System.out.println("B级");
        }else if (score<80 && score>=70){
            System.out.println("C级");
        }else if (score<70 && score>=60){
            System.out.println("D级");
        }else if (score<60 && score>=0){
            System.out.println("成绩不合格");
        }else {
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}

  • 嵌套的if结构

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jTtNI3eV-1680434916852)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230331203944483.png)]

例如:1-100可以分为 1-50和50-100 提高效率

switch多选择结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nq6vtCmE-1680434916853)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230331204321906.png)]

可选 可以不要

字符的比较

package com.kuang.struct;

public class SwitchDemo01 {
    public static void main(String[] args) {
        //case穿透 如果不写break会把后面的都输出
        //switch 匹配一个值
        char garde = 'C';//注意大小写

        switch (garde){
            case 'A'://注意大小写
                System.out.println("优秀");
                break;//每次写完case;记得加break
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            case 'D':
                System.out.println("再接再厉");
                break;
            case 'E':
                System.out.println("挂科");
            default://如果不在ABCDE的范围内则输出“未知”
                System.out.println("未知");


        }
    }
}

字符串的比较

package com.kuang.struct;
//字符串
public class SwitchDemo02 {
    public static void main(String[] args) {
        String name = "狂神";//字符串 jdk7之后才支持
        //字符的本质还是数字

        //反编译 java ---class(字节码文件)---反编译 (IDEA)

        switch (name){
            case "秦将":
                System.out.println("秦将");
                break;
            case "狂神":
                System.out.println("狂神");
                break;
            default:
                System.out.println("弄啥");
        }
    }
}

循环结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBCWe7FN-1680434916854)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230401090840691.png)]

while 循环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RL15PxgK-1680434916855)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230401090945437.png)]

  • 代码

    package com.kuang.struct;
    //while 循环
    public class WhileDemo01 {
        public static void main(String[] args) {
    
            //输出1-100
            int i = 0;
    
            while (i<100){
                i++;
                System.out.println(i);
    
            }
        }
    }
    
    
  • while循环,1-100相加,代码:

    package com.kuang.struct;
    
    public class WhileDemo03 {
        public static void main(String[] args) {
            //计算1+2+3+..+100=?
            int i = 0;
            int sum = 0;
    
            while (i<=100){
                sum = sum + i;
                i++;
    
            }
            System.out.println(sum);
        }
    }
    
    

do…while循环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7CZ4odl-1680434916856)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230401092553682.png)]

  • 代码

    package com.kuang.struct;
    //do..while循环
    public class DoWhileDemo01 {
        public static void main(String[] args) {
            int i = 0;
            int sum = 0;
            do {
                sum = sum + i;
                i++;
            }while (i<=100);
            System.out.println(sum);
        }
    }
    
    

do while 和 while 的区别

package com.kuang.struct;
//while和do..while的区别
//while 先判断后执行;do while 先执行后判断,至少执行一次
public class DoWhileDemo02 {
    public static void main(String[] args) {
        int a = 0;
        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("===============");
        do {
            System.out.println(a);
            a++;
        }while (a<0);
    }
}

运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lVRKN0wT-1680434916857)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230401095047257.png)]

for 循环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3I2Eu9Cp-1680434916858)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230401095206489.png)]

支持迭代的通用结构,最有效、最灵活

  • 代码

    package com.kuang.struct;
    
    public class ForDemo01 {
        public static void main(String[] args) {
            int a = 1;//初始化条件
    
            while (a<=100){//条件判断
                System.out.println(a);//循环体
                a+=2;//迭代 每一次循环会使a的值刷新,最后会使得while循环终止
    
            }
            System.out.println("while循环结束!");
            //条件判断;循环体;迭代
            for (int i=1;i<=100;i++){
                System.out.println(i);
            }
            System.out.println("for循环结束!");
            /*
            关于for 循环有以下几点说明:
            最先执行初始化步骤,可以声明一种类型,单可初始化一个或多个循环控制变量,也可以是空语句。
            然后,检测不二表达式的值,如果为true,循环体被执行,如果为false,循环停止,开始执行循环体后面的语句
            执行一次循环后,更新循环控制变量(迭代银子控制循环变量的增减)。
            再次检测布尔表达式,循环执行上面的过程。
             */
            //死循环
            for (;;){
    
            }
        }
    }
    
    

  • 练习1:计算0-100之间的技术和偶数的和

    package com.kuang.struct;
    
    public class ForDemo02 {
        public static void main(String[] args) {
            //练习:计算0-100之间的奇数和偶数的和
            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);
        }
    }
    
    

  • for循环输出1-1000之间能被5整除的数,并且每三个数字换行

    package com.kuang.struct;
    
    public class ForDemo03 {
        public static void main(String[] args) {
            //练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
    
            for (int i = 0; i <= 1000; i++) {
                if (i%5==0){
                    System.out.print(i+"\t");
                }
                if (i%(5*3)==0){//每三行
                    System.out.println();
                    //System.out.print("\n");
                }
            }
            //println 输出完全换行
            //print 输出完不会换行
    
        }
    }
    
    

  • while循环输出1-1000之间能被5整除的数,并且每三个数字换行

    package com.kuang.struct;
    //用while 输出1-1000被5整除的数并且每三个数换行
    public class TestWhile02 {
        public static void main(String[] args) {
            int a = 1;//初始化 从1开始
    //        int count=0;//用于计算输出个数,便于换行
            while (a<=1000){
                if (a%5==0){//判断是都被5整除
                    System.out.print(a+"\t");//如果能被5整除,输出,并且空格
    //                count++;
                }
    
    //            if (count%3==0){//如果输出了三个数,则换行
    //                System.out.println();
                if (a%(5*3)==0){
                    System.out.println();
                }
                a++;
            }
            System.out.println();
        }
    }
    
    

九九乘法表

package com.kuang.struct;
//99乘法表
public class ForDemo04 {
    public static void main(String[] args) {
        //1.打印第一列
        //2.把固定的1再用一个循环包起来
        //3.去掉重复项,i<=j
        //4.调整样式
        for (int i = 1; i <= 9; i++) {//总共有9行
            for (int j = 1;j <= i;j++){//i行j列
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }
    }
}

运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6WgaY9Zi-1680434916859)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230402130707714.png)]

增强for型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AVphPPpZ-1680434916860)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230402130833812.png)]

package com.kuang.struct;
//增强for
public class ForDemo05 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};//定义了一个数组

        for (int i = 0;i<5;i++){
            System.out.println(numbers[i]);
        }
        System.out.println("===========");
        //遍历数组的元素
        for (int x:numbers){
            System.out.println(x);
        }
    }
}

break continue

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rP4W4Bvl-1680434916861)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230402132949297.png)]

  • break 用于强行退出循环
package com.kuang.struct;

public class BreakDemo {
    public static void main(String[] args) {
        int i = 0;
        while (i<100){
            i++;
            System.out.println(i);
            if (i==30){
                break;
            }
        }
        System.out.println();
    }
}


  • continue 直接进行下一次循环

    package com.kuang.struct;
    
    public class ContinueDemo {
        public static void main(String[] args) {
            int i = 0;
            while (i<100){
                i++;
                if (i%10==0){
                    System.out.println();
                    continue;
                }
                System.out.println(i);
            }
        }
    }
     
    

go to

package com.kuang.struct;
//go to
public class LabelDemo {
    public static void main(String[] args) {
        //打印101-150之间的所有质数
        int count = 0;
        //不建议使用
        outer:for (int i = 101;i<=150;i++){//标签
            for (int j = 2;j<=2;j++){
                if (i % j==0){
                    continue outer;
                }
            }
            System.out.print(i+" ");
        }
    }
}


打印三角形

package com.kuang.struct;

public class TestDemo {
    public static void main(String[] args) {
        //打印三角形 5行
        for (int i = 1; i <= 5; i++) {//5行 外层
            for (int j = 5;j >= i;j--){//第一行5个,每行逐渐减少  内层
                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();
        }
    }
}

结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6ls4OTh-1680434916862)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230402192052972.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值