一、运算符
在java当中,使用运算符+、-、*、/ 表示加减乘除。
当参与 / 运算的两个操作数都是整数的时候,表示整数除法;否则表示浮点数。
整数的求余操作用 % 表示。
System.out.println(5 / 2); 2
System.out.println(8/0); 的结果是什么? / by zero 错误
System.out.println(浮点数/0);的结果什么? INFINITY
System.out.println(5%2);的结果什么? 1
System.out.println(5.0/2);的结果什么? 2.5
System.out.println(3+9*8.0/2%2); 3.0
System.out.println((3+9)*8.0/2%2); 0.0
二、数值之间的转化
在程序运行的时候,我们经常需要将一种数值类型转化为另一种数值类型。下图给出了数值类型之间的合法转化。
浮点类型不能精确运算,运算要使用BigDecimal类
三、强制类型转换
在上面我们可以看到,在必要的时候,int类型的值将会自动的转化为double类型。但另一方面,有时候也需要将double转化为int.。在java当中允许这种数值之间的类型转化。当然也会有以一些数据丢失。在这样情况之下,需要通过强制类型转换实现这个操作,强制类型的语法格式是通过()当中给出的想要转化的目标类型。
public static void main(String[] args) {
double dou_num = 10.22;
int numn = (int) dou_num;
}
四、结合赋值和运算符
结合运算符:+=,-=,*=,/-等
x+=4;等价于x=x+4;
五、自增和自减运算符
++m;m++;--m;m--;
++m:先加再赋值,m++;先赋值再加
自增和自减的过程就是一个值交换和值存储的流程,内存中值存储和值交换不在一个地方,值交换会产生一个临时副本空间(备份)
m++中是先把临时的副本赋值给m本身,再让备份自增
++m:是先自增临时副本空间后,在讲副本传给a本身
m=5;n=m++;
m=5;n=++m;
第一个n=5;m=6;第二个:n=6;m=6;
六、关系和boolean运算符
①:检测相等性: ==
②:检测不等:!=
③:最后,还有经常使用的<、>、<=和>=
比较两个基础数据类型,返回值为true或者flase
④:java使用&&表示逻辑”与“运算符,使用||表示”或“运算符,
⑤:三目运算符:condition?expression1:expression2
Systen.out.println(a>b?a:b);
如果a>b,输出a;否则,输出b。
目录