数学上有比较的运算,像是大于、等于、小于等等,Java中也提供了这些运算符,这些运算符称之为“比较运算符”(Comparison operator),它们有大于(>)、不小于(>=)、小于(<)、不大于(<=)、等于(==)以及不等于(!=)。 在Java中,比较的条件成立时以true表示,比较的条件不成立时 以false表示,请您看看下面这几行会显示哪些数值: System.out.println("10
> 5 -> " + (10 > 5));
System.out.println("10 >= 5 -> " + (10 >= 5)); System.out.println("10 < 5 -> " + (10 < 5)); System.out.println("10 <= 5 -> " + (10 <= 5)); System.out.println("10 == 5 -> " + (10 == 5)); System.out.println("10 != 5 -> " + (10 != 5)); 程序的执行如下所示:
比较运算在使用时有个即使是程序设计老手也可能犯的错误,且不容易发现,也就是等于 运算符(==),注意它是两个连续的等号(=)所组成,而不是一个等号,一个等号是指定运算符,这点必须相当注意,例如若有两个变量x与y 要比较是否相等,是写成x == y,而不是x = y,后者的作用是将y的值指定给x,而不是比较运算。 另一个使用 == 运算时要注意的是,对于对象来说,两个对象引用之间使用 == 作比较时,是比较其名称是否指向同一对象,而不是比较其内容,您可以引用 不可变的 (immutable)字符串 了解一下这段话的意义。 即然谈到了条件式的问题,来介绍Java中的“条件运算符” (Conditional operator),它的使用方式如下: 条件式 ? 成立传回值 : 失败传回值 条件运算符的传回值依条件式的结果而定,如果条件式的结果为true,则传回冒号前的值,若为false,则传回冒号后的值,下面这个程序可以作个简单的 示范:
import java.util.Scanner; 执行结果:
这个程序会依您所输入的分数来判断学生成绩是否不小于60分,以决定其是否及格,如果是则传回字节 '是' ,否则传回字节 '否'。 条件运算符(?:)相当的好用,使用得当的话可以省去不少的程序码,例如下面这个程序可以判断使用者输入是否为奇数。
import java.util.Scanner; 当输入的数为奇数时,就不能被2整除,所以余数一定不是0,在条件式中判断为true,因而传回字节 '是' ,若数值为偶数,则2整除,所以余数为0,在条件式中判断为false,所以传回字节 '否'。 |