Java的学习日志(三)——各种各样的运算符

算数运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样,分为一元运算符和二元运算符,二元运算符“+”、“-”、“*”、“/”和“%”分别用来进行加、减、乘、除和取余运算。。下表列出了所有的算术运算符。
我们假设A=10,B=20

操作符描述例子
+加法 - 相加运算符两侧的值A + B 等于 30
-减法 - 左操作数减去右操作数A – B 等于 -10
*乘法 - 相乘操作符两侧的值A * B等于200
/除法 - 左操作数除以右操作数B / A等于2
%取余 - 左操作数除以右操作数的余数B%A等于0
++自增: 操作数的值增加1B++ 或 ++B 等于 21
- -自减: 操作数的值减少1B-- 或 --B 等于 19

一般运算符

1、“ + ”

“+”运算符不但用于计算两个数值型数据的和,还可用于字符串对象的连接。当+运算符的两个操作数一个是字符串而另一个是其他数据类型,系统会自动将另一个操作数转换成字符串,然后再进行连接

2、“ - ”

减法 - 左操作数减去右操作数

3、“ * ”

乘法 相乘操作符两侧的值

4、 “ / ” 除法

除法运算符,除法运算符有些特殊,如果除法运算符的两个操作数都是整数类型,则计算结果也是整数,就是将自然除法的结果截断取整。如果除法运算符的两个操作数都是整数,则除数不可以是0,否则将引起除零异常。

5、 “ % ” 求余运算

求余运算的结果不一定总是整数,它的结果是使用第一个操作数除以第二个操作数,得到一个整数的结果剩余的值就是余数。由于求余运算也是进行除法运算,如果除求余运算运算符的两个操作数都是整数,则求余运算的第二个操作数不可以是0,否则将引起除零异常。

在操作数涉及负数求余运算中,可通过下面规则计算:先去掉负号,再计算结果,结果的符号取被除数的符号。如求-10 % -3的结果,去掉负号求10 % 3,结果为1。由于被除数是负值,因此最终结果为-1。

自增与自减运算符

1、 “ ++ ” 自加运算符

两个要点:

1 自加是单目运算符,仅仅能操作一个操作数。

除了自加自减是一元,正(+)和负(-)也是一元运算符,用来改变操作数的符号

2 自加运算符仅仅能操作一个单个数值型(整形和浮点型都可以),不能操作常量,直接量和表达式。

运算符既可以放入操作数的左边,也可以放入操作数的右边,但是表达的效果完全不一样。
b++ 与 ++b 的不同:
System.out.println("b++ = " + (b++) );

System.out.println("++b = " + (++b) );

如果把++放到左边,表示先把操作数加一,然后才把操作数放入表达式中运算。如果把++放到右边,表示先把操作数操作数放入表达式中运算,然后才把操作数加一。

2、 “ - - ” 自减运算符

也是单目运算符,与++ 用法类似。

赋值运算符

1、赋值运算符的定义:

赋值运算符用来为变量指定新值。

2、赋值运算符主要有两类:

一类是使用等号(=)赋值,它把一个表达式的值赋给一个变量或对 象;

另一类是扩展的赋值运算符。

3、赋值运算符的格式:

variableName = expression;

这里,variableName为变量名,expression为表达式。其功能是将等号 右边表达式的值赋给左边的变量。

例如:

int x = 10;

int y = x + 20;

则 y=30

4、赋值运算必须是类型兼容的:

即左边的变量必须能够接受右边的表达式的值,否则会产生编译错误。如下面的语句会产生编译错误。

int j = 3.14 ;

因为3.14是浮点型数据,不能赋给整型变量,因为可能丢失精度。

5、使用等号(=)可以给对象赋值,这称为引用赋值。

将右边对象的引用值(地址)赋给左边的变量,这样,两个变量地址相同,即指向同一对象。如:

Date d1 = new Date();

Date d2 = d1;

此时d1、d2指向同一个对象。对象引用赋值与基本数据类型的拷贝赋值是不同的。

逻辑运算符

逻辑运算符用于操作两个boolean类型的变量或者常量,逻辑运算符的运算对象只能是布尔型数据,并且运算结果也是布尔型数据。

逻辑运算符包括如下6种:

逻辑非(!)、逻辑与(&)、逻辑或(|)、逻辑异或(^)、 短路与(&&)、短路或(||)。

对一个逻辑值A,逻辑非(!)运算是指:
当A为true时,!A的值为false,当A的值为false,!A的值为true。

对逻辑“与”(&&或&)和逻辑“或”(||或|)运算都有两个运算符,它们的区别是:“&&”和“||”为短路运算符,而“&”和“|”为非短路运算符。对短路运算符,当使用“&&”进行“与”运算时,若第一个操作数的值为false时,就可以判断整个表达式的值为false,因此,不再继续求解第二个表达式的值。

同样当使用“||”进行“或”运算时,若第一个操作数的值为true时,就可以判断整个表达式的值为true,不再继续求解第二个表达式的值。

对非短路运算符(&和|),将对运算符左右的表达式求解,最后计算整个表达式的结果。

对于逻辑异或,对运算符左右的表达式相同为false,不同为true。

三元运算符

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

表达式:

variable x = (expression) ? value if true : value if false

三目运算符的规则是,先对逻辑表达式expression进行求值,如果逻辑表达式返回true,则返回第二个操作数的值,如果逻辑表达式返回false,则返回第三个操作数值。

运算符的优先级与结合性

优先级运算符结合性
1( ) [ ] . (点操作符)左到右
2+(正) -(负) !〜 ++ - -右到左
3* / %左到右
4+(加)-(减)左到右
5<< >> >>>左到右
6< <= > >=左到右
7== !=左到右
8&(按位与)左到右
9^左到右
10l (按位或)左到右
11&&左到右
12ll左到右
13?:右到左
14= += -= *= /= %= &= l= ^= ~= <<= >>= >>>=右到左
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FFFPAG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值