java-逻辑控制

顺序结构

这里的顺序结构非常好理解,就是按照自己编写代码的顺序依次执行。

        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");
        //最后控制台输出
        aaa
        bbb
        ccc

分支结构

Java中分支结构有两种:if-else if -else,switch。

if

对于代码的编写,我们肯定离不开基本语法,那么我们来谈谈 if 的基础语法。

方式一:
        if (布尔表达式) {
			//语句
        }
   如果布尔表达式为true,则执行花括号中的语句。
方式二:
        if (布尔表达式) {
            //语句
        } else if (布尔表达式) {
			//语句
        } else {
			//语句
        }
   如果if中的布尔表达式为true,则执行if花括号中的语句,如果if中的表达式为false,则判断else if的表达式,看是否为真,为真的话就执行else if对应的语句,为假的话就执行else中的语句。
方式三:
        if (布尔表达式) {
			//语句
        } else {
			//语句
        }
  判断if中的布尔表达式是否为真,为真就执行花括号中的语句,为假就执行else花括号中的语句。

希望大家对上面的内容都明白了,下面我来继续说一些注意点:
1.希望大家规范代码的书写,对于if结构的书写,尽量按照我这样来,会好看很多。
2.对于括号中都是布尔表达式,这里要求的是值要不是true要不是false。Java中数字就是数字,无真假这一说,所以if(0)这种就是错误的,编译都不会通过。
3.相信大家已经多多少少知道,啥时候加花括号,啥时候可以不加花括号。在这里我再总结一下,当判断后面只有一条语句的时候,花括号可以省略,其余任何时候花括号最好不要省略。这里也给大家个小建议,不管有几条语句,最好都把花括号加上。
4.if可以嵌套使用。
5.不要随意加分号,分号意味着语句结束。如下:

if(true);{
System.out.println("hahahah");
}
由于在if后面加了分号,所以执行完if后便结束了,不会执行花括号中的内容。

6.对于有人有不加花括号的习惯,所以会造成悬浮else的情况,当有这种情况时,else会和最近的if配对。

       if (true)
            if (true)
                System.out.println("jjj");
        else
                System.out.println("jjjj");

switch

           switch(表达式) {
            case 常量值1: {
                //语句
                break;
            }
            case 常量值2: {
                //语句
                break;
            }
            default: {
                //不满足以上条件时执行default中的内容
                break;
            }
        }

对于switch是如何执行的呢?首先计算表达式的值,然后和每个case后面的值进行比较,看是否相同,如果相同就执行对应的代码,如果所有case中都没有相同的就执行default中的内容。
注意!注意!注意!
1.每个case后面的值必须不一样
2.switch后面的表达式不能复杂,并且只可以是这几种类型:
基本类型:byte,short,int,char。肯定不可以为long类型
引用类型:String,枚举类型
3.switch也支持嵌套使用,但不建议这样用。
4.在编写代码的时候,每个case后面还有default后面都别忘了加上break,否则就体现不出分支的作用了,希望下面的例子能帮助理解。
5.default那部分内容也可以算可加可不加,但建议最好都加上。

           switch (1) {
            case 0: {
                System.out.println(0);
                break;
            }
            case 1: {
                System.out.println(1);

            }
            case 2: {
                System.out.println(2);
                break;
            }
            default: {
                System.out.println("default");
                break;
            }
        }

上述代码输出结果为1 2,为什么会输出两个数呢,大家看上面代码,在case 1后面,我并没有加break。也就意味着,我没有让程序停止,那么程序还会往后执行,也就是case 2中的语句了,直到遇到了break才不会继续往下执行,假设case 2中也没有break,那么程序还会继续往下执行直到遇到break。
还有一个知识点,在学校的时候也是会经常考。

代码正常的顺序如下:
          switch (2) {
            case 0: {
                System.out.println(0);
                break;
            }
            case 1: {
                System.out.println(1);
                break;
            }
            case 2: {
                System.out.println(2);
                break;
            }
            default: {
                System.out.println("default");
                break;
            }
        }

顺序打乱后
           switch (2) {
            case 1: {
                System.out.println(1);
            }
            case 0: {
                System.out.println(0);
            }
            default: {
                System.out.println("default");
                break;
            }
            case 2: {
                System.out.println(2);
                break;
            }
        }

有的地方会问执行顺序等等,这里我还是想说一下,大家不要被这个顺序给弄蒙了,确实顺序变乱了,但是咱们这是分支语句而不是顺序结构,肯定不会按照代码的先后顺序执行,而是得到switch后面的值后,去程序中找对应的case,(去一个一个比对)找不到再去执行default中的内容。

循环结构

下面我们对java的循环结构来展开描述。

break

在这里我们详细的来讲讲break。
1.在前面的分支结构里面也用到了break,在分支里面用break我们可以理解为提前结束程序。
2.在循环中也会用到break,在循环里面用break是提前结束循环,跳出循环,执行循环后面的内容。

continue

continue在分支中没用到过,但在循环中可少不了用,continue有啥作用呢?
简单的说,遇到continue语句后,会立即停止当前的循环而进入到下一次的循环,注意,这里并不是跳出循环,而是跳过这一次的循环,当然,continue后面的语句也就执行不到了。

while

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

当循环条件为true的时候,就会一直执行里面的语句直到不满足循环条件后。
又要来讲注意点喽!!!
1.while后面的花括号也可以省略,但只限一条语句的时候,本人建议还是不要全部不要省略了,防止不必要的错误。

for

for(表达式1;布尔表达式2;表达式3) {
	表达式4
}

这里要注意for循环的执行顺序,首先执行表达式1,然后看是否符合布尔表达式2,如果符合则执行表达式4,不符合就结束循环。当执行完表达式4的内容后,再执行表达式3,然后再判断是否符合布尔表达式2,如果符合再执行表达式4…
注意:for循环当只有一条语句的时候也可以不写{},但建议还是写上。

do while

这个循环我们只需要了解即可,更多情况用到的是for和while

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

执行顺序为:先执行循环语句,再进行判断循环条件,条件为true则继续执行,否则结束程序。
注意:
1.while后面的分号不要忘记

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值