Java基础学习第四天(控制流程语句)

一、顺序语句

定义:按照代码顺序从上往下执行所有的代码就是顺序语句

二、if判断语句

1、if判断语句的格式
① 格式1:适用于一种情况使用。

if(判断的条件){
    符合条件执行的代码;      
}

② 格式2:适用于两种情况下去使用的。

if(判断条件){
    符合条件执行的代码;
}else{
    不符合条件执行的代码;
}

if-else 与三元运算符非常像:
三元运算符结构比较简洁,但是三元运算符符合条件必须要返回一个结果,不能执行语句。
③ 格式三: 适用于多种情况下去使用的。

if(判断条件1){
        符合条件1执行的代码;
    }else if(判断条件2){
        符合条件2执行的代码;
    }else if(判断条件3){
        符合条件3执行的代码;
    }......else{
        都不符合上述的条件执行的代码;
    }

2、if语句要注意的细节
① 如果符合条件后只有一个语句需要执行,那么可以省略大括号;但是建议不要省略,因为结构不清晰
② if语句的判断条件后不能添加分号,否则会影响到执行的效果的

class Demo4.1{
    public static void main(String[] args){ 
        //需求1:工作经验要两年或者两年以上
        int workAge = 2;            
        if(workAge>=2){
            System.out.println("电话通知你面试");
        }           
        if(workAge>=2){
            System.out.println("电话通知你面试");
        }else{
            System.out.println("电话通知不要再投简历了,不收你!!");
        }   

        //需求2:根据一个变量所记录的数字输出对应的星期。0代表星期天、1代表星期一……
        int num = 31;       
        if(num==0){
            System.out.println("星期天");
        }else if(num==1){
            System.out.println("星期一");
        }else if(num==2){
            System.out.println("星期二");
        }else if(num==3){
            System.out.println("星期三");
        }else if(num==4){
            System.out.println("星期四");
        }else if(num==5){
            System.out.println("星期五");
        }else if(num==6){
            System.out.println("星期六");
        }else{
            System.out.println("没有对应的星期");
        }
    }
}

3、需求: 键盘录入一个分数,根据分数输出对应的等级
比如: 100~90[A等级]、89~80[B等级]……其余[E等级]
录入数据的步骤:创建一个扫描器对象 > 调用扫描器对象的nextInt方法扫描数据 > 导入包

import java.util.*;
class Demo4.2{
    public static void main(String[] args){ 
        //创建一个扫描器
        Scanner scanner = new Scanner(System.in);
        //调用扫描器扫描键盘录入的数据        
        System.out.println("请输入一个分数:");
        int score = scanner.nextInt(); //定义了一个num变量接收扫描到内容
        System.out.println("录入的数据是:"+score);        
        if(score>=90&&score<=100){
            System.out.println("A等级");
        }else if(score>=80&&score<=89){
            System.out.println("B等级");
        }else if(score>=70&&score<=79){         
            System.out.println("C等级");
        }else if(score>=60&&score<=69){         
            System.out.println("D等级");
        }else if(score>=0&&score<=59){          
            System.out.println("E等级");
        }else{
            System.out.println("补考..");
        }
    }
}

三、switch选择判断语句

1、switch语句的格式

switch(你的选择){   
    case1:
        符合值1执行的代码;
        break;
    case2:
        符合值2执行的代码;
        break;
    case3:
        符合值3执行的代码;
        break;
    case4:
        符合值4执行的代码;
        break;
    ......
    default: 
        你的选择都符合上述的选项时执行的代码;
        break;
}

2、switch语句要注意的事项
① switch语句使用的变量只能是byte、 char、 short、int、 String数据类型,String数据类型是从jdk7.0的时候开始支持的。
② case后面跟的数据必须是一个常量。
③ 停止条件:switch语句一旦匹配上了其中的一个case语句,那么就会执行对应的case中的语句代码,执行完毕之后如果没有遇到break关键字或者是结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行所有的代码;直到遇到break或者是结束siwitch语句的大括号为止。
④ 在switch语句中不管代码的顺序如何,永远都是会先判断case语句,然后没有符合的情况下才会执行default语句。
⑤ if–else if—else if 语句与switch语句非常的相似:
switch语句的结构清晰,但是如果判断的条件是一个区间范围的,使用switch操作就非常的麻烦了。

3、需求: 接受键盘录入一个月份, 根据对应的月份输出对应的季节。
3 4 5 [春天]
6 7 8 [夏天]
9 10 11 [秋天]
1 2 12 [冬天]
要求使用switch语句实现。

import java.util.*;
class Demo4.3{
    public static void main(String[] args){
        System.out.println("请输入一个月份:");
        //创建一个扫描器
        Scanner scanner = new Scanner(System.in);
        //调用扫描器的nextInt方法
        int month = scanner.nextInt();
        switch(month){
            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;
            case 12:
            case 1:
            case 2:
                System.out.println("冬天");
                break;
            default:
                System.out.println("没有对应的季节");
                break;
        }
    }
}

四、while循环语句

1、while循环 语句的格式

while(循环的条件){
    循环语句;
}

2、while循环语句要注意的事项
① while循环语句一般是通过一个变量控制其循环的次数,其中Ctrl+C可以强制退出死循环。
② while循环语句的循环体代码如果只有一个语句的时候,那么可以省略大括号,但是不建议省略
③ while循环语句的判断条件后面不能跟有分号,否则会影响到执行的效果。

3、需求: 计算1+2+3+….+ 100的总和。

class Demo4.4{
    public static void main(String[] args){
        int num = 1;
        int sum  = 0;//定义一个变量用于保存每次相加的结果
        while(num<=100){
            sum = sum+num;
            num++;
        }
        System.out.println("sum = "+ sum);
    }
}

4、需求:实现猜数字游戏, 如果没有猜对可以继续输入你猜的数字,如果猜对了停止程序。最多只能猜三次,如果还剩下最后一次机会的时候要提醒用户。
创建一个随机数的步骤:创建一个随机数对象 > 调用随机数对象的nextInt方法 > 导包

import java.util.*;
class Demo4.5{
    public static void main(String[] args){
        //创建一个随机数对象
        Random random = new Random();
        //调用随机数对象的nextInt方法产生一个随机数
        int randomNum = random.nextInt(10)+1; //要求随机数是:1~10
        //创建一个扫描器对象
        Scanner scanner = new Scanner(System.in);   
        boolean flag=true;  
        while(flag){
            System.out.println("请输入你要猜的数字:");
            //调用扫描器的nextInt方法扫描一个数字
            int guessNum = scanner.nextInt();
            if (guessNum>randomNum){
                System.out.println("猜大了..");
            }else if(guessNum<randomNum){
                System.out.println("猜小了..");    
            }else{
                System.out.println("恭喜你,猜对了`..");   
                break;
            }
        }       
    }
}

五、do-while循环语句

1、格式

do{
    循环语句;
    }while(判断条件);

2、while循环语句与do-while循环语句的区别
while循环语句是先判断后执行循环语句的;do-while循环语句是先执行,后判断;不管条件是否满足至少会执行一次。

class Demo4.6{
    public static void main(String[] args){
        //在java中,java编译器是不允许写废话。    
        int count=0;    
        do
        {
            System.out.println("hello world");
            count++;
        }while(count<5);
    }
}

3、需求: 使用do-while算出1-100之间偶数的总和。

class Demo4.7{
    public static void main(String[] args){
        int num = 1;
        int sum = 0;//定义一个变量用于保存每次相加的总和
        do{
            if(num%2==0){
                sum += num;
            }
            num++;
        }while(num<101);
        System.out.println("sum = "+ sum);
    }
}

六、for循环语句

1、for循环语句的格式

for(初始化语句;判断语句;循环后的语句){
        循环语句;
    }

2、for循环语句要注意的事项:
for(;;)这种写法是一个死循环语句,相当于while(true)
② for循环语句的初始化语句只会第一次循环的时候执行一次
③ for循环语句的循环体语句只有一句时,可以省略大括号不写,但不建议省略

3、需求: 在控制上打印五句hello world

class Demo4.8{
    public static void main(String[] args){         
        for(int count = 0 ; count<5;  count++){         
            System.out.println("hello world");
        }   
    }
}

4、需求: 在控制台上打印一个五行五列的矩形

    *****
    *****
    *****
    *****
    *****
class Demo4.9{
    public static void main(String[] args){
        for(int j = 0 ; j<5 ; j++){ //控制行数
            for(int i = 0 ; i<5 ; i++){ //控制列数
                System.out.print("*");
            }  // *****         
            System.out.println();//换行       
        }
    }
}

5、需求: 在控制台上打印一个五行的正立的直角三角形

*
**
***
****
*****
class Demo4.10{
    public static void main(String[] args){
        for(int i = 0 ; i< 5 ; i++){
            for(int j = 0 ; j<=i ; j++){ //控制列数 
                System.out.print("*");
            }           
            System.out.println();//换行
        }
    }
}

6、需求: 打印一个倒立的五行的直角三角形

*****
****
***
**
*
class Demo4.11{
    public static void main(String[] args){
        for(int i = 0 ; i<5;  i++){
            for (int j = 0 ; j<(5-i)  ;j++ ){
                System.out.print("*");
            }
            System.out.println();//换行
        }
    }
}

7、需求: 打印一个九九乘法表

class Demo4.12{
    public static void main(String[] args){
        for(int i = 1 ; i<=9 ; i++){
            for(int j = 1 ; j<=i ; j++){ //控制列数 
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();//换行
        }
    }
}

猜你喜欢

转载自blog.csdn.net/mr_gaoyang/article/details/80017984