第三章 流程控制语句

第一部分:选择

3.1 boolean 数据类型

boolean 数据类型声明一个具有值 true 或者 false 的变量。

比较的结果是一个布尔值:true (真)或 false (假)。 

相等的关系操作符是两个等号(==), 而不是一个等号( = ), 后者是指斌值操作符。

具有布尔值的变量称为布尔变量( boolean variable), boolean 数据类型用于声明布尔 型变量。boolean 型变量可以是以下这两个值中的一个:true 和 false。例如,下述语句将 true 赋值给变量lightsOn:

      boolean lightsOn = true;

3.3 if 语句

if 语句是一个结构,允许程序确定执行的路径。

Java 有几种类型的选择语句:单分支 if 语句、双分支 ifelse 语句、嵌套 if 语句、多 分支 ifelse 语句、switch 语句和条件表达式。

3.3.1 单分支if语句

if (布尔表达式){

      语句(组);

}

如果布尔表达式计算的结果为 true , 则执行块内语句。

例子:

if (radius >= 0) {
   area = radius * radius * PI;
   System.out.println("The area for the circle of radius " + radius + "is area”);
}

 

若圆括号内布尔表达式为假,则直接向下运行,不看花括号中的内容。若为真,则运行花括号中的内容。

3.3.2 双分支 if-else 语句

当指定条件为 true时单分支 if 语句执行一个操作。而当条件为 false时什么也不干。 但是,如果你希望在条件为 false 时也能执行一些动作,该怎么办呢?你可以使用双分支 if 语句。根据条件为 true 或 false, 双分支 if 语句可以指定不同的操作。

if (布尔表达式> {
    布尔表达式为其时执行的语句(组);
}else{
    布尔表达式为假时执行的语句(组);
}

当布尔表达式为真时,执行if里面的语句;当布尔表达式为假时,执行else里面的语句。

3.3.3 多分支 if-else 语句

if (布尔表达式> {
    布尔表达式为其时执行的语句(组);
}else if(布尔表达式){
    布尔表达式为假时执行的语句(组);
}else{
    布尔表达式为假时执行的语句(组);
}

 满足那个圆括号里的布尔表达式,就执行相对应的语句组。

3.4 switch语句

switch 语句基于变量或者表达式的值来执行语句。

下面是 switch 语句的完整语法:

switch (switch 表达式){
    case 值 1: 语句(组)1;
    break;
    case 值 2: 语句(组)2;
    break;
    case 值 N: 语句(组)Nv
    break;
    default:R认情况下执行的语句(组)
>

 switch 语句遵从下述规则:

① switch 表达式必须能计算出一个 char、byte、short,int 或者 String 型值,并且必 须总是要用括号括住。(char 和 String 类型将在下一章介绍。)

② valuel,...,valueN 必须与 switch 表 达 式 的 值 具 有 相 同 的 数 据 类 型。注 意: valuel, valueN 都是常量表达式,也就是说这里的表达式是不能包含变量的,例如,不 允许出现 1+X。

③ 当 switch 表达式的值与 case 语句的值相匹配时,执行从该 case 开始的语句,直到 遇到一个 break 语句或到达该 switch 语句的结束。

④ 默认情况(default)是可选的,当没有一个给出的 case 与 switch 表达式匹配时, 用来执行该操作。

⑤ 关键字 break 是可选的。break 语句会立即终止 switch 语句。

3.5 操作符的优先级和结合规则

优先级规则定义了操作符的先后次序,如 表 3 - 8 所示,它包含了目前所学的所有操作符。 它们从上到下按优先级递减的方式排列。逻辑操作符的优先级比关系操作符的低,而关系操 作符的优先级比算术操作符的低。优先级相同 的操作符排在同一行。

第二部分 循环语句

3.6 while 循环

while 循环在条件为真的情况下,重复地执行语句。

while 循环的语法如下 :

while( 循环继缞条件){
    // 循环体
    语句 C 组 );
}

 

3.7 do while 循环 

dowhile 循环是 while 循环的变体。它的语法如下:

do {
    // 循环体 ;
    语句(组 );
} while ( 循环继续条件);

首先执行循环体,然后计算循环继续条件。如果 计算结果为 true, 则重复执行循环体;如果为 false, 则终止 dowhile 循环。while 循环与 dowhile 循环的 差别在于:计算循环继续条件和执行循环体的先后顺 序不同。

3.8 for 循环

for 循环具有编写循环的简明语法。

通常,for 循环的语法如下所示:

for (初始操作;循环鏈续条件;每次迭代后的操作){
    // 循环体;
    语句(组);
}

 

for 循环使用一个变量来控制循环体的执行次数,以及什么时候循环终止。 这个变量称为控制变量。初始化动作是指初始化控制变量,每次迭代后的 动作通常会对控制变量做自增或自减,而循环继续条件检验控制变量是否达到终止值。 

例:下面的 for 循环打印 Welcome to Java! 100 次:

int i;
for (i = 0; i < 100; i++){
    System.out.println("Weicowe to Java!");
}

循环控制变量可以在 for 循环中声明和初始化。因此上面的代码可以写为:

for (int i = 0; i < 100;i++){
    System.out.println("Weicome to Java!");
}

3.9 采用哪种循环

while 循环和 for 循环都称为前测循环, 因为继续条件是在循环体执行之 前检测的,dowhile 循环称为后测循环, 因为循环条件是在循环体执行之后检测的。三种形式的循环语句:while、dowhile 和 for, 在表达上是等价的。也就是说, 可以使用这三种形式之一来编写一个循环。

例如,下面的 a 中 while 循环总能转化为图 b中 的 for 循环:

//A
while(loop-continuuation-condition) {
    //loop-body;
}

//B
for(;loop-continuuation-condition;) {
    //loop-body;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值