运算符(Java学习笔记)

运算符

算术运算

运 算 符名 称说 明例 子
+=加赋值a += b、a += b+3
-=减赋值a -= b
*=乘赋值a *= b
/=除赋值a /= b
%=取余赋值a %= b
-取反符号取反运算b=-a
++自加一先取值再加一,或先加一再取值a++ 或 ++a
自减一先取值再减一,或先减一再取值a-- 或 --a
+求 a 加 b 的和,还可用于 String 类型,进行字符串连接操作a + b
-求 a 减 b 的差a - b
*求 a 乘以 b 的积a * b
/求 a 除以 b 的商a / b
%取余求 a 除以 b 的余数a % b

注意:
i++:先将i的值加上1再赋给i本身

int  i = 1 ; //i=1
int j=i++; //i=2,j=1

++i:先将i的值加1赋值给变量i后再使用

int i=1l   //i=1
int j=++i; //i=2,j=2;

i++先做别的事,再自己加1,++i先自己加1,再做别的事情

自增/自减只能作用于变量,不允许对常量、表达式或其他类型的变量进行操作。常见的错误是试图将自增或自减运算符用于非简单变量表达式中。
自增/自减运算可以用于整数类型 byte、short、int、long,浮点类型 float、double,以及字符串类型 char。
在 Java 1.5 以上版本中,自增/自减运算可以用于基本类型对应的包装器类 Byte、Short、Integer、Long、Float、Double 和 Character。
自增/自减运算结果的类型与被运算的变量类型相同

整数运算

两个操作数有一个是long型,则结果为long
没有long型,就为int,不管是short还是byte

浮点运算

如果两个操作数有一个为double,结果为double
只有两个都是float,结果才是float

取模运算

%其操作数是整数,结果是”余数“,'余数"符号和左边的操作数保持一致

赋值及其拓展运算

a+=b 等效于 a=a+b

运 算 符名 称说 明例 子
+=加赋值a += b、a += b+3
-=减赋值a -= b
*=乘赋值a *= b
/=除赋值a /= b
%=取余赋值a %= b

关系运算符

>大于运算符只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则返回 true。2>3false
>=大于或等于运算符只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则返回 true。4>=2true
<小于运算符只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值,则返回 true。2<3true
<=小于或等于运算符只支持左右两边操作数是数值类型。如果前面变量的值小于等于后面变量的值, 则返回 true。4<=2false
==相等运算符如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值相等,也都将返回 true。如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true.Java 也支持两个 boolean 类型的值进行比较。true==falsetrue true true false
!=不相等运算符如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等也都将返回 true。如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。4!=2true

注意:
1.关系运算符是用来进行比较运算。关系运算的结果是布尔值:true/false;
2.=是赋值运算符,判断相等的运算符是==
3,!=是所有数据类型都可以使用的
4.符号>,<=是仅对于数值类型(byte/short/int/long,float/double以及char)
5.基本类型的变量、值不能和引用类型的变量、值使用 == 进行比较;boolean 类型的变量、值不能与其他任意类型的变量、值使用 == 进行比较;如果两个引用类型之间没有父子继承关系,那么它们的变量也不能使用 == 进行比较
6.== 和 != 可以应用于基本数据类型和引用类型。当用于引用类型比较时,比较的是两个引用是否指向同一个对象,但当时实际开发过程多数情况下,只是比较对象的内容是否相当,不需要比较是否为同一个对象

逻辑运算符

&&: 短路与 左右都true,结果为true,其他为false
|| :短路或 左右有一个true,结果就为true
!: 非 取当前条件的相反
| :或 左右有一个true,结果就为true
& : 与 左右都true,结果为true,其他为false
注意:
短路与和短路或的方式。从左到右进行计算,只能通过运算符左边的操作数就能确定逻辑表达式的值,提高效率,
或和与是挨个判断,短路与和短路或是只要第一个不行直接结束。

位运算符*

& 是相乘 | 有1为1,都没1得0 ^取相同为1,不同为0 ~是取反,前面学习里有详细介绍

字符串运算符

+的两侧有一侧是String类型的,系统就自动将操作数转换成String,然后进行连接

条件运算符 (? :)

int score <60 ? "不及格": "及格"

运算符的优先级

括号-> 一元运算符—> 自增/自减-> 乘除-> 加减-> 位右/左移-> 大于小于-> 等于/不等于-> &-> ^->|-> && -> ||->>?:->赋值运算/拓展运算

参考文献

文献地址:{http://c.biancheng.net/view/5732.html}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值