算数运算符
包含加、减、乘、除、求余在内的运算
1、如果没有小括号就是将两个字符连接起来(有小括号才进行运算)
例1: int a = 10;
int b = 3 ;
System.out.println("a+b===="+a+b);
结果:103
System.out.println("a+b==小括号=="+(a+b));
结果:13
2、如果字符和数字相加,字符会转换成asslc码进行运算
例:char ch = 'a' ;
double a1 = 10.2 ;
System.out.println("==char相加=="+(a1+ch));
结果:107.2;a对应的asslc码是97;
3、浮点数转换整形,会舍弃小数点后面的数字
例: int a = 10;
double b1 = 5.5 ;
int c1 = a +(int)b1;
System.out.println(c1);
结果:15
4、两数想减,必须用小括号括起来
例:int a = 10;
double b1 = 5.5 ;
正确:System.out.println("==b1-a=="+(b1-a));
代码报错:System.out.println("==b1-a=="+b1-a);
5、两数相除,除数不可以是0,如果抛出异常,后面的结构也不会执行
Java中也有优先级
例:int e = (5+3) * 5 ;
System.out.println("结果:"+e);
结果:40
逻辑运算符
表达式:是运算符吧两个以上的变来个连接在一起,每一个表达式都有一个结果;我们会根据运算符的类型来区分表达式
一、&&(短路与):两边都是true的时候,结果才是true,如果第一个就是false,后面的不用执行。
二、||(短路或):两边的结果,只要有一个结果是true,结果就是true,后面不需要执行,
三、!(非):原来是true,结果是false,原来是false,原来是true
三目运算符
(x ? y : z):
x:必须是布尔表达式
y : z 只要是表达式既可以
表达式:(算数表达式,布尔表达式)
如果x为true,整体的返回值是y,如果是false,整体的返回结果是z的值
例1: int sanInt = 3 > 5 ? 10 : 5 ;
System.out.println("==三目运算符=="+sanInt);
结果:5
例2: double sanDouble = 5 > 3 ? 10.2 : 5.2 ;
System.out.println("====>" + sanDouble);
结果:10.2
位移运算符
运算逻辑:就是把运算符组边的数字转换成二进制,开口朝向哪边向哪边移动,再转换回去。
>>:向左移;有符号一定(计算正负数)
例:int a= 3 ;
System.out.println("==位移=="+(a << 3));
结果:24
<<:有符号的的移动(计算正负数)
例:int a= 3 ;
System.out.println("==移位==" + (-12 >> 2 )) ;
结果:3
>>>:无符号移动:只支持正数,不支持负数
例:int a= 3 ;
System.out.println("==移位==" + (12 >>> 2 )) ;
结果:3
位运算符
一、&(与):两边的结果必须都是true,结果才是true,如果第一个为false,后面也会执行
二、|(或):两边只要有一个为true,结果就为true,如果第一个为true,后面的也会执行
自加和自减运算
I++:先赋值,再自加
例:int i = 5 ;
int j = i++ ;
System.out.println("i="+i+";j="+j);
结果: i = 6 ; j = 5
++i:先自加,再赋值
例: i = 5 ;
j = 0 ;
j= ++i;
System.out.println("i="+i+";j="+j);
结果:i = 6 ; j = 6