程序控制语句
同C一样,Java也同样有这个东西。基本上与c一样。
if
if 的用法也同C基本一样,一点区别是 if 后面括号里必须是 Boolean 类型的值。而不是像C那样大于0的代表为 true,小于0的代表 false;例:
Boolean sFlag = false;
if(sFlag == false ) {
sFlag = !sFlag;
}
if(sFlag == true ) {
System.out.println("love");
}
也可以有 else if ,它和两个 if 的区别是,两个 if 都要进行判断,而 else if 的话,只要前面的 if语句执行了,后面的 else if 就不会进行判断,更不会执行。例:
if(sFlag == false ) {
ImageIcon icon = new ImageIcon("src\\images\\BAS.GIF");
this.setIcon(icon);
sFlag = !sFlag;
}else if(sFlag == true) {
ImageIcon icon = new ImageIcon("src\\images\\BA.GIF");
this.setIcon(icon);
sFlag = !sFlag;
}else{
System.out.pirntln("shit")//这句肯定不会被执行
}
switch
其实这个控制语句我是基本没怎么用过,功能和 C 一样,也经常和break、continue、default配合使用。
for(int i=0; i<6; i++)//这里可以不需要大括号括起来
switch(i) {
case 0:
System.out.println("i is zero.");
break;
case 1:
System.out.println("i is one.");
break;
case 2:
System.out.println("i is two.");
break;
case 3:
System.out.println("i is three.");
break;
default:
System.out.println("i is greater than 3.");
}
参考书上的三点:
(1) switch语句不同于if语句的是switch语句仅能测试相等的情况,而if语句可计算任何
类型的布尔表达式。也就是switch语句只能寻找case常量间某个值与表达式的值相
匹配。
(2)在同一个switch语句中没有两个相同的case常量。当然,外部switch语句中的case常
量可以和内部switch语句中的case常量相同。
(3) switch语句通常比一系列嵌套if语句更有效。
while
没什么说的,当它的控制表达式是真时, while语句重复执行一个语句或语句块。例:
int a = 10, b = 20;
while(a < b)
System.out.println("This will run forever")
while(++a < --b) ; // no body in this loop;
//这句话也是合法的
//在专业化的Java代码中,一些可以由控制表达式本身处理的短循环通常都没有循环体
do while
也没什么说的,与 C 一样,最开始一遍循环肯定会执行的。 ## 标题
int n = 10;
do {
System.out.println("tick " + n);
} while(--n > 0);
for
for循环,与 C 不一样是可以初始化两个变量,这里逗号仅仅是一个分隔符,只
适用于for循环。:例:
for(a=1, b=4; a<b; a++, b--) {
System.out.println("a = " + a);
System.out.println("b = " + b);
}
如果for循环的三个部分全为空,你就可以创建一个
无限循环(从来不停止的循环)。
for( ; ; ) {
}
break/contiune/return
这些也控制语句,这里先不想写啦。