Java 入门之流程控制语句

主要分为两种,Java** 循环控制条件判断**。

1. 循环控制

可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环。
Java有非常灵活的三循环机制。可以使用以下三种循环之一:

  • while 循环
  • do...while 循环
  • for 循环

while 循环 ,特点:先判断,后执行

while循环是一个控制结构,可以重复的特定任务次数。

while循环的语法是:

while(Boolean_expression)
{
   //Statements
}```
在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行。只要该表达式的结果为真,执行将继续下去。

在这里,while循环的关键点是循环可能不会永远运行。当表达式进行测试,结果为假,循环体将被跳过,在while循环之后的第一个语句将被执行。

![while循环.png](http://upload-images.jianshu.io/upload_images/2293787-b29b009c17bd9283.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19```

do...while 循环 特点:先执行,后判断

do ... while循环类似于while循环,不同的是一个do ... while循环是保证至少执行一次。
do...while循环的语法是:

do
{
  //循环操作
} while (Boolean_expression);```
请注意,布尔表达式出现在循环的结尾,所以在循环中的语句执行前一次布尔测试。
如果布尔表达式为真,控制流跳回,并且在循环中的语句再次执行。这个过程反复进行,直到布尔表达式为假。

    public static void main(String[] args) {
        /**
         * do...while 至少会被执行一次
         */
        int sum=0; //保存偶数的和
        int num=2; //代表1-50之间的偶数
        do {
            sum =sum+num;   //累加求和
            num=num+2;    //每执行一次将变量值加2
        } while (num<=50);  //当变量小于或等于50时重复执行循环
        System.out.println("50以内的偶数之和为 :"+sum);
    }
运行结果如下:

50以内的偶数之和为 :650

###for 循环 

for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。知道一个任务要重复多少次的时候,for循环是有好处的。

for循环的语法是:
// 循环变量初始化;循环条件;循环变量变化部分

for(initialization; Boolean_expression; update)
{
//Statements
}```

  • 执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次
  • 进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环
  • 执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断
  • 依次重新执行< 2 >、< 3 >、< 4 >,直到退出循环

特点:相比 while 和 do...while 语句结构更加简洁易读

Java 入门之流程控制语句_第1张图片
for循环.jpg

运行结果如下:

1到100之间不能被3整除的数之和为:3367

break 关键字

生活中,我们经常会因为某些原因中断既定的任务安排。如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛。在 Java 中,我们可以使用 break 语句退出指定的循环,直接执行循环后面的代码。

Java 入门之流程控制语句_第2张图片
break.png

运行结果如下:

当前的累加值为:21

continue 关键字

continue关键字可以在任一环的控制结构使用。它使循环立即跳转到循环的下一次迭代。

  • 在for循环中,continue关键字会导致控制流立即跳转到更新语句。
  • 在一个while循环或do/while循环,控制流立即跳转到布尔表达式。
Java 入门之流程控制语句_第3张图片
continue.png

运行结果如下:

1到10之间的所有偶数的和为:30

Java 循环语句之多重循环

循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。

如下所示:

Java 入门之流程控制语句_第4张图片

例如:使用 * 打印长方形:

Java 入门之流程控制语句_第5张图片
长方形.png

运行结果如下:

*********
*********
*********
*********

执行流程:当 i = 1 时,外层循环条件成立,进入内层循环,开始打印第一行内容。此时, j 从 1 开始,循环 8 次,内层循环结束后换行,实现第一行 8 个 * 的输出。接下来返回外层循环 i 变为 2 ,准备打印下一行,依此类推,直到完成长方形的打印。

例如:使用 * 打印直角三角形:

Java 入门之流程控制语句_第6张图片
直角三角形.png

运行结果如下:

打印直角三角形
*
**
***
****

Java 条件判断

在 Java 中有两种类型的条件判断语句,它们分别是:

  • if 语句
  • switch 语句

生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如,如果考试成绩大于 90 分,则奖励一个 IPHONE 5S 。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用if 条件语句实现。
语法:

if(条件){
         //条件成立时执行的代码
        }

执行过程:

Java 入门之流程控制语句_第7张图片

if...else 语句

任何 if 语句后面可以跟一个可选的 else 语句,当布尔表达式为 false,语句被执行。
语法:

if(条件){
         //条件成立时执行的代码
    }else{
        //条件不成立时执行的代码
          }

执行过程:

Java 入门之流程控制语句_第8张图片

多重 if 语句

if 后面可以跟一个可选的 else if...else 语句,在测试不同条件下单一的 if 语句和 else if 语句是非常有用的。
当使用 if , else if , else 语句时有几点要牢记。

  • 一个 if 语句可以有0个或一个 else 语句 且它必须在 else if 语句的之后。
  • 一个 if 语句 可以有0个或多个 else if 语句且它们必须在 else 语句之前。
  • 一旦 else if 语句成功, 余下 else if 语句或 else 语句都不会被测试执行。

语法:

if(条件1){
         //代码块1
    }else if(条件2){
        //代码块1
    }else{
       //代码块3
}```

执行过程:
 ****[![](http://upload-images.jianshu.io/upload_images/2293787-7d8e9c73bdde53b7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/5364a1db0001b6fb03790248.jpg)

 #####  嵌套 if 语句
**嵌套 if 语句**,只有当外层 if 的条件成立时,才会判断内层 if 的条件。例如,活动计划的安排,如果今天是工作日,则去上班,如果今天是周末,则外出游玩;同时,如果周末天气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。

语法:
 **[![](http://upload-images.jianshu.io/upload_images/2293787-360db11922191a7e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/5364f3be000121bf01480198.jpg)**
执行过程:
 **[![](http://upload-images.jianshu.io/upload_images/2293787-5bce3e35fdd7050e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/5364bd8f0001c91e03690285.jpg)**

###switch 语句
当需要对选项进行**等值判断**时,使用 switch 语句更加简洁明了。
语法:
**[![](http://upload-images.jianshu.io/upload_images/2293787-e14c473b7d7b0e98.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/5364f4c800010b1f01620289.jpg)**
执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。

![switch.png](http://upload-images.jianshu.io/upload_images/2293787-b784ca007bb0762f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
运行结果如下:

Well done
Your grade is C```

你可能感兴趣的:(Java 入门之流程控制语句)