基本语句结构

  • 选择语句【重点】

  • 循环语句【重点】

  • 跳转语句【重点】

一、选择语句【重点】

  • 1. if语句格式一

    if(关系表达式){
        语句体
    }
    
    执行流程:
        A:先判断关系表达式的结果是true还是false
        B:如果是true,就执行语句体,否则不执行
    
    //案例1:用整数1表示男,键盘录入一个整数,如果是1,就输出"我是男人,我要上男厕所"
    class IfDemo1{
        public static void main(String[] args){
            //键盘录入一个整数,使用Scanner对象
            Scanner sc=new Scanner(System.in);
            System.out.println("1表示男,输入其他不管");
            int num=sc.nextInt();               
    
            //对录入的整数num,进行判断是否等于1
            if(num==1){
                System.out.println("我是男人,我要上男厕所");
            }
        }
    }
    
  • 2. if语句格式二

    if(关系表达式){
        语句体1;
    }else{
        语句体2;
    }
    
    执行流程:
        A:先判断关系表达式的结果是true还是false
        B:如果是true,就执行语句体1,否则不执行语句体2
    
    /*
        案例2:用整数1表示男,键盘录入一个整数
            如果输入1,就输出"我是男人,我要上男厕所";
            如果不是1,就输出"我是女人,我要上女厕所"
    */
    class IfDemo2{
        public static void main(String[] args){
            //键盘录入一个整数,使用Scanner对象
            Scanner sc=new Scanner(System.in);
            System.out.println("1表示男,输入其他不管");
            int num=sc.nextInt();               
    
            //如果输入的是1
            if(num==1){
                //如果num等于1
                System.out.println("我是男人,我要上男厕所");
            }else{
                //如果num不等于1
                System.out.println("我是女人,我要上女厕所");
            }
        }
    }
    
  • 3. if语句格式三

    if(关系表达式1){
        语句体1;
    }else if(关系表达式2){
        语句体2;
    }else if(关系表达式3){
        语句体3;
    }
    ...
    else{
        语句体n+;
    }
    
    执行流程:
        A:从上往下依次判断关系表达式的结果,是true还是false
        B:如果关系表达式的结果是false,就继续判断下一个关系表达式
          只要有一个为true,就执行该处的语句体,整个if语句结束。
        C:如果都不满足,就执行最后一个else的语句体
    
    /*
        案例3:用整数1表示男,整数2表示女人,其他整数表示人妖
            键盘录入一个整数,如果输入1,就输出"我是男人,我要上男厕所";
            如果输入2,就输出"我是女人,我要上女厕所";
            不是1也不是2,就输出"我是人妖,男女厕所通吃"
    */
    class IfDemo3{
        public static void main(String[] args){
            //键盘录入一个整数,使用Scanner对象
            Scanner sc=new Scanner(System.in);
            System.out.println("1表示男,输入其他不管");
            int num=sc.nextInt();               
    
            //如果输入的是1
            if(num==1){
                //如果num等于1
                System.out.println("我是男人,我要上男厕所");
            }else if(num==2){
                //如果num等于2
                System.out.println("我是女人,我要上女厕所");
            }else{
                //如果num不等于1,也不等于2
                System.out.println("我是人妖,男女厕所通吃");
            }
        }
    }   
    
  • 4. if语句的练习

        //1)键盘录入两个整数,求两个数的最大值
        import java.util.Scanner;
        public class IfTest1{
            public static void main(String[] args){
                //键盘录入两个整数
                Scanner sc=new Scanner(System.in);
                //录入数据
                System.out.println("请输入第一个整数:");
                int a=sc.nextInt();
                System.out.println("请输入第二个整数:");
                int b=sc.nextInt();
    
                int max=0;//max用于记录最大值
                //比较a和b的大小,如果a比b大,大的值就是a,否则就是b
                if(a>b){
                    max=a;
                }else{
                    max=b;
                }
                System.out.println("a和b的最大值为:"+max);
            }
        }
    
        /*
            2)键盘录入一个数,判断这个数是否为偶数还是奇数
                如:输入8,输出8是偶数
                   输入7,输出7是奇数
        */
         public class IfTest2{
            public static void main(String[] args){
                //键盘录入两个整数
                Scanner sc=new Scanner(System.in);
                //录入数据
                System.out.println("请输入一个整数:");
                int a=sc.nextInt();
    
    
                if(a%2==0){
                    //如果a能被2整数,就输出a是偶数
                    System.out.println(a+"是偶数");
                }else{
                    //如果a不能被2整数,就输出a是奇数
                    System.out.println(a+"是奇数");
                }
    
            }
        }
    
  • 二、switch语句【重点】

    switch专门用于对几个固定的值进行匹配,如星期只有7天,月份只有12个

    switch的格式:
        switch(表达式){
            case 值1:
                语句体1;
                break;
            case 值2:
                语句体2;
                break;
            ...
            default:
                语句体n+1;
                break;
        }
    
    举例:键盘录入一个月份,输出对应的季节
    public class SwitchDemo1{
        public static void main(String[] args){
            Scanner sc=new Scanner(System.in);
            System.out.println("键盘录入一个月份:");
            int num=sc.nextInt();
    
            //使用switch语句,对num的值进行匹配
            switch(num){
                case 1:
                case 2:
                case 12:
                    System.out.println("冬季");
                    break;
    
                case 3:
                case 4:
                case 5:
                    System.out.println("春季");
                    break;
    
                case 6:
                case 7:
                case 8:
                    System.out.println("夏季");
                    break;
                case 9:
                case 10:
                case 11:
                    System.out.println("秋季");
                    break;
                default:
                    System.out.println("你输入的月份不对");
                    break;
            }
        }
    }
    
    switch的注意事项:
        1)表达式的数据类型:
            byte short int char
            JDK1.5之后可以是枚举
            JDK1.7之后可以是String
        2)case的值只能是常量,不能是变量,也不能重复
        3)default可以省略
        4)break可以省略,但是会穿透
        5)遇到break,switch语句结束
    

三、循环语句【重点】

  • 1.for循环

    格式:
        for(初始化语句;条件判断语句;控制条件语句){
            循环语句体;
        }
    
    执行流程:
        A:执行初始化语句
        B:判断条件是否为true
            如果条件是true,就继续执行
            如果条件为false,就结束for循环
        C:执行循环语句体
        D:控制条件语句
        E:回到B步骤继续循环
    
    举例1:在控制台上输出10个HelloWorld
        public class ForDemo1{
            public static void main(String[] args){
                //整数i,从0变化到9,每次递增1
                for(int i=0;i<10;i++){
                    //每次循环,输出一个"HelloWorld"
                    System.out.println("HelloWorld");
                }
            }
        }
    
    举例2:在控制台打印输出1~5和5~1之间的所有整数
        public class ForDemo2{
            public static void main(String[] args){
                //打印输出1~5
                for(int i=1;i<=5;i++){
                    System.out.println(i);
                }
    
                //打印输出5~1
                for(int i=5;i>=1;i--){
                    System.out.println(i);
                }
            }
        }
    
  • 2.for循环练习题

    练习1: 在控制台打印输出1-10之间所有整数的和
        /*
            求和思想:
                以后遇到任何求和的问题,都按照下面的思路来做
                A:定义一个求和变量sum
                B:遍历所有需要求和的数据,和sum累加
    
            举例:求1-10之间所有整数的和
        */
        public class ForTest2{
            public static void main(String[] args){
                //A:定义一个求和变量sum
                int sum=0;
                //B:遍历所有需要求和的数据,和sum累加
                for(int i=1;i<=10;i++){
                    sum+=i;
                }
                System.out.pritnln("1-10之间的和为:"+sum);
            }
        }
    
    练习2:在控制台上打印输出1-100之间偶数的和
        /*
            A:定义一个求和变量sum
            B:遍历所有需要求和的数据,和sum累加
        */
        public class ForTest3{
            public static void main(String[] args){
                //A:定义一个求和变量sum
                int sum=0;
                //B:遍历所有需要求和的数据,和sum累加
                //遍历1-100之间所有的数
                for(int i=1;i<=100;i++){
                    //判断i是否是偶数,如果是,就和sum累加
                    if(i%2==0){
                        sum+=i;
                    }
                }
                System.out.println("1-100之间偶数的和为:"+sum);
    
                System.out.println("------------------");                   
                int sum2=0;
                //每次循环让i间隔2
                for(int i=0;i<=100;i=i+2){
                    sum2+=i;
                }
                System.out.println("1-100之间偶数的和为:"+sum2);
            }
        }
    
    练习3:打印输出所有的水仙花数,并统计个数
        什么是水仙花数:是一个3位数,每一位数字的立方和等于该数本身。
        举例:153=1*1*1+5*5*5+3*3*3
    
        /*
            统计思想:
                所有求个数的问题,都按照下面的思路来做
                A:定义一个计数器count
                B:如果满足条件count++
        */
        public class ForTest4{
            public static void main(String[] args){
                //定义计数器
                int count=0;
                for(int i=100;i<=999;i++){
                    int ge=i%10;
                    int shi=i/10%10;
                    int bai=i/100%10;
    
                    if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
                        System.out.println(i);
                        //满足条件count累加
                        count++;
                    }
                }
            }
        }
    
  • 2.while循环【重点】

    格式
        初始化语句;
        while(条件判断语句){
            语句体;
            控制条件语句;
        }
    
    举例:打印输出10个HelloWorld
        int i=1;
        while(i<=10){
            System.out.println("HelloWorld");
            i++;
        }
    
    练习1:求1-100之间所有整数的和,用while改写
        略
    练习2:求1-100之间所有奇数的和,用while改写
        int sum=0;
        int i=1;
        while(i<=100){
            if(i%2==1){
                sum+=i;
            }
            i++;
        }
    
        System.out.pritnln("---------------");
        int sum=0;
        int i=1;
        while(i<=100){
            sum+=i;
            i+=2;
        }
    
    练习3:求所有水仙花数的个数,用while改写
        /*
            1)获取所有的三位数100-999
            2)获取每一个三位数的个位,十位和百位
            3)判断这个三位数是否满足水仙花数的条件,如果满足条件,计数器累加
        */
        class Test3{
            public static void main(String[] args){
                //定义计数器
                int count=0;
                //初始值是100
                int i=100;
                while(i<=999){
                    //获取每一个三位数的个位,十位和百位
                    int ge=i%10;
                    int shi=i/10%10;
                    int bai=i/100%10;
                    //判断这个三位数是否满足水仙花数的条件,如果满足条件,计数器累加
                    if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
                        count++;
                    }
                    i++;
                }
                System.out.println("水仙花数的个数为:"+count);
            }
        }
    
  • 3.do...while循环

    格式
        初始化语句;
        do{
            语句体;
            条件控制语句
        }while(条件判断语句);
    
    举例:打印输出10个HelloWorld
        int i=1;
        do{
            System.out.println("HelloWorld");
            i++;
        }while(i<=10);
    
  • 4.三种循环的区别

    do...while循环语句体,至少执行一次
    for循环和while,满足条件才执行【实际开发用得较多】
    
    如何选择?
        一般情况,你知道循环的次数就是用for
        不知道循环次数,就使用while循环
    
  • 5.几种死循环【重点】

    //不能结束的循环,叫做死循环,就下面几种形式
    for(;;){
    
    }
    while(true){
    
    }
    

四、跳转语句【重点】

  • break的用法:

    1)只能在switch和循环语句中使用
    2)中断(跳出)单层循环
    3)在循环嵌套中,break可以标号来跳出指定循环
    for(int i=1;i<=10;i++){
        if(i==5){
            break;//当执行到i=5时,跳出循环(后面的i=6,7,8,9,10都不执行了)
        }
        System.out.println("HelloWorld");
    }
  • xiaoming:for(int i =1;i<=10;i++){
    •   wangcai:for(int j =1;j<=10;j++){
    • if(j==5)
    • break xiaoming;
    • }
  • continue的用法:

    1)只能在循环语句中使用
    2)结束本次循环,进入下一次循环
    3)在循环嵌套中,continue可以标号来跳出指定当前循环进入下一层循环
    for(int i=1;i<10;i++){ if(i%2==0){ continue;//结束本次循环,进入下一次循环 } System.out.println(i);//1 3 } 
原文地址:https://www.cnblogs.com/wangjintao-0623/p/9123161.html