Java——逻辑控制

在Java中,程序的逻辑控制分为三种:顺序结构、分支结构、循环结构

 一、顺序结构

相对于分支结构和循环结构,顺序结构是最简单的一个。顾名思义,顺序结构,就是按照程序的书写顺序运行。

例:如该程序所示,输出的结果是按照程序的顺序输出的,这就是顺序结构的最大的特点

public class SequentialStructure {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        //输出结果是10、20、30
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        
        //输出结果是30、10、20
        System.out.println(c);
        System.out.println(a);
        System.out.println(b);
    }
}

二、分支结构

分支结构分为两种:if语句和switch语句

1.if语句

if语句有三种格式;

①当布尔表达式为true时,执行if内的代码,如果为false时,跳过if语句,继续执行程序

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

        //举例
        int score = 50;
        if(score > 60){
            System.out.println("成绩合格");
        }
        System.out.println("成绩不合格");

②当布尔表达式为true时执行语句1,否则执行语句2

        //格式
        if(布尔表达式){
            //语句1
        }else{
            //语句2
        }
        
        //举例
        int age = 20;
        if(age >= 18){
            System.out.println("已成年");
        }else{
            System.out.println("还是未成年");
        }

③当布尔表达式1成立时,执行语句1,否则判断布尔表达式2是否成立,若成立,则执行语句2,若不成立,则执行语句3

        //格式
        if(布尔表达式1){
            //语句1
        }else if(布尔表达式2){
            //语句2
        }else{
            //语句3
        }


        //举例
        int num = -9;
        if(num == 0){
            System.out.println("该数为 0");
        }else if(num > 0){
            System.out.println("该数为正数");
        }else{
            System.out.println("该数为负数");
        }

注①:在写if语句时,切忌在if(布尔表达式)后边加;,如果加了分号,那么if后的代码块就和if没有 任何关系,所以程序也不会向着你想的方向执行。

        就如以下例子所示,多了一个分号,那么在代码执行的时候就不会认为存在if分支语句,所以该程序的输出为:“成绩合格”、“成绩不合格”,本应该输出其中一个但是因为多出了一个“;”,就全部被输出了。

        int score = 50;
        if(score > 60);{
            System.out.println("成绩合格");
        }
        System.out.println("成绩不合格");

注②:在写if分支语句的时候,要注意悬挂else的情况,在写if/else语句时,可以不加“{}”,但是只    能写一条语句,并且else会和最近的if进行匹配,所以一般不建议这样写if分支语句。

2.switch语句

格式:

        switch(表达式){
            case 常量1:
                //语句1
                break;
            case 常量2:
                //语句2
                break;
            ……
            default:
                //语句n
                break;
        }

执行程序时,先计算表达式的值,与case依次进行比较,当有相等的情况时,就返回对于case下的语句,如果走到最后都没有与表达式匹配的case,则返回default下的语句。

注①:在每一个case后都需要有break来跳出该结构,不然就会输出所有的结果。

注②:switch的括号的表达式只能是:基本类型:byte、char、short、int,其他的类型都不可以

引用类型:String常量串、枚举类型

注③:switch的局限性比较大,switch括号中的表达式不能是复杂的表达式;switch也支持嵌套。

例子:

        //switch语句举例1:表达式为基本类型int
        //输出结果为:星期六
        int day = 6;
        switch(day){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("输入有误!");
                    break;
        }

        //switch语句举例2:表达式为引用类型String
        //输出结果为:你好
        String a = "你好";
        switch(a){
            case "你好":
                System.out.println("你好");
                break;
            case "早上好":
                System.out.println("早上好");
                break;
            case "晚上好":
                System.out.println("晚上好");
                break;
            case "晚安":
                System.out.println("晚安");
                break;
            default:
                System.out.println("哈哈哈");
                break;
        }

三、循环结构

循环语句分为三种:for循环语句、while循环语句、do while循环语句

在写循环结构的时候,千万不能多加”;“

1.for循环语句

格式:

        for(表达式①;布尔表达式②;表达式③){
            //语句
        }

表达式①式用于初始化循环变量;布尔表达式②是循环的终止条件,循环到不满足布尔表达书②时循环结束;表达式③是循环变量的更新方式

举例:

        //打印1-10的数字
        for(int i = 1;i <= 10;i++){
            System.out.println(i);
        }

注①:for循环语句也可以不写“{}”,但是不写的话在for循环下只能写一条语句

2.while循环语句

格式:

        while(循环条件){
            //语句
        }

循环条件为true是,进入循环体,执行内部语句,否则结束循环。

与for循环不同的是while循环对循环变量的初始化需要在循环之前进行。

举例:

        //打印1-10的数字
        int i = 0;
        while(i <= 10){
            System.out.println(i);
            i++;
        }

for循环和while循环往往可以相互转换。

3.do while循环语句

格式:

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

循环条件为true时进行循环,但是与for循环和while循环不同的是,do while循环总会执行至少一次循环体中的语句,不管满足循环条件与否。

注①:在最后要加“;”,否则会出错,这也是do while循环和for循环、while循环的不同之处。

举例:

        //do while 循环
        int n = 1;
        do{
            System.out.println(n);
            n++;
        }while(n <= 10);

4.break 和 continue

在循环结构中,break 和 continue 很重要。break 的功能是跳出所有循环,让循环提前结束;continue 的功能是跳出本次循环,进行下一次的循环。

具体的区别:

        //输出结果为 1
        //          2
        //从3之后(包括3)就不再输出
        for(int a = 1; a <= 5;a++){
            if(a == 3){
                break;
            }
            System.out.println(a);
        }

        //输出结果为 1
        //          2
        //          4
        //          5
        //只不输出3
        for (int b = 1;b <= 5;b++){
            if(b == 3){
                continue;
            }
            System.out.println(b);
        }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值