购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.2 笑看Java运算符

9月15日,8:00,晴

我:“今天看了经典TVB剧《笑看风云》,真是经典!”

KNOWALL:“嗯,郑伊健的成名之作!建议你在以后的生活中也要乐观面对,知足常乐,愉快地找到处理问题的方法!如图4-2所示。”

图4-2 笑看人生和知足常乐的心情

我:“本章的运算符就是对数据进行运算处理吗?”

KNOWALL:“对,生活中的问题需要我们去运算想办法处理,同样,Java数据也需要运算处理。运算符是程序设计中重要的构成元素之一,运算符可以细分为算术运算符、位运算符、关系运算符、逻辑运算符和其他运算符。”

4.2.1 算术运算符

在数学中,有加、减、乘、除运算,算术运算符号主要用于算术表达式的运算,其功能和用法与数学中的含义一样,它由基本算术运算符、取余运算符等组成,如表4-1所示。

表4-1 算术运算符

算术运算十分重要,对于初学者来说,最难理解的是a++和++a,这两个有什么不同?一个是先加1,再执行程序;一个是执行程序后再加1,其代码【光盘:源代码/第4章/math.java】如下:

对上面的代码进行编译,运行得到如图4-3所示的结果。

图4-3 加减运算示例

4.2.2 关系运算符和逻辑运算符

9月15日,8:20,晴

我:“何谓关系运算符和逻辑运算符?”

KNOWALL:“在Java程序设计中,关系运算符(relation operator)和逻辑运算符(logical operator)显得十分重要,具体如图4-4所示。”

图4-4 关系运算符和逻辑运算符

1.关系运算符

在数学运算中有大于、小于、等于、不等于的关系,在程序中依然有这些关系,如表4-2所示,列出了Java中的关系运算符,通过这些关系运算符,它将会产生一个结果,这个结果是一个布尔值,即True和False。在Java中,任何类型的数据都可以用“==”比较是否相等,用“!=”比较不等。只有数字才能比较大小,关系运算的结果可以直接赋予布尔变量。

表4-2 关系运算符

下面通过一段代码进行讲解,让读者彻底明白关系运算符,其代码【光盘:源代码/第3章/guanxiyunsuan.java】如下:

对上面的代码进行编译,运行得到如图4-5所示的结果。

图4-5 关系运算符示例

2.逻辑运算符

布尔逻辑运算符是最常见的逻辑运算符,用于对Boolean型操作数进行布尔逻辑运算,在Java中的布尔逻辑运算符如表4-3所示。

表4-3 逻辑运算符

逻辑运算符与关系运算符的结果一样,都是Boolean类型的值。

在Java程序设计中,“&&”和“||”布尔逻辑运算符不总是对运算符右边的表达式求值,如果使用逻辑与“&”和逻辑或“|”,则表达式的结果可以由运算符左边的操作数单独决定。关于表达式,将在下一节进行讲解。通过如表4-4所示的结果,用户可以清楚地认识到常用的逻辑运算符号“&&”、“||”、“!”进行运算后的结果。

表4-4 逻辑运算符

测试1: 编写简易代码,实现逻辑运算。

解决思路: 思路如下:

(1)定义变量a、b和c,并分别赋值。

(2)分别输出三种逻辑运算结果。

编写的代码【光盘:源代码/第3章/luojiyunsuan.java】如下:

对上面的代码进行编译,运行得到如图4-6所示的结果。

图4-6 逻辑运算示例

4.2.3 位运算符

在Java程序设计中,位运算符是用来对二进制数进行操作的,位运算符分为位逻辑运算符和移位运算符,如表4-5所示。

表4-5 位逻辑运算符

如表4-6所示是操作数A和操作数B按位逻辑运算的结果。

表4-6 位逻辑运算结果

4.2.4 条件运算符

9月15日,8:40,晴

我:“什么是条件运算符?”

KNOWALL:“条件运算符是一种特殊的运算符,与前面所讲解的运算符有很大不同,在Java程序设计里,提供了一个三元运算符,其实这与后面讲解的if语句有相似之处,条件运算符的目的是决定把哪个值赋给前面的变量。”

条件运算符的结构如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第3章/tiaojian.java】如下:

对上面的代码进行编译,运行得到如图4-7所示的结果。

图4-7 条件运算符示例

4.2.5 赋值运算符

9月15日,8:50,晴

我:“赋值运算符就是给某变量一个值吗?”

KNOWALL:“对,赋值运算符是一个等号‘=’,功能是给等号左右两边赋值,它在Java中的运算与在其他计算机语言中的运算一样。”

Java赋值运算符的通用格式为:

其中,变量var 的类型必须与表达式expression 的类型一致。

赋值运算符有一个有趣的属性,你或许并不熟悉:它答应你对一连串变量赋值。例如,请看下面的例子:

该例子使用一个赋值语句对变量 x、y、z 都赋值为100。这是因为“=”运算符产生右边表达式的值,因此,z = 100 的值是 100,然后该值被赋给 y ,然后赋给 x 。使用“串赋值”是给一组变量赋同一个值的简单办法。

赋值时,类型必须匹配。下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/fuzhi.java】如下:

上述代码执行后,结果提示类型不匹配,如图4-8所示。

图4-8 数据类型不匹配示例 GWqlaT0xbj4HSRwxdaqwa14o05qrN3JjUgUcsumc+fh1CmB6dPu6fytLF98NjuZx

点击中间区域
呼出菜单
上一章
目录
下一章
×