JAVA 流程控制语句

JAVA 流程控制语句


开发工具与关键技术:idea java

作者:萧氏萧然

撰写时间:2021年6月 17日

流程控制语句:可以控制程序的执行流程。

分类:

顺序结构

选择结构

循环结构

顺序结构:

从上往下,依次执行。

//代码段

class
ShunXuJieGouDemo {

    public static void main(String[] args) {

        System.out.println("程序开始了");

        

        System.out.println("Java");

        

        System.out.println("程序结束了");

    }

}

选择结构:

if语句

switch语句

if语句:

if(){}
if(){}else{}
if(){}else if(){}else if…

if语句的格式:

if(比较表达式) {

语句体;

}

执行流程:

        先计算比较表达式的值,看返回值是true还是false。

        如果是true就执行语句体;

       反之则不执行语句体;

if语句的注意事项:

    A:比较表达式无论简单还是复杂,结果必须是boolean类型

    B:if语句控制的语句体如果是一条语句,大括号可以省略;

      如果是多条语句,就不能省略。建议永远不要省略。

    C:一般来说:有左大括号就没有分号,有分号就没有左大括号

if语句格式1:

    if(比较表达式) {

        语句体;

    }

执行流程:

    首先计算比较表达式的值,看其返回值是true还是false。

    如果是true,就执行语句体;

    如果是false,就不执行语句体;

    

注意:要确定比较表达式结果和自己想的结果一致。

if语句格式2:

    if(比较表达式) {

        语句体1;

    }else {

        语句体2;

    }

执行流程:

    首先计算比较表达式的值,看其返回值是true还是false。

    如果是true,就执行语句体1;

    如果是false,就执行语句体2;

    

注意:else后面是没有比较表达式的,只有if后面有。

由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。

所以,我们就认为他们可以完成一样的操作。

但是,他们就一点区别没有吗?肯定不是。

区别:

三元运算符实现的,都可以采用if语句实现。反之不成立。

什么时候if语句实现不能用三元改进呢?

当if语句控制的操作是一个输出语句的时候就不能。

为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

if语句的格式3:

    if(比较表达式1) {

        语句体1;

    }else if(比较表达式2) {

        语句体2;

    }else if(比较表达式3) {

        语句体3;

    }

    ...

    else {

        语句体n+1;

    }

    

执行流程:

    首先计算比较表达式1看其返回值是true还是false,

    如果是true,就执行语句体1,if语句结束。

    如果是false,接着计算比较表达式2看其返回值是true还是false,

    

    如果是true,就执行语句体2,if语句结束。

    如果是false,接着计算比较表达式3看其返回值是true还是false,

    ...

    

    如果都是false,就执行语句体n+1。

switch语句格式:

    switch(表达式) {

        case 值1:

            语句体1;

            break;

        case 值2:

            语句体2;

            break;

        ...

        default:

            语句体n+1;

            break;

    }

格式的解释:

    switch:表示这是switch选择结构

    表达式:这个地方的取值是有限定的

        byte,short,int,char

        JDK5以后可以是枚举

        JDK7以后可以是字符串

    case:后面跟的是要和表达式进行比较的值

    语句体:要执行的代码

    break:表示中断,结束的意思,可以控制switch语句的结束。

    default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。



switch语句的注意事项:

    A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

    B:default可以省略吗?

        可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

        特殊情况:

            case就可以把值固定。

            A,B,C,D

    C:break可以省略吗?

        可以省略,但是结果可能不是我们想要的。

        会出现一个现象:case穿透。

        最终我们建议不要省略

    D:default一定要在最后吗?

        不是,可以在任意位置。但是建议在最后。

    E:switch语句的结束条件

        a:遇到break就结束了

        b:执行到末尾就结束了

循环语句:for循环,while循环,do…while循环。

for循环格式:

    for(初始化语句;判断条件语句;控制条件语句) {

        循环体语句;

    }

    

    执行流程:

        A:执行初始化语句

        B:执行判断条件语句,看其返回值是true还是false

            如果是true,就继续执行

            如果是false,就结束循环

        C:执行循环体语句;

        D:执行控制条件语句

        E:回到B继续。

        

注意事项:

    A:判断条件语句无论简单还是复杂结果是boolean类型。

    B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

    C:一般来说:有左大括号就没有分号,有分号就没有左大括号

例子:

class ForDemo {

    public static void main(String[] args) {

        //最原始的做法

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("HelloWorld");

        System.out.println("----------");

        

        //这种做法不好,代码的重复度太高。

        //所以呢,我们用循环改进

        for(int x=1;x<=10;x++) {

            System.out.println("HelloWorld");

        }

    }

}
  

while循环的基本格式:

    while(判断条件语句) {


      循环体语句;

    }

    

    扩展格式:

    

    初始化语句;

   while(判断条件语句) {

         循环体语句;

         控制条件语句;

    }

    

    通过这个格式,我们就可以看到其实和for循环是差不多的。

    

    for(初始化语句;判断条件语句;控制条件语句) {

        循环体语句;

    }

//while语句版

 int x=0;

    while(x<10) {

        System.out.println("HelloWorld");

        x++;

    }

 

 

while循环和for循环的区别?

使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。

因为变量及早的从内存中消失,可以提高内存的使用效率。

其实还有一种场景的理解:

如果是一个范围的,用for循环非常明确。

如果是不明确要做多少次,用while循环较为合适。

do…while循环的基本格式:

    do {

        循环体语句;

    }while(判断条件语句);

    

    扩展格式;

    初始化语句;

    do {

        循环体语句;

        控制条件语句;

    }while(判断条件语句);
class DoWhileDemo {

    public static void main(String[] args) {

        //输出10次HelloWorld。

        int x = 0;

        do {

            System.out.println("HelloWorld");

            x++;

        }while(x<10);

        

        System.out.println("--------------");

        

        //求和1-100

        int sum = 0;

        int a = 1;

        do {

            sum += a;

            a++;

        }while(a<=100);

        

        System.out.println(sum);

    }

}
循环语句的区别:

    do...while循环至少执行一次 循环体。

    而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。

    

那么,我们一般使用哪种循环呢?

    优先考虑for,其次考虑while,最后考虑do...while

注意死循环:

    A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

    B:两种最简单的死循环格式

        while(true){...}

        for(;;){...}

循环嵌套:就是循环语句的循环体本身是一个循环语句。(外循环or内循环)

控制跳转语句:

break:中断

continue:继续
return:返回

break:中断的意思

使用场景:

A:switch语句中

B:循环语句中。

(循环语句中加入了if判断的情况)

注意:离开上面的两个场景,无意义。

如何使用呢?

A:跳出单层循环

B:跳出多层循环

要想实现这个效果,就必须知道一个东西。带标签的语句。

格式:

标签名: 语句

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值