一:算术运算符
在使用算术运算时需要注意运算两侧类型:当两侧类型不统一时,运算结果和较大类型保持一致。
int a = 3;
int b = 5;
int c = a + b; //加法运算
System.out.println(c);
c = a * b; //乘法
System.out.println(c);
c = a / b; //除法运算 结果为零 注意除法运算当两侧类型统一结果仍为运算数据保持一致
System.out.println(c);
c = a % b; //取模运算 ,即求a/b的余值
System.out.println(c);
结果显示
算术运算符的注意问题
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
“+”除字符串相加功能外,还能把非字符串转换成字符串 。“+”运算符两侧的操作数中只要有一个String类型,一个是基本数据类型时,编译成class文件后,两个操作数就被连接成了一个新的String值。
(1)自加自减
自加(++)自减(–)运算
注意:自加自减运算单独存在时,放左放右是没有区别的
当在一个运算表达式中包含自加运算时,当自加符号在变量右侧时,需要先将变量的值临时保存,然后给变量空间加1,接着用临时变量空间中的值去和其他运算符进行运算。当自加符号在变量左侧时,需要先给变量空间加1,然后把加1后的值和其他运算符进行运算。
int a = 4;
int b;
b = a++;
System.out.println("a="+a+",b="+b);
运行结果:
int a = 4;
int c;
c= ++a;
System.out.println("a="+a+",c="+c);
运行结果
所以不管是++a还是a++最后a的值都是一样的。所以自加自减运算单独存在时,放左放右是没有区别的。
二:赋值运算符
赋值号的功能是将赋值号右侧的结果存储到左侧的变量空间中
int a = 3 ; //将3存储到左侧a空间中
int b , c , d;
b = c = d = a; // 将a空间中的值分别存放到d,c,b 空间中
赋值号和算术运算符组合起来的混合运算符,它们即具有算术运算的特点,同时还具有赋值运算的特点
int a = 4;
a += 3;
相当于 a = a + 3;的运算,即把a空间中的值和3进行加法运算,把和值从新存放到a空间中
三:比较运算符
结果是boolean类型:
int radius = 5;
System.out.println(radius<0);
System.out.println(radius<=0);
System.out.println(radius>0);
System.out.println(radius>=0);
System.out.println(radius==0);
System.out.println(radius!=0);
运行结果
四:逻辑运算符号
& :两边都为true,结果是true。否则为false。两边只要有一个false。结果必然是false。
true & true = true;
true & false = false;
false & true = false;
false & false = false;
| :两边都为false,结果是false。否则为true。两边只要有一个true。结果必然是true。
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;
&& 短路 || 短路或与效果更高,在编程建议使用短路与和短路或