中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Groovy
2.7 关系运算符和等于运算符
作者:Kenneth Barclay 时间:2007-12-11 18:13 出处:机械工业出版社 责编:月夜寒箫
              摘要:2.7 关系运算符和等于运算符

2.7 关系运算符和等于运算符

有些Groovy控制语句,如if和while控制语句(参见第8章),通常会使用条件(condition)来进行判断。条件决定表达式的值为真或者假。关系运算符、等于运算符和逻辑运算通常被用于构造条件表达式(附录C会详细讨论逻辑运算符)。

关系运算符如表2-5所示。四种运算符均为二元运算符,每种运算符都使用两个算术表达式作为操作数,并且得出布尔型结果true或者false。true和false都是Boolean类的实例。这些运算符都是通过调用compareTo(表2-5)方法来实现的。举例来说,a

表2-5 关系运算符

表达式
调用方法
结果

5 < 3
5.compareTo(3) < 0


5 <= 3
5.compareTo(3) <= 0


5 > 3
5.compareTo(3) > 0


5 >= 3
5.compareTo(3) >= 0


下面是一些使用关系运算符的表达式例子:

number < 0 // number是否是负数?
age >= 65 // 判断是否是老年人?
index <= limit-1 // 是否达到上限?

由于关系运算符的优先级低于算术运算符(参看附录C),最后一个例子应该被解释为index <= (limit-1)。

表2-6提到了等于运算符= =和!=。再次说明一下,它们也都是二元运算符,其运算所得出的结果值也是布尔值true或者布尔值false。这两个运算符都是通过equal方法实现的。compareTo运算符被<=>所替代,其优先级和前两个运算符相同。

表2-6 等于运算符
表达式
调用方法
结果

5 = = 3
5.equals(3)


5 != 3
! 5.equals(3) //参见附录C


5 <=> 3
5.compareTo(3)
+1

一些范例:

def forename = 'Ken'
def surname = 'Barclay'
forename = = 'Ken' //结果为true
surname != 'Barkley' //结果为true

再次声明一下,这些等于运算最终都是通过调用某个方法实现的。例如,条件语句forename = =“Ken”实际上是通过forename.equals(“Ken”)来实现的。equals方法是String类的方法,其作用是判断两个值是否相同。类似的,对于下面两个赋值语句:

def age = 25
def number = 25
条件语句:
age = = number

其结果是布尔值true。在这里,age. equals(number)是通过Integer类的equals方法来求值的。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有