控制语句(顺序、条件、循环)

控制语句:把语句组合乘能完成一定功能的小逻辑模块。它分为三类:顺序、选择和循环

顺序结构

先执行 a 再执行 b 的逻辑


 

条件判断结构(选择结构)

“如果……,则……”的逻辑

 

if单分支结构

    if(布尔表达式){
        语句块
    }

1.如果if语句不写{},则if只作用于第一条语句

2.强烈建议,任何时候都加上{},有可能后期改版需要加上一些其他语句

【示例】掷骰子游戏

/** 游戏规则
 *      1.如果三次的值加起来大于15,则手气不错
 *      2.如果在10~15之间,一般
 *      3.如果在10一下,不怎么样
 */


public class Test {
    public static void main(String[] args){
        int i = (int)(Math.random() * 6) + 1;
        int j = (int)(Math.random() * 6) + 1;
        int k = (int)(Math.random() * 6) + 1;

        int count = i + j + k;

        if(count >= 15){
            System.out.println("哟,手气不错!");
        }
        if(count >= 10 && count < 15){
            System.out.println("手气一般");
        }
        if(count < 10){
            System.out.println("手气不行");
        }

        System.out.println("得分\t" + count);
    }
}

 


if—else双分支结构

    if(布尔表达式){
        语句块1; // 如果布尔表达式值为 true 执行 语句块1
    }else{
        语句块2; // 如果布尔表达式值为 false 执行 语句块2
    }

【示例】

public class Test {
    public static void main(String[] args){
        int i = (int) (Math.random() * 6) + 1;

        System.out.println(i);
        if(i > 3){
            System.out.println("较大的数");
        }else{
            System.out.println("较小的数");
        }

        //  与下面的语句同理
        System.out.println(i > 3 ? "较大的数" : "较小的数");
    }
}

 

if—else if—else多分支结构

    if(布尔表达式1){
        语句块1;
    }else if(布尔表达式2){
        语句块2;
    }……
    else if(布尔表达式3){
        语句块n;
    }else{
        语句块n + 1;
    }

【示例】掷骰子游戏

/** 游戏规则
 *      1.如果三次的值加起来大于15,则手气不错
 *      2.如果在10~15之间,一般
 *      3.如果在10一下,不怎么样
 */


public class Test {
    public static void main(String[] args){
        int i = (int)(Math.random() * 6) + 1;
        int j = (int)(Math.random() * 6) + 1;
        int k = (int)(Math.random() * 6) + 1;

        int count = i + j + k;

        if(count >= 15){
            System.out.println("哟,手气不错!");
        }else if(count >= 10){ // 10~15
            System.out.println("手气一般");
        }else{
            System.out.println("手气不行");
        }

        System.out.println("得分\t" + count);
    }
}

swichd多分支结构(多值情况)

    swich(表达式){
        case 值1: 
            语句块1;
            break;
        case 值2:
            语句块2;
            break;
        …………
        default:
            默认语句块;  //default 可有可不有    
    }

1. swich 会根据表达式的值从相匹配的 case 标签处开始执行,一直执行到 break 处或者是 swich 的末尾。

如果表达式的值与任一 case 的值不匹配,则进入 default 语句

2. swich中表达式的值可以是 int /(short / byte / char /  这三个可以转 成 int) 枚举 / 字符串, 但是 long 不行

【示例】

import java.util.Scanner; // 导入类

public class Test {
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);

        System.out.println("请输入您要判断的月份:(1~12)");
        int month = s.nextInt();

        switch (month){
            case 12:
            case 1:
            case 2:
                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("错误输入!");
        }

    }
}

 

循环结构

循环结构分为两大类:当型直到型

当型

当布尔表达式条件为true,反复执行某语句,当布尔表达式的值为false是才停止循环 比如 whilefor 循环

while循环

    while(布尔表达式){
        循环体;
    }

1.循环刚开始时,会计算一次布尔表达式的值,为true就执行循环体,每一次额外的循环都会在开始前重新计算一次。

2.应有一次使布尔表达式值为false或者循环体内有语句跳出循环,使循环有穷,否则会出现死循环

public class Test {
    public static void main(String[] args){
       int i = 0;
       // 打印三次 Hello
       while(i < 3){
           System.out.println("Hello");
           i ++; // 少了这一行会死循环
       }
    }
}

for循环

    for(初始表达式; 布尔表达式;迭代因子){
        循环体;
    }

1.初始部分设置:循环变量的初值

2.条件判断部分为:布尔表达式

3.迭代因子:控制循环变量的增减

【示例】

public class Test {
    public static void main(String[] args){
       // 打印三次 Hello
       int sum = 0;
       for(int i = 0; i <= 100; i ++){ // 和c与c ++相似
           sum += i;
       }
       System.out.println(sum);
    }
}

直到型(do—while)

  先执行某语句,再判断布尔表达式,如果为true,再执行某语句,如此反复, 直到布尔表达式条件为false时停止循环, 比如 do—while 循环

 

    do{
        循环体;
    }while(布尔表达式); // 不要忘记这边还有个分号

【示例】

public class Test {
    public static void main(String[] args){
        int i = 0;
        int sum = 0;
        do{
            sum += i;
            i ++;
        }while(i <= 100);
        System.out.println(sum);
    }
}

 

posted @ 2022-01-24 20:34  我就一水  阅读(313)  评论(0)    收藏  举报