zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

《Android游戏开发详解》——第1章,第1.5节运算

Android游戏开发 详解 运算 1.5
2023-09-11 14:17:38 时间

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

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


2cb80b38be1ce05797a8aed9ef10d832d66efff9

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

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

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


83c9838504ef3f6a5126b74b5beb6ab998ae4872

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值(布尔)。


5b54503ef941e141d95c8068da062117a9b8dac8

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

程序清单1.4 关系运算符

01 print(1 == 2); // #1 (equal to)

02 print(!(1 == 2)); // #2 (inverse of print # 1)

04 int num = 5;

05 print(num // #3 (less than)

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

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 // evaluates to true

5 boolean isEven = number % 2 == 0; // evaluates to false

6 print(isPositive isEven); // prints false

7 print(isPositive || isEven); // prints true

异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。