• Java基础6-控制语句


    一、控制语句的种类

    java控制语句主要分为7种

    1.控制选择结构语句

    • if, if else
    • switch

    2.控制循环结构语句

    • for
    • while
    • do while

    3.改变控制语句顺序

    • break
    • continue

    一、控制选择结构语句

    1.if,if else语句

    关于java语言中的if语句,属于选择结构,if语句又被称为分支语句/条件控制语句:
    1.if语句的语法结构:四种编写方式
    第一种:
    if(布尔表达式){
    java语句;
    }
    第二种
    if(布尔表达式){
    Java语句;
    }else{
    java语句;
    }
    第三种
    if(布尔表达式){
    java语句;
    }else if(布尔表达式){
    java语句;
    }
    else if(){
    }
    第四种
    if(布尔表达式){
    Java语句;
    }else{
    java语句;
    }
    第三种
    if(布尔表达式){
    java语句;
    }else if(布尔表达式){
    java语句;
    }
    else if(){
    }else{
    }
    4.所有控制语句都可以嵌套使用,只要合理嵌套就行
    注意:嵌套使用的时候,代码格式要保证完美【该缩进的时候必须要缩进】
    5.if语句的分支中只有一条java语句的话,大括号可以省略不写,不推荐
    if(true/false)java语句;

    import java.util.Random;
    //导包
    
    public class call
    {
        public static void main(String[] args){
    //创建一个随机数对象r
        Random r=new Random();
    //在0-11这12个数中产生一个随机数赋值给i
        int i=r.nextInt(12);
    String name0="王海文";
    String name1="李宝林";
    String name2="田雨";
    String name3="桑建武";
    String name4="王龙翔";
    String name5="郭佳讯";
    String name6="陈敬瑜";
    String name7="魏仲豪";
    String name8="王宇飞";
    String name9="高健";
    String name10="李壮壮";
    String name11="张禄";
    //判断i的值并打印输出相对应的姓名
    if(i==0){
    System.out.println(name0);
    }
    else if(i==1){
    System.out.println(name1);
    }
    else if(i==2){
    System.out.println(name2);
    }
    else if(i==3){
    System.out.println(name3);
    }
    else if(i==4){
    System.out.println(name4);
    }
    else if(i==5){
    System.out.println(name5);
    }
    else if(i==6){
    System.out.println(name6);
    }
    else if(i==7){
    System.out.println(name7);
    }
    else if(i==8){
    System.out.println(name8);
    }
    else if(i==9){
    System.out.println(name9);
    }
    else if(i==10){
    System.out.println(name0);
    }
    else if(i==11){
    System.out.println(name11);
    }
        }
    }
    if,else if语句代码示例,随机点名系统

    2.switch语句

    1.switch语句也属于选择结构,也是分支语句
    2.switch语句语法结构
    switch(int或String类型的字面值或变量){
    case int或String类型的字面值或变量:
    java语句;
    break;
    case int或String类型的字面值或变量:
    java语句;
    break;
    default:
    java语句;
    }
    3.switch语句的执行原理:
    switch后面小括号当中的“数据”和case后面的“数据”进行一一匹配,匹配成功的分支语句执行。
    4.匹配成功的分支执行,分支当中最后有break语句的话整个switch语句终止。
    5.匹配成功的分支执行,分支当中没有break语句的话,直接进入下一个分支执行【不进行匹配】,这种现象被称为case穿透现象
    6.所有分支都没有匹配成功,当有default语句,会执行default分支当中的程序
    7.switch后面和case后面只能是int或String类型的数据,不能使探测其他类型,当然byte、short、char也可以直接写到switch和case后面,因为可以自动转换成int。
    8.case可以合并:
    int i=10;
    switch(i){
    case 1:case 2:case 3:case 10:
    System0out.println("aaa")
    }
    */

    import java.util.Scanner;
    public class workday
    {
        public static void main(String[] args){
        System.out.println("请输入1-7中任意数字");
        Scanner sc=new Scanner(System.in);
    //控制台输入,后边说
        int num=sc.nextInt();
        switch(num){
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
    //若num=1,2,3,4,5都会执行输出去上班
        System.out.println("滚去上班");
        break;
        case 6:
        case 7:
        System.out.println("尽情嗨起来");
        break;
        default:
        System.out.println("大傻逼,输错了");
        break;
            }
        }
    }
    switch语句代码示例

    二、控制循环结构语句

    1.for循环

    1.for循环的结构
    for(初始化表达式:布尔表达式:更新表达式){
    是需要重复执行的代码片段【循环体:由java语句构成】
    }
    2.for循环的执行过程/重复原理?
    2.1 初始化表达式、布尔表达式、更新表达式都不是必须的,但是两个分号是必须的;
    2.2 初始化表达式最先执行,并且在整个for循环当中只执行一次
    2.3 布尔表达式必须是true/false
    2.4 for的执行过程

    for(① ; ; ③){

    }

    第一步,执行

    第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步

    第三步,执行

    第四步,执行③,然后重复执行第二步

    第五步,退出循环

    用for循环打印菱形(嵌套):

    public class circulation
    {
        public static void main(String[] args){
        
    //这个是打印直角三角形
    for (int i=1;i<=7;i++ )
    //外层循环控制行
        {
            
            for (int j=1;j<=i ;j++ )
            {
                System.out.print("*");
            }
            System.out.println("
    ");
        }
        //倒序排列,倒直角三角
    for (int i=1;i<=9 ;i++)
    {
        for (int j=9;j>=i ;j-- )
        {
    //当j大于i时打印输出*,例如当i=1,j=9,j>i,输出*,j-1=8>i=1,继续输出*,当j--到1时,j=i,条件不满足,结束本次循环
    //外层循环此时i<9,i+1=2<9,满足条件,再进行内层for循环,以此往复。
            System.out.print("*");
        }
        System.out.println("
    ");
    }
    
    //打印菱形的2组for循环,并且每组for循环里又嵌套3个for循环,共8个for循环
    for (int i=1;i<=8 ;i++ )
        {
            for (int k=8;k>i ;k-- )
            {
    //当满足k>i这个条件就打印空格
            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("
    ");
        }
    //这是倒菱形的下半部分,倒三角形
    for (int i=1;i<=7 ;i++)
    {
        for (int k=1;k<=i ;k++ )
        {
        System.out.print(" ");
        }
        for (int j=7;j>=i ;j-- )
        {
        System.out.print("*");
        }
        for (int j=7;j>=i ;j-- )
        {
            System.out.print("*");
        }
        System.out.println("
    ");
    }
    /*for (int i=1;i<=8 ;i++ )
        {
        for (int k=8;k>i ;k-- )
        {
            System.out.print(" ");
        }
            for (int j=1;j<=i ;j++ )
            {
                System.out.print("*");
            }
            System.out.println("
    ");
        } */
        }
    }

    2.while循环

    1、while和do while循环语法结构
    while(布尔表达式){
    循环体
    }
    2.while循环的循环次数:
    0~N次
    注意:while循环的循环体可能执行次数为0次

    3.do while循环

    do {

    执行语句

    } while(循环条件){};

     先执行再循环

    4.无限循环

    while(true){}

    for(;;){}

    无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

    class note11 
    {
        public static void main(String[] args) 
        {
            while(true){
            System.out.println("死循环");
            }
            //编译器检测到该程序永远都无法被执行,所以编译报错
            System.out.println("Hello World!");
        }
    }
    import java.util.Scanner;
    import java.util.ArrayList;
    class Bitch 
    {
        
        public static void main(String[] args) 
        {
            ArrayList<Fuck> list=new ArrayList<Fuck>();
            //while无限循环与switch语句嵌套使用
            while(true){
                switch (Choose())
                {
                case 1:
                    inventory(list);
                    break;
                case 2:
                    AddGoods(list);
                    break;
                case 3:
                    alter(list);
                    break;
                case 4:
                    delete(list);
                    break;
                case 5:
    //当用户输入5的时候结束循环,否则循环一直执行
                    return;
                    default:
                    System.out.println("您选择的功能有误,请重新输入!");
                    break;
                }
            }    
        }
        //用户选择;
        public static int Choose(){
        System.out.println("-------------------库存管理--------------");
        System.out.println("1.查看库存清单");
        System.out.println("2.添加商品信息");
        System.out.println("3.修改商品信息");
        System.out.println("4.删除商品信息");
        System.out.println("5.退出");
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入您的选择");
        int num=sc.nextInt();
        return num;
        }
        //添加商品信息
        public static void AddGoods(ArrayList<Fuck> list){
        Scanner sc=new Scanner(System.in);
        while (true)
            {
            System.out.println("1.继续添加商品");
            System.out.println("2.退出");
            int number=sc.nextInt();
            if (number==1)
            {
                Fuck you=new Fuck();
                System.out.println("请输入您要添加的商品品牌/尺寸/价格/数量");
                you.brands=sc.next();
                you.size=sc.nextDouble();
                you.price=sc.nextDouble();
                you.counts=sc.nextInt();
                list.add(you);
            }else{
            return;
            }
        inventory(list);
            }
        }
        //修改商品信息
    public static void alter(ArrayList<Fuck> list){
        Scanner sc=new Scanner(System.in);
        while(true){
            System.out.println("1.继续修改");
            System.out.println("2.退出");
            int number=sc.nextInt();
            switch(number){
                case 1:
                System.out.println("---------当前商品库存信息--------");
                System.out.println("商品编号	商品品牌	库存数量");
                for(int i=0;i<list.size();i++){
                System.out.println((i+1)+"	"+list.get(i).brands+
                "	"+list.get(i).counts);
                    }
                System.out.println("请输入您要修改的商品编号:");
                int num=sc.nextInt()-1;
                System.out.println("请输入您要修改的商品数量:");
                list.get(num).counts=sc.nextInt();    
                inventory(list);
                break;
                case 2:
                    return;
                default:
                System.out.println("大傻逼");
                break;
                }
            }
        }
    //删除商品信息
    public static void delete(ArrayList<Fuck> list){
            System.out.println("---------当前商品库存信息--------");
            System.out.println("商品编号	商品品牌	库存数量");
            for(int i=0;i<list.size();i++){
                System.out.println((i+1)+"	"+list.get(i).brands+
                "	"+list.get(i).counts);
            }
            System.out.println("请输入您要删除的商品编号:");
            Scanner sc=new Scanner(System.in);
            int num=sc.nextInt()-1;
            list.remove(num);
        }
        //查看库存清单
        public static void inventory(ArrayList<Fuck> list){
        System.out.println("---------------商城库存清单-------------");
        System.out.println("商品品牌	商品尺寸	商品价格	库存数量");
        double SumCounts=0;
        int    SumPrice=0;
        for (int i=0;i<list.size();i++ )
        {
            System.out.println(list.get(i).brands+'	'+list.get(i).size+'	'+list.get(i).price+'	'+list.get(i).counts);
            SumCounts+=list.get(i).counts;
            SumPrice+=list.get(i).counts*list.get(i).price;
        }
        System.out.println("-----------------------------------------");
        System.out.println("总库存数:"+SumCounts);
        System.out.println("总金额:"+SumPrice);
        
        }
    }
    无限循环

    三、循环控制语句

    break
    1.break语句同样可以使用在循环语句当中,用来终止循环
    2.break语句可以使用在for,while,do...while循环语句中用来跳出循环
    continue
    1.表示继续,下一个
    2.主要出现在循环语句控制循环的执行
    3.break和continue的区别?
    break表示循环不执行了
    continue表示直接进入下一个

  • 相关阅读:
    hdu 4707 Pet
    hdu 3584 Cube (三维树状数组)
    poj 2155 Matrix (树状数组)
    poj 1195 Mobile phones (树状数组)
    工厂方法模式
    简单工厂模式
    关于设计模式
    UML类图
    UML
    【转载】UML用例图
  • 原文地址:https://www.cnblogs.com/LuckyGJX/p/8724284.html
Copyright © 2020-2023  润新知