zoukankan      html  css  js  c++  java
  • 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表示直接进入下一个

  • 相关阅读:
    Openstack API 开发 快速入门
    virtualBox虚拟机到vmware虚拟机转换
    使用Blogilo 发布博客到cnblogs
    Openstack Troubleshooting
    hdoj 1051 Wooden Sticks(上升子序列个数问题)
    sdut 2430 pillars (dp)
    hdoj 1058 Humble Numbers(dp)
    uva 10815 Andy's First Dictionary(快排、字符串)
    sdut 2317 Homogeneous squares
    hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
  • 原文地址:https://www.cnblogs.com/LuckyGJX/p/8724284.html
Copyright © 2011-2022 走看看