您的位置:首页 > 其它

流程控制语句(if,switch,for,while,do-while)

2016-06-12 13:41 573 查看
在Java 里,涉及的关键字包括if-else、while、do-while、for以及一个名为 switch的选择语句。

所有条件语句都利用条件表达式的真或假来决定执行流程。

1. if-else

if-else 语句或许是控制程序流程最基本的形式。其中的 else 是可选的,所以可按下述两种形式来使用if:

if(布尔表达式) {

  语句1

}

或者

if(布尔表达式) {

  语句1

} else {

  语句2

}

或者

if (布尔表达式1) {

  语句1

} else if (布尔表达式2) {

  语句2

}  else if (布尔表达式3) {

  语句3

} else {

  语句4

}

可以嵌套多个else if

条件必须产生一个布尔结果。“语句”要么是用分号结尾的一个简单语句,要么是一个复合语句——封闭在

括号内的一组简单语句。需要注意的是,语句最好用标准写法花括号括起来,易于代码的阅读。

package com.lanhuigu.base;

public class IfElseTest {
public static void main(String[] args) {
int num1 = 1;
int num2 = 2;
if (num1>num2) {
System.out.println("num1大于num2");
} else {
System.out.println("num1小于num2");
}
}
}
执行结果:

num1小于num2

2.while

用于反复循环,语法结构:

while (布尔表达式) {

  语句

}

eg:

package com.lanhuigu.base;

public class WhileTest {
public static void main(String[] args) {
int num = 10;
while (num > 0) {
System.out.println("循环当前NUM值:"+num);
--num;// 每循环一次num自动减1,生成新的num,进行num>0进行比较,满足继续执行,否则跳出while
}
}
}
执行结果:

循环当前NUM值:10

循环当前NUM值:9

循环当前NUM值:8

循环当前NUM值:7

循环当前NUM值:6

循环当前NUM值:5

循环当前NUM值:4

循环当前NUM值:3

循环当前NUM值:2

循环当前NUM值:1

3.do-while

语法结构:

do {

  语句

} while(布尔表达式);

先执行语句,再判断while布尔条件,满足继续执行语句,否则跳出do-while,与while相比在于do-while无论是否满足条件,

上来就先执行do里的语句,然后再谈条件,颇有点黑社会气质,做事比较刚猛。

eg:

package com.lanhuigu.base;

public class DoWhileTest {
public static void main(String[] args) {
int num = 10;
do {
System.out.println("循环当前的NUM:" +num);
--num;
} while (num > 0);

System.out.println("========================");
int numTest = 10;
do {
System.out.println("无论条件是否满足,先执行改语句;再去判断numTest>10是否成立,"
+ "成立再执行该语句,否则跳出do-while");
} while (numTest > 10);
}
}
执行结果:

循环当前的NUM:10

循环当前的NUM:9

循环当前的NUM:8

循环当前的NUM:7

循环当前的NUM:6

循环当前的NUM:5

循环当前的NUM:4

循环当前的NUM:3

循环当前的NUM:2

循环当前的NUM:1

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

无论条件是否满足,先执行改语句;再去判断numTest>10是否成立,成立再执行该语句,否则跳出do-while

4.for

for循环在第一次反复之前要进行初始化。随后,它会进行条件测试,而且在每一次反复的时候,进行某种

形式的“步进”(Stepping)。语法结构如下:

for(初始表达式; 布尔表达式; 步进) {

    语句

}

eg:

package com.lanhuigu.base;

public class ForTest {
public static void main(String[] args) {
for (int num = 1;num <= 10;++num) {
System.out.println("当前循环的NUM:"+num);
}
}
}
执行结果:

当前循环的NUM:1

当前循环的NUM:2

当前循环的NUM:3

当前循环的NUM:4

当前循环的NUM:5

当前循环的NUM:6

当前循环的NUM:7

当前循环的NUM:8

当前循环的NUM:9

当前循环的NUM:10

5.switch

“开关”(Switch)有时也被划分为一种“选择语句”。根据一个整数表达式的值,switch语句可从一系列

代码选出一段执行。它的格式如下:

switch(整数选择因子) {

case 整数值1 : 语句; break;

case 整数值2 : 语句; break;

case 整数值3 : 语句; break;

case 整数值4 : 语句; break;

case 整数值5 : 语句; break;

//..

default:语句;

}

其中,“整数选择因子”是一个特殊的表达式,能产生整数值。switch 能将整数选择因子的结果与每个整数

值比较。若发现相符的,就执行对应的语句(简单或复合语句)。若没有发现相符的,就执行default语句。

eg:

package com.lanhuigu.base;

public class SwitchTest {
public static void main(String[] args) {
int num = 2;//变换num的值,体验语法
switch (num) {
case 1:System.out.println("当前选中的NUM值:" + num); break;
case 2:System.out.println("当前选中的NUM值:" + num); break;
case 3:System.out.println("当前选中的NUM值:" + num); break;
case 4:System.out.println("当前选中的NUM值:" + num); break;
case 5:System.out.println("当前选中的NUM值:" + num); break;
case 6:System.out.println("当前选中的NUM值:" + num); break;
case 7:System.out.println("当前选中的NUM值:" + num); break;
case 8:System.out.println("当前选中的NUM值:" + num); break;
default:System.out.println("没有找到对应的NUM,执行该默认语句"); break;
}
}
}
执行结果:

当前选中的NUM值:2

注意:在java 7中,对switch表达式进行了放宽处理,可以使用字符串判断。

eg:

package com.lanhuigu.base.testswitch;

public class TestSwitch {
public static void main(String[] args) {
String sex = "0";
switch (sex) {
case "0":
System.out.println("This is man!");
break;

default:
System.out.println("This is woman!");
break;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: