java中连用逻辑表达式,JAVA中的运算符的总结

java中很多类型的运算符,这些运算符是java中的基础,也是比较重要的,但是这么多运算符记起来也比较麻烦,而且比较繁琐,这篇文章将就java运算符进行详解

1.赋值运算符

Java中用的最多的就是“=”,这个就是赋值运算符,与数学中的等号表达意思不一样,java中的等号用“==”表示,后边会解释。

例如:int score=90; 表示将90赋值给score;赋值运算符比较简单。

2.算术运算符

算数运算符有:+(加法运算符),-(减法运算符),*(乘法运算符),/(除法运算符),%(取余运算符);这些都是很简单的也是很容易理解的。

3.关系运算符

关系运算符有:>(大于号), =(大于等于), <=(小于等于), ==(等于) !=(不等于);关系运算符是用来做比较运算的,比较的结果

是一个boolean类型的值,要么为(true),要么是假(false)。例如:boolean isBig=56>64;b比较结果就是假(false);

注意:“=”和“==”的区别。

“=”是把右边的值赋值给左边的变量;“==”是比较运算符,即“==”左边和右边的值是否相等;

4.单目运算符

单目运算符有:++(自增运算符),--(自减运算符),~(非);

++是在自身的基础上+1,--是在自身的基础上-1。

注意:a++和++a都是表示a增加1,没有区别,但是赋值给另外一个变量时就不一样了,例如int c=a++;

表示先把a赋值给c以后,a在增加1;而int d=++a;表示a先增加1在赋值给d;

5,逻辑运算符

逻辑运算符有:&(逻辑与),&&(短路与),|(逻辑或),||(短路或),!(逻辑非),^(逻辑异或);

逻辑与&只有当符号两边的值都为true是才为true;而短路与&&如果左边的值为false则不进行右面的值判断直接返回false,若左边的值为true则再判断右边的值为true才返回真,而逻辑与&是符号两边都要进行判断,这就是逻辑与&和短路与&&的区别。同样逻辑或 | 和短路或 | | 是一样的。

逻辑非(!)取反,逻辑异或^表示若符号两边的真假值相同则为false,若真假值不一样则为true。

注意:逻辑运算符返回的值为boolean类型的。逻辑运算符通常与循环结构连用;

6.位移运算符

位移运算符有&(位与),| (位或),~(位非),^(位异或)>>(位右移),<

&(位与),| (位或),~(位非),^(位异或)与逻辑运算符的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值boolean型。

例如:

//&按位与

int  a = 3 & 4;

0000 0011

&  0000 0100

--------------------

0000 0000  = 0;只有二进制的相同位数都是1是才返回1;

//按位或|

inta = 3 | 4;0000 0011

|   0000 0100

--------------------

0000 0111=6;只要二进制的相同位数有1则返回1;

//按位异或^

a = 9 ^ 2;

0000 1001

^0000 0010

-------------

0000 1011=11;当二进制对应的二进位相异时返回1,相同返回0;//按位非~

二进制的每个位取反

int a = ~9;

0000 0000 0000 0000 0000 0000 0000 1001

取反

1111 1111 1111 1111 1111 1111 1111 0110   补码

1111 1111 1111 1111 1111 1111 1111 0101   反码

----------------------------------------

1000 0000 0000 0000 0000 0000 0000 1010    原码 -10

最高位符号位为1,代表是负数, 负数是用补码在计算机中存储。这一串数据就是一个补码。需要获取到原码,才能知道十进制的数据到底是几补码 减一得到反码反码取反 得到原码。

左移运算符用“<

例如:int r = 5 << 2;0000 0101 0000 0101

----------------0001 0100   = 20;

右移运算符用符号“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0。

7.三目运算符

对于条件表达式a? x : y,先计算条件a,然后进行判断。如果a的值为true,计算x的值,运算结果为x的值;

否则,计算y的值,运算结果为y的值。

一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,

从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。

补充:运算符的优先等级

88e28556a1e95a4364c256a2b0439eba.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值