Java基础(四)流程控制

流程控制语句

我们在写Java代码的时候,可以说,都离不开三大流程控制语句:顺序、选择、循环。

 

选择结构

语法格式如下:

if结构,if-else结构

        //简单格式1

        if(条件) 

            语句;

 

        //简单格式2

        if(条件){

            语句;

        }

        //简单格式3

        if(条件)

            语句;

        else 

            语句;

        //简单格式4

        if(条件){

            语句;

        } else {

            语句;

        }

多重if

       //复杂格式1 

       if(表达式1)

            语句1;

        else if(表达式2)

            语句2;

        else if(表达式3)

            语句3;

        ...

        else

            语句n;

       

        //复杂格式1 

        if(表达式1){

            语句1;

        } else if(表达式2){

            语句2;

        } else if(表达式3) {

            语句3;

        } 

        ...

        else {

            语句n;

        }

 

嵌套if

        将整个if块插入到另一个if块中

        if(表达式1)

            if(表达式2)

                if(表达式3)

                    语句;

        else

            语句;

 

switch结构

JDK7.0以后switch括号中表达式的值,可以是基本数据类型的byte,short,int,char,以及String类型。

            switch(表达式){

                case 常量表达式1:

                    语句1;

                    break;

                case 常量表达式2:

                    语句2;

                    break;

                default:

                    语句3;

            }

if与switch的区别

if结构:

    -判断条件是布尔类型

    -判断条件是一个范围

        switch结构:

    -判断条件是常量值

public class SwitchDemo {

    public static void main(String[] args) {

        int n = 2;

        switch (n) {

            case 3:

                System.out.println("test 3");

            case 4:

                System.out.println("test 4");

             default:

                 System.out.println("test default");

        }

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

        switch (n) {

            default:

                System.out.println("test default");

            case 3:

                System.out.println("test 3");

            case 4:

                System.out.println("test 4");

        }

        /**

         * 输出结果:

         test default

         =======================

         test default

         test 3

         test 4

         */

    }

}

注意:通过观察上面的示例demo,我们可以看到当switch中的case语句缺少break时,default放置在不同的地方,执行的逻辑是不相同的。

default的使用,是在switch语句里,当所有的case语句都不满足条件时,则执行default语句。

default在switch的开头或中间

    若所有case都不满足条件,则执行default语句,若default语句后面紧跟break,则直接结束;若default语句后没有紧跟break,则执行default语句之后的case语句,直至遇到break或switch语句结束。

default在switch的末尾

    若所有case语句都不满足条件,则执行default语句,结束;若有case满足,则执行case语句,直至遇到break或switch语句结束,所以default在最后一行时break,我们可以省略不写(但为了代码严谨性,不建议省略)。

 

循环结构

顺序结构,就是语句从上往下,依次执行。

而选择结构,根据条件执行对应的内容。

    

while循环

语法格式如下:

    while(循环条件为true)

    {

        语句;

    }

注意:如果循环体只有一条语句,大括号可以省略。为避免死循环,小括号后面不要加分号。

//错误写法示范
public void static main(String[] args) {
    while(true);   //为避免死循环,小括号后面不要加分号
}

范例:将小于5的整数打印输出。

首先,我们分析执行流程,如下图:

public class WhileDemo {

    public static void main(String[] args) {

        //求1到5的累加和

        int n = 1;

        int sum = 0;  //  sum是存放和的变量

        while(n <= 5) {

            sum = sum + n;

            n++;

        }

        System.out.println("1到5的累加和为:"+sum);

    }

}

 

do-while循环

语法格式如下:

    do {

        语句;

    } while(循环条件);

注意事项:

1)do-while循环至少执行一次;

2)循环条件后的分号不能丢。

public class DoWhileDemo {

    public static void main(String[] args) {

        int sum = 0;

        int n = 1;

        do {

            sum += n;

            n++;

        } while(n <= 5);

        System.out.println("1到5的累加和为:"+ sum);

    }

}

 

for循环

语法格式如下:

    for(表达式1;表达式2;表达式3){

        语句;

    }

注意事项:

1)表达式1在循环中只执行一次;

2)局部变量只在定义它的大括号内有效;

3)break语句表示跳出当前循环。

public class ForDemo {

    public static void main(String[] args) {

        int sum = 0;

        for (int n=1;n<=5;n++) { //局部变量只在定义它的大括号内有效!

            sum += n;

        }

        System.out.println("1到5的累加和为:"+ sum);

    }

}

 

循环嵌套

语法格式如下:

    while(循环条件)

    {

        ......

        while(循环条件){

            ......

        }    

        ......

    }

public class StarDemo {

    public static void main(String[] args) {

        int m = 1; //

        while( m <= 10 ) {

            int n = 1;

            while(n <= 10) {

                System.out.print("*");

                n++;

            }

            System.out.println();

            m++;

        }

    }

}

 

循环结构中使用的关键字

    在循环结构中,为了控制循环体中的执行逻辑,我们经常会使用到 break 和 continue 这两个关键字。

break语句

break语句可以结束当前循环的执行。

执行完break语句后,循环体中位于break语句后面的语句就不会被执行。

在多重循环中,break语句只向外跳一层。

 

continue语句

continue语句只能用在循环里。

continue语句可以结束当前循环的执行,但是要继续下一次循环的执行。

 

 

参考链接:

https://www.cnblogs.com/JsonShare/p/6999765.html    

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值