Java中的运算符与控制流程

Java中的运算符与其他大多数语言的运算符基本一致,作用相差不大。同一个级别的运算符以从左向右的顺序运算,右结合的运算符除外。

运算符 结合性
[] . () (方法调用) 从左向右
! ~ ++ — +(一元运算) -(一元运算) ()(强制类型转换) new 从右向左
* / % 从左向右
+ – 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= += -= *= /= %= &= |= ^= <<= >>= >>>= 从右向左

 

Java中没有C++中的逗号运算符,不过可以在for语句中使用逗号运算符分隔表达式列表。另外在函数参数中也可以使用逗号分隔多个参数。

Java中使用if关键字作为条件语句,格式为

if (condition) statement

用于判断的条件必须包含在一对括号中。当括号中的条件或者条件语句为true时执行后面的statement语句。当需要执行的语句只有一句的时候可以写在一行中,如果需要执行的语句大于等于两条的时候就需要使用语句块。格式为

if (condition){
    statement1;
    statement2;
    …
}

条件语句的else部分不是必须的,它可以在if开头的条件为false时执行其中的语句,例如

if(speed<120){
    speed+=5;
}else{
    speed=120;
}

另外,重复交替的出现if…else if…也是经常使用的一种条件控制结构。当if中的条件为false时使用else if再次进行条件判断,当为true时执行其中的语句。

关于循环,大多数程序设计语言中都包含for,while,do…while这三种基本循环,Java中也不例外。如果曾经接触过其他的编程语言的话我想我不必多介绍了,简单的讲讲Java中的特性吧。

while循环的格式为

while (condition) statement

当condition为true时,执行statement语句,当condition为false的时候循环结束。当condition在一开始的时候就为false,那么循环体一次也不执行。与条件控制一样,当语句大于等于两条时必须使用语句块。

do…while循环的格式为

do statement while(condition)

do…while循环与while循环的区别在于,while循环先检测condition的值是否为true,如果为true开始循环,一直到为false时结束循环。而do…while循环先执行一遍statement语句,然后再检测condition的值是否为true,如果为true继续循环,如果为false停止循环。因此do…while至少会执行一遍statement语句。

for循环是使用最为频繁的循环,for循环是支持迭代的一种通用结构,使用每次迭代之后跟新计数器来控制循环的次数。

例如,将1-100的整数输出到屏幕上

for (int i=1;i<=100;i++)
    System.out.println(i);

可以看到,for语句第一部分对计数器进行初始化,第一部分给出判断条件,第一部分给出更新计数器的方法。

for循环同样也能够使用while循环来表示,只是while循环语句没有for循环精简。例如使用while循环将1-100的整数输出到屏幕上

int i=1;
while(i<=100){
    System.out.println(i);
    i++;
}

 

多重选择——switch语句。当需要进行处理多种可能性的时候if/else语句显得有些繁琐。Java中支持和C++以及ActionScript中同样存在的switch选择语句。switch语句语法为

switch(choice){
    case 1:
        …
        break;
    case 2:
        …
        break;
    case 3:
        …
        break;
    default:
        …
        break;
}

 

其中1,2,3为变量choice的值。当choice的值为1的时候执行case 1中的语句,同理当choice的值等于2或者3的时候执行case 2或者case 3中的语句。应当注意的是,每执行完一条语句之后应该添加break;语句。switch语句在执行完相应的代码之后并不会自动跳出,而是继续执行剩下的代码。另外default并不是必须的,它是给定一个默认的行为用于在没有匹配的值时进行处理。

写了2个多小时,终于写完了。喝杯红茶休息一下。下期预告——Java中的类

3 Comments

Leave a Comment.