第四章
关于运算符
我们知道,在数学中有很多的运算符,其实这些跟java的运算符大致是相同的,不同的就特殊的几个。
比如我们熟知的加减乘除,在java中也是跟我们学习的时候是一样的计算的。
再有就是一些特殊的运算符,比如++ -- 之类的。
++被我们称为自增,数学算式写出来就是a = a+1;同理--就是自减,数学算式写出来就是a = a-1。但是这些又有两种书写方式,
比如我们设一个数据a 他可以是a++,也可以是++a。
那么这两种书写方式有什么区别呢?
区别就是在我们的java书写之中,++a是先进行运算把a的值进行自增且储存自增后的数,但a++是先用a原来的数进行运算再进行自增。这就是差别,虽然看起来好像差别不大,但是在进行计算以及数据存储的时候是会有差别的。
以上这些运算符进行整数运算时,如果整数的类型是long,则存储方式为long型;如果是其他的整数型,存储方式一律为int型。
接下来是关系运算符
关系运算符就是我们数学中的大于小于等于和不等于,其中大于小于都是跟数学符号中相同,但是java语言中的等于和不等于不是单等号和≠,是==和!=。
关系运算符的输出都是布尔值,也就是true和false。
还有一个是取余运算,取余运算就是取余数,是用%进行运算。
举个例子,11/2=5.....1 ,所以11%2=1;
逻辑运算符
逻辑运算符就是我们在数学逻辑判断中学习的与或非。
其中与用&&表示,或用||表示,非用!表示。
与运算中只有两个结果都为真输出的值才为真;或运算中只要其中有一个结果为真输出结果就为真;非运算中,如果结果为真,则输出假,反之则输出真。
其中与运算涉及到短路运算,用一个代码表示
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
输出这一段代码,会发现并没有进行c++的运算,也就是c的输出值还是5,说明与运算在c<4的时候就已经停止了。这就是所谓的短路运算。