超好用的运算符的知识和细节

算数运算符

包含加、减、乘、除、求余在内的运算

1、如果没有小括号就是将两个字符连接起来(有小括号才进行运算)

1int 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的值

1int sanInt = 3 > 5 ? 10 : 5 ;
	 System.out.println("==三目运算符=="+sanInt);
     结果:52double 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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值