java中的运算符

一、java中的运算符介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

分为以下几种运算符:
算数运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符

二、算数运算符

2.1 算数运算符有哪些

在这里插入图片描述

2.2 算数运算符注意的地方

1、如果对负数取模,可以把模数负号忽略不计,如 5 % -2 = 1。但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。

2、对于除号 “/”,它的整数除与小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

三、赋值运算符

符号:=
1、当 “=” 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
2、支持连续赋值
在这里插入图片描述在这里插入图片描述

3、扩展赋值运算符:+=、-=、*=、/=、%=

四、比较运算符

在这里插入图片描述

五、逻辑运算符

5.1 逻辑运算符有哪些

在这里插入图片描述

5.2 逻辑运算符注意事项

1、逻辑运算符用于连接布尔型表达式,在 java 中不可以写成 1< x< 2,应该写出 x > 1 & x < 2。

2、"&" 和 “&&” 的区别
“&” :左边无论真假,右边都进行运算。
“&&”:如果左边为真,右边参与运算,如果左边为假,那么右边不参加运算。

3、"|" 和 “||” 的区别同理,"||" 表示:当左边为真,右边不参与运算

4、异或(^) 与 或(|) 的不同之处是:当左右都为 true 时,结果为false。

六、位运算符

在这里插入图片描述在这里插入图片描述

七、三元运算符

在这里插入图片描述

八、运算符的优先级

在这里插入图片描述

九、运算符的一些题

题1:
short s = 3;
s = s + 2; (1)
s += 2; (2)
问:(1) 和 (2)有什么区别?

答:(1) 不会通过编译,但是 (2) 可以。(1)中当 short 类型运算时会自动转换为 int,int 转为 short 要强制转变,所以编译不通过。(2) 中运算符 += 自动强转,相当于: s = short(s + 2)。

题2:
int i = 1;
i *= 0.1;
System.out.println(i);
问:打印出来的值是什么?

答:结果为0,和上题思路一样,i *= 0.1 相当于是 i = int(i * 0.1),故结果为0。

题3:
int m = 2;
int n = 3;
n *= m++;
System.out.println(“m=” + m);
System.out.println(“n=” + n);
///
int m = 2;
int n = 3;
n *= ++m;
System.out.println(“m=” + m);
System.out.println(“n=” + n);
问:上面两段代码各自打印出来的值是什么?

答:第一段代码 m 的值为3,n 的值为6。第二段代码 m 的值为3,n 的值为9。这里主要注意自加符号,如果为 ++m 那就先自加再运算赋值,如果为 m++ 那就先运算赋值再自加。

题4:
int n = 10;
n += (n++) + (++n);
System.out.println(n);
问:n的值为多少?

答:n 的值为32,上述式子可以化为:n = n + (n++) + (++n),这里和上面一样,n++ 那就先参与运算,再加1,++n 就是先自加再参与运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值