Java流程控制语句

True和False

       Java中不允许讲一个非布尔(boolean)类型的的变量当做布尔值使用,虽然C和C++中可以(True=非零,False=0),若想在布尔测试中使用一个非布尔值,比如if(a)中,那么必须要加上一个条件表达式将其转化成布尔值 ,例如if(!=0)

If-else

       if-else是控制流程的最基本形式

       if(Boolean-expression)

              statement

      

若if后面扩后内boolean值为True则执行statement,statement是指用分号分开的的单句,或符合语句,复杂句应被扩在大括号中

      

       If(Boolean-expression){

                     ……..;

                     ……..;

       }

使用if-else判断两数字是大于小于或等于

public class IfElse{

       static int result = 0;

       static void test(int  testval,int  target){

              if(testvlal>target)

                     result = +1;

              else if(testval<target)

                     result = -1;

              else

                     result = 0; //相等

}

public static void main(String [] args){

       test(10,5);

       System.out.println(result);

       test(5,10);

       System.out.println(result);

       test(5,5);

       System.out.println(result);

}

}

输出

1

-1

0

上例中的else if的意思是在else后紧跟一个if语句。

迭代语句

Java流程控制中while,do-while,for用来控制循环,有时将他们划分为迭代语句(iteration statement)。用大括号扩住需要重复执行的语句,被扩住的语句会一直重复执行,直到起控制作用的布尔表达式(Boolean-expression)得到False的结果为止。

while

while的循环格式如下

      

while(Boolean-expression)

              statement;

      

       循环开始时,会判断一遍布尔表达式的值,如果为True执行语句,迭代后会从新判断布尔值,直到为false,循环结束。

      

下面的例子是判断生成的随机数是否符合条件

public class WhileTest{

static Boolean condition(){

       Boolean result=Math.random() < 0.99;

       System.out.print(result+”.”);

       return result;

}

public static void main(String [] args){

       while(condition())

              System.out.print(“循环中 ‘while”);

       System.out.print(“退出 ‘’while”);

}

}

}

condition()方法里面用到了Math库里面的static(静态)方法random(),该方法的作用是产生0和1之间(包括0,但不包括1)的一个double值。result的值是通过比较操作符<而得到的,这个操作符将产生boolean类型的结果

do-while

do-while的格式如下:

       do

              statement

       while(Boolean-expression);

      

       区别于while循环,do-while循环至少会循环一次,比如循环开始时布尔值就为false,while循环会直接停止循环,而do-while会循环一次。

for

for循环是三种循环中最常用到的迭代形式,这种循环在第一次迭代之前要进行初始化。随后,它会进行条件测试,而且在每一次迭代结束时,进行某种形式的”进步”。for循环的格式如下

for(initialization;Boolean-expression;step)

       statement

初始化(initialization)表达式,布尔表达式(Boolean-expression),或者进步(step)运算都可以为空。但是表达式后面的”;”不可以不写。每次迭代前会测试布尔表达式。若获得的结果是true,就会执行for语句后面的代码行。每次循环结束,会执行一次进步

for循环常用于执行”计数”任务:

public class ListCharacters{

       public static void main(String [] args){

              for(char c=0;c<128;c++)

                     if(Character.isLowerCase(c))

                            System.out.println(“value: ”+(int)c+” character: ” + c);

}

}

输出:

value: 97 character : a

value: 98 character : b

.

.

.

       变量c是在程序用到它的地方被定义的,也就是在for循环的控制表达式里,而不是在main()开始的地方定义的。c的作用域就是for控制的表达式的范围内。

       Character是char类型的包装类isLowerCase()方法是判断是否为小写

posted on 2011-02-15 20:02  柠檬哥  阅读(686)  评论(0编辑  收藏  举报

导航