第二章 第一个游戏
系列教程导航2.2 Java基础二 简单计算器
文章目录
注释
Java程序有一些很赞的优点,比如分布性和可移植性。有一句话叫“Java程序只要编写一次,就可以到处运行”。为了达到这一目的,除了遵守Java语言本身的一些规则之外,我们在写Java程序的时候也要注意程序的可读性。也就是说,你写的程序,最好别人很快就能读懂。
但是,有的时候,我们的Java程序可能会写的非常复杂。如果在一份Java文件里面不加上任何解释,别人读起来将会非常痛苦。即使是写这个程序的人来看,也不一定能保证一下子就看懂。
以上的讲解都在告诉我们一个事实:在Java程序里面,解释性的语句非常重要。因为大多数人毕竟更熟悉汉语和英语这样的自然语言。为此,Java为我们提供了注释这个功能,它有如下三种格式:
- 单行注释
//XXXXX
- 多行注释
/*
XXX
XXX
*/
注意多行注释不能嵌套。也就是说,多行注释里面不能写多行注释。
- 文档注释
/**
XXX
XXX
*/
以上三种注释中,前两种在很多语言里面都是通用的,而文档注释只有Java可以用。不过我们暂时不会用到文档注释。
注释除了前面说到的注解说明程序这个作用之外,还具有进行程序调试的作用。这是因为Java程序在执行的时候,会自动跳过注释里面的内容。也就是说,假如我们的程序里面出现了错误,但是我们不知道具体出在哪里,我们就可以把一些语句写到注释里去,这样它们就不会被执行。然后运行程序,如果没有问题,说明错误就在这些语句里面;如果有问题,说明别的语句里面有错误。
请记住,写代码的时候最好加上注释!
运算符
接下来,我们将会学习到Java中的运算符。这一部分的内容很多,不过大多数都比较简单。注意,以下的所有运算符均为英文字符
为了方便起见,我简单地做了一个目录:
算术运算符
运算符 | 解释 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 模运算 |
++ | 自增1 |
-- | 自减1 |
++和--其实是一种缩写:
a++;
a = a + 1;
这两句话是一样的。自增和自减符号可以放在变量前面,也可以放在变量后面,它们有一点点小区别,可以看下面的两段代码:
//定义两个整数类型的变量a和b,并把a初始化为3
int a = 3, b;
b = a++;
System.out.println(b);//此句会输出3
/*
这里由于a在++的前面,所以程序会先把a的值赋给b,
然后a再进行自增,故控制台上打印的结果是3
*/
//定义两个整数类型的变量a和b,并把a初始化为3
int a = 3, b;
b = ++a;
System.out.println(b);//此句会输出4
/*
这里由于++在a的前面,所以a会先自增1,变成4
然后程序再把a的值赋给b,故控制台上打印的结果是4
*/
模运算其实就是取余数,比如7 ÷ 4 = 1 …… 3,所以7%4=3
赋值运算符
运算符 | 解释 |
---|---|
= | 把等号右边的值赋给左边 |
+= | 把左右两边的和赋给左边 |
-= | 把左右两边的差赋给左边 |
*= | 把左右两边的积赋给左边 |
/= | 把左右两边的商赋给左边 |
%= | 把左右两边的模赋给左边 |
很明显,+=,-=,*=,/=都是缩写。比如
a += b;
a = a + b;
这两句话是一样的。
比较运算符
运算符 | 解释 |
---|---|
== | 左右两边是否相等 |
!= | 左右两边是否不相等 |
< | 左边是否小于右边 |
> | 左边是否大于右边 |
<= | 左边是否小于或者等于右边 |
>= | 左边是否大于或者等于右边 |
比较运算符的运算结果是true或者false。比如:2>1 的结果是true。
逻辑运算符
运算符 | 解释 |
---|---|
& | (AND)与 |
| | (OR)或 |
^ | (XOR)异或 |
! | (NOT)非 |
&& | 与,短路 |
|| | 或,短路 |
逻辑运算符是用来对boolean类型的值或者表达式进行操作的。接下来,我将会分别对它们进行详细解释。
- &,与运算,当且仅当两边都是true时,运算结果为true。下面是与运算的四种情况:
true & true = true
true & false = false
false & true = false
false & false = false
- |,或运算,当且仅当两边都是false时,运算结果为false。下面是或运算的四种情况:
true | true = true
true | false = true
false | true = true
false | false = false
- ^,异或运算,如果两边的真假性一样的话,结果为false;反之,结果为true。下面是异或运算的四种情况:
true ^ true = false
true ^ false = true
false ^ true = true
false ^ false = false
- !,非运算,就是把真假性颠倒。下面是非运算的两种情况:
!true = false
!false = true
- &&,它的运算结果和&是一样的。不过&&和&有如下的区别:
&,无论左边的运算结果是什么,右边都参与运算
&&,当左边为false时,右边不参与运算,因为此时结果一定为false
也就是说,&&具有提前终止计算的作用。
- ||,它的运算结果和|是一样的。不过||和|有如下的区别:
|,无论左边的运算结果是什么,右边都参与运算
||,当左边为true时,右边不参与运算,因为此时结果一定为true
也就是说,||也具有提前终止计算的作用。
位运算符
运算符 | 解释 |
---|---|
<< | 左移 |
>> | 右移 |
>>> | 无符号右移 |
& | 与运算 |
| | 或运算 |
^ | 异或运算 |
~ | 反码(即“取反”) |
由于位运算符操作的是二进制,考虑到大家的基础,我暂时就不在这里细讲了。如果需要的话,可以自行上网查阅。
由于位运算符在本系列文章中不会过多涉及,所以我应该不会写文章来专门讲二进制,十六进制和位运算符这些内容。事实上,这些知识对于编程来讲是很重要的。大家可以在评论区留言,如果需要的人多的话,我会专门写文章来详细讲解这些内容。
三元运算符,格式如下:
(条件表达式) ? 表达式1 : 表达式2;
如果条件为true,运算结果是表达式1;如果为false,运算结果为表达式2。举个例子:
//定义三个整数类型的变量x,y,z,并把x和y的值初始化为5和6
int x = 5, y = 6, z;
//三元运算符,若x>y,则返回x;否则返回y。
//其实就是返回x和y两者中的较大数
z = (x > y) ? x : y;//z的值将会初始化为6
实现简单计算器
有了前面的知识铺垫,接下来让我们来实现一个简单的计算器。
- 我们的需求是:对于给定的两个数字,计算它们的和/差/积/商,并在控制台上打印。
- 思路如下:
1.定义两个变量a和b,并将它们的值分别初始化为给定的两个数字;
2.定义一个变量c用于记录运算结果,可以不用进行初始化;
3.分别计算a和b的和/差/积/商,在每次运算之后,把值赋给c,并把c的值打印在控制台上。
代码如下图所示:
运行结果:
以上程序,涉及到了我们这两节学到的大部分知识,而且简单易懂。希望你能在自己的AIDE里面实现一次,这样,你对这两节所讲知识的印象会更加深刻。
后记
这几节所讲的Java基础知识大都是非常重要的。如果有时间的话,希望你多加练习,自己用代码实现里面讲到的知识点。
感谢你的阅读!本教程会长期不定时更新。本人不是大神,也会犯错,如果有建议或者提问的话,欢迎评论留言!