§ 3.2 关 系 运 算 符

关 系 运 算 符 用 来 比 较 两 个 值 ,返 回 布 尔 类 型 的值true或 false。 关 系 运 算 符 都 是 二 元 运 算 符 ,如 下 表 所 示 :

运算符 用法 返回true的情况

> op1>op2 op1大于op2

>= op1>=op2 op1大于或等于op2

< op1<op2 op1小于op2

<= op1<=op2 op1小于或等于op2

== op1==op2 op1与op2相等

!= op1!=op2 op1与op2不等

Java中 ,任 何 数 据 类 型 的 数 据 (包 括 基 本 类 型 和 组 合 类 型)都 可 以 通 过 ==或!=来 比 较 是 否 相 等 (这 与 C、 C++不 同 )。

关 系 运 算 的 结 果 返 回 true或 false,而不是C、C++中 的 1或 0。

关 系 运 算 符 常 与 布 尔 逻 辑 运 算 符 一 起 使 用 ,作 为 流 控 制语 句 的 判 断 条件 。 如

if( a>b && b==c)

§ 3.3 布 尔 逻 辑 运 算 符

布 尔 逻 辑 运 算 符 进 行 布 尔 逻 辑 运 算 ,如 下 表 所 示 :

op1 op2 op1&&op2 op1||op2 !op1

false false false false true

false true false true true

true false false true false

true true true true false }

·&&、‖ 为二元运算符,实现逻辑与、逻辑或。

·! 为一元运算符,实现逻辑非。

·对 于 布 尔 逻 辑 运 算 , 先 求 出 运 算 符 左 边 的 表 达 式 的 值 , 对 或 运 算 如 果 为 true, 则 整 个 表 达 式 的 结 果 为 true, 不 必 对 运 算 符 右 边 的 表 达 式 再 进 行 运 算 ; 同 样 , 对 与 运 算 , 如 果 左 边 表 达 式 的 值 为 false, 则 不 必 对 右 边的 表 达式 求 值 , 整 个表 达 式 的 结果 为 false。

下面的例子说明了关系运算符和布尔逻辑运算符的使用。

public class RelationAndConditionOp{

public static void main( String args[] ){

int a=25,b=3;

boolean d=a<b; //d=false

System.out.println("a<b = "+d);

int e=3;

if(e!=0 && a/e>5)

System.out.println("a/e = "+a/e);

int f=0;

if(f!=0 && a/f>5)

System.out.println("a/f = "+a/f);

else

System.out.println("f = "+f);

}

}

其运行结果为:

C:\>java RelationAndConditionOp

a<b = false

a/e = 8

f = 0

注 意 :上 例 中 ,第 二 个 if语 句 在 运 行 时 不 会 发 生 除 0溢 出 的错 误 ,因 为 e!=0为false,所 以 就 不 需 要 对 a/e进 行 运 算 。


[Java入门目录]
[第八节] | [第十节]