Java 运算符

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Java 运算符

Java 运算符分类

1. 算数运算符

单目:~(按位取反)、! (取非)、-(负号运算符)、 ++(自增)、 - -(自减)

java的自增运算符(++)和自减运算符(- -)继承于c++,可以使变量的值加1或减1,但其写在变量前后有不同的效果

如果写在变量前表示在使用这个变量之前加1或减1
如果写在变量后表示在使用这个变量只够加1或减1

int a=10,b=20;
		int c=a++;//先将a的值赋值给c,然后再自加
		int d=++b;//先将b的值自加,然后再赋值
		System.out.println(c + d + a +b);//10  21  11 21

双目:+ - * / %(取余)(取模运算(%)意为取余数,适用于整数,char类型以及浮点数)

三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。

2. 关系运算符

等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<= 。

关系运算的结果为boolean类型,如果关系成立则为ture,否则为false

3. 位运算符

&:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结 果为0.如:1010&1101,转为二进制:1111110010&10001001101,比较结果为:1000000转为十进制: 64。所以1010&1101=64;
| :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
~:0变1,1变0
^ :两边的位不同时,结果为1,否则为0.如1100^1010=0110

4. 逻辑运算符

逻辑运算建立在关系运算的基础上
参与逻辑运算的变量或者表达式都是boolean类型,运算结果也为boolean类型

与(&&)、非(!)、或(||)

b1b2b1&&b2b1||b2!b1
falsefalsefalsefalsetrue
falsetruefalsetruetrue
truefalsefalsetruefalse
truetruetruetruefalse

两个值为boolean类型的变量进行&&运算,只有当两个变量值都为true时值才为true。
两个值为boolean类型的变量进行||运算,只有当两个变量值都为false时值才为false。

关于逻辑短路问题
Java逻辑运算符遵循短路逻辑原则:
对于&&,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个数结果为何,最后的运算结果一定为false。
对于||,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个数结果为何,最后的运算结果一定为true。

boolean f=true;
	int n = 200;
	boolean c=f||(n++>=0 && n<100);
	System.out.println(c);//結果為true
	System.out.println(n);//200

使用逻辑!运算符
!运算符相对简单,之后有一个boolean类型的变量参与运算,运算的值于该变量的值相反,变量为true时结果为false 变量为false时结果为true。

        boolean flag=true;
		int n=200;
		boolean c=!flag||(n++>=0 && n<100);
		System.out.println(c);//false
		System.out.println(n);//201

赋值

= += -= *= /= %= &= ^= |= <<= >>=

"="称为赋值运算符,用于对变量赋值,关于赋值运算符,除了将右边的表达式计算出来赋给左边以外还具备如下特点:赋值表达式本身也有值,其本身之值即为所赋之值。

使用扩展赋值表达式
.在赋值运算符"="前加上其他运算符,即为扩展赋值运算符
ps:这里的其他运算符只能算术运算符
+=,-=,*=,/=,%=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值