大多数过程型编程语言都具有某些形式的控制语句,它们通常在语言间是交迭的。java使用了C语言的所有控制语句,在Java中,控制语言涉及的关键字有if-else、while、do-while、for、return、break以及选择语句switch。然而java并不支持goto语句,但在java中仍然可以进行goto形式的跳转,只是加了很多限制。
一、else-if语句
①、语句形式
if(Boolean-expression)
statement
或
if(Boolean-expression)
statement
else
statement
布尔表达式必须产生一个布尔结果,statement表示简单语句或者复合语句。
②、if-else例子
public class IfElse{
static int result=0;
static void test(int testval,int target){
if(testval>target)
result=+1;
else if(testval==target)
result=0;
else
result=-1;
}
public static void main(String[] args){
test(5,10);
System.out.println(result);
test(5,5);
System.out.println(result);
test(10,5);
System.out.println(result);
}
}
在上述语句中,else if是else后面紧跟了另一个if语句。
二、while、do-while、for迭代语句
①、while语句形式
while(Boolean-expression)
在循环开始时,执行一次布尔表达式,在开始执行下次循环时,再次执行一次布尔表达式。
while例句:
下面这个例子可产生随机数,知道满足条件为止。
public class WhileText{
static boolean condition(){
boolean flag=Math.random()<0.99;
System.out.println(flag+ ", ");
return flag;
}
public static void main(String[] args){
while(condition())
System.out.println("in while");
System.out.println("exit while");
}
}
②、do-while语句形式
do
statement
while(Boolean-expression)
do-while循环语句至少执行一次,即便表达式第一次就为false,即:先执行循环体,再进行条件判断。
③、for循环语句
for(initialization;Boolean-expression;step)
statement
public class ListCharacters{
public static void main(String[] args){
for(char c=0;c<128;c++){
//if(Character.isLowerCase(c)){
if(97<=c && c<=122){
System.out.println("int c=: "+(int)c +"char c=: "+c);
}
}
}
}
④、逗号运算符:在java语言中,for循环语句,是唯一一个可以使用逗号语句的(方法参数之间的逗号不是逗号运算符,而是用于区分不同参数的分隔符)
public class CommaOperator{
public static void main(String[] args){
for(int i=0,j=i+10;i<5;i++,j+=2*i){
System.out.println("i= "+i+"j=" +j );
}
}
}
在上述语句中,在初始化部分和进步部分都是用了逗号操作符且是顺序操作,在使用逗号操作符时要确保定义的参数类型相同,不然会编译错误。
三、无条件分支语句return、break、continue
①、return语句:两个作用,一方面用于表示方法返回返回什么值,另一方面用于结束方法的执行。
②、break语句:用于结束循环操作,另一方面用于switch分支语句中,用于结束switch语句。
③、continue语句:用于结束本次循环,返回到循环开始处,继续下次循环。
四、switch选择语句
①、语句形式:
switch(表达式){
case 常量1:
statement
break;
case 常量2:
statement
break;
..........
default:
结束switch语句
}
注意:switch表达式的结果可以是 int、short、byte、char、枚举(jdk1.7中也可以是String)类型。不可以是long、float、double、boolean等。
五、java中的标签
①、语法形式:
label:
outer-iteration{
inner-iteration{
//...
break;
//.....
continue;
//.....
continue lable1;
//.....
break lable1;
}
}
*第一个break,中断内层循环,继续执行外层循环。
*第一个continue ,结束内层本次循环,转入内层下次循环。
*第二个continue,中断内层外层循环,继续从外层循环开始执行。
*第二个break,中断内层外层循环,跳到lable1处,不在执行循环。