《Android游戏开发详解》一1.5 运算

简介: 两个主要的条件运算符是|| (OR)和&& (AND)。如果|| (OR)运算符任意一边的布尔值为真,该运算符将求得真。只有&& (AND)运算符两边的布尔值都为真时,该运算符才会求得真。

本节书摘来异步社区《Android游戏开发详解》一书中的第1章,第1.5节,作者: 【美】Jonathan S. Harbour 译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 运算

Android游戏开发详解
我们前面看到了,变量可以用来存储值,并且变量可以在运算中用作运算数,如图1-2所示。

1_5_1

1.5.1 算术运算

表1-1所列内容是你必须知道的5种算术运算。在了解示例的过程中,请记住如下两条规则。

规则 #1  涉及两个整数的一个运算,总是会得到一个整数的结果(整型变量中不允许有小数值)。

规则 #2  至少涉及一个浮点数(小数值)的运算,其结果总是浮点数。


b1_5_1

1.5.2 运算顺序

在执行运算的时候,使用标准的运算顺序。计算机将会按照如下的顺序执行运算。

1.圆括号(或方括号)。

2.指数。

3.乘法/除法/余数。

4.加法/减法。

如下的示例说明了运算顺序的重要性。

print(2 + 5 % 3 * 4);——输出“10”。
print((2 + 5) % 3 * 4);——输出“4”。

1.5.3 关系/布尔运算
现在来看看在两个值之间进行比较的关系运算符,如表1-2所示。注意,在下面的示例中,算术运算在关系运算之前执行。如下所有的计算,都得到一个true或false值(布尔)。


b1_5_2

关键知识点

赋值和比较

注意,==运算符和=运算符不同。前者(==)用来比较两个值,并且输出一个true或false值。后者(=)用来将一个值赋值给一个变量。
下面的程序清单1.4展示了使用这些关系运算符的另外两个示例。我已经给每一条print语句加上了标签,以便你可以看到相应的输出。

程序清单1.4 关系运算符

01  print(1 == 2); // #1 (equal to)
02  print(!(1 == 2)); // #2 (inverse of print # 1)
03
04  int num = 5;
05  print(num < 5); // #3 (less than)
06
07  boolean hungry = true;
08  print(hungry); // #4 
09  print(hungry == true); // #5 (equivalent to print #4)
10  print(hungry == false); // #6 
11  print(!hungry); // #7 (equivalent to print #6)

程序清单1.4的输出如下所示。

true
false
true
true
false
false

下面几个小节将会假设你理解关系运算符如何工作,因此,确保你理解每条打印代码行中发生了什么。仔细看一下程序清单1.4中的示例#5和示例#6,理解为什么我们要省略==运算符。

1.5.4 条件运算符

两个主要的条件运算符是|| (OR)和&& (AND)。如果|| (OR)运算符任意一边的布尔值为真,该运算符将求得真。只有&& (AND)运算符两边的布尔值都为真时,该运算符才会求得真。

我们假设你想要判断一个给定的数字是否是正的偶数。要做到这一点,必须检查两个条件。首先,我们必须确定该数字是正的。其次,我们必须检查该数字是否能够被2整除。程序清单1.5给出了我们可能为此而编写的代码的一个示例。

程序清单1.5 条件运算符

1  // Remember to evaluate the RIGHT side of the = operator before 
2  // assigning the result to the variable.
3  int number = 1353; 
4  boolean isPositive = number > 0; // evaluates to true
5  boolean isEven = number % 2 == 0; // evaluates to false
6  print(isPositive && isEven); // prints false
7  print(isPositive || isEven); // prints true
相关文章
|
存储 Android开发
【Android 逆向】x86 汇编 ( add / sub / mul / div 数值运算指令 | xor / not / sal / sar / shl / shr 位运算指令 )
【Android 逆向】x86 汇编 ( add / sub / mul / div 数值运算指令 | xor / not / sal / sar / shl / shr 位运算指令 )
207 0