算术运算符
加(+),减(-),乘(*),除(/),余(%)
//+号算法符号,也是字符串的连接符放前面就先运算在拼接,放后面都是拼接。为了解决这个问题,最好用括号括起来。
String string ="我"+"你"+(12.5+22.5)+"他";
System.out.println(string);
//除法
//1:除不尽的问题
//2:整数相除一定用float接受才能得到你想要的结果。必须有一方在加上转成float类型
//百分比的计算的时候一定要小心
//第一:如果是两个byte short int long相除,得到结构如果是浮点数,小数位全部舍去保留整数部分
//第二:如果是两个byte short int long除以0,等异常信息,那么久报异常java.lang.ArithmeticException: / by zero
//看到异常就要立马明白,除数是0,要赶紧检查你的代码的逻辑出现0的地方在哪里。
//第三:float.double除以0得到正无穷和负无穷。
//取余
//重点1:如果一个数字能整除,直接
//System.out.println(1000%20);//0
//重点2:如果除数(分母)比被除数(分子)大,直接结构就是被除数(分子)
//重点3:如果分子是负数,那么结构是就负数,如果父母是负数分子是整数结构是正数。如果都是负数其结构就是负数
自增:++
自减:--
int a = 5;
if(a++==6){
System.out.println("等于");
}else{
System.out.println("不等于");
}
//a++==6 先赋值,在++。 此时 a++==6 即5==6不成立。
if(++a==6 ){
System.out.println("等于");
}else{
System.out.println("不等于");
}
//++a==6 先执行++,在赋值。 此时 ++a后=7, 即,7==6不成立。
结果:都为不等于
赋值运算符
=,+=,-=,*=,/=
a += 3;//a = a+3;
比较运算符
> < == >= <= != 用在条件判断中
//== 逻辑判断,是内存地址的比较-(二进制)还要考虑前面的数据类型 和 = 赋值
//"==" 数字是值的比较,对象(封装数据类型)是内存地址的比较
//如果是基础数据类型值比较==,值相等那么都是true,如果是封装数据类型都是false--hashCode()
位运算符
//位运算符 7个--计算
// >> 右移动 如果是正数:往前面加0,后面舍去(移除)
// >>> 无符号右移动
// << 左移动,二进制整个往左边移动两位,空白位用0填充。
// & 按位&,如果两个同时为1返回就是1,其他都是0
// | 按位或 如果有一位是1 那么就是1 ,其他都是0
// ^ 按位异或, 两个相同的时候 0 不同时返回1 11 0 00 0 /10 =1
// ~ 按位非,单数字取反 对补码进行取反,包含符号 ~n = (n+1)、~-n = (n-1)
//快速计算一个数字想要得到结果,最终都是以二进制的方式进行计算.
//千万不要把看做是一个十进制了,你应该都二进制
//1:想要把他们转成二进制在进行比较。
逻辑运算符
&& || !
//--短路:或 || 且 && 非 !
// && 值要有一个为false,一定false 全部是true就是true
// || 只要有一个为true,就是true ,其他都是false
//--不短路:或 | 且 & 非 ^----不推荐使用(前后都要判断)
三目运算符
格式:(逻辑判断(boolean))? true :false;
//三目运算符:只不过是if else的替代 格式(逻辑判断(boolean))? true :false;
//String result = null;
// if(1>2){
// result ="大于";
// }else{
// result ="不大于";
// }
// System.out.println(result);
String result = 1>2?"大于":"不大于";
System.out.println(result);