java中a#=2什么意思,Java中a#=2和a=a#2有什么区别
大家好,今天给各位分享java中a*=2什么意思的一些知识,其中也会对Java中a*=2和a=a*2有什么区别进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
java中*=是什么意思比如:i*=n
java中*=为乘后赋值运算符,是一个复合赋值运算符。i*=n相当于i=i*n。
复合赋值运算符,也称为赋值缩写,带有运算的赋值运算符。共有10种这样的运算符,它们是:+=
加赋值,-=
减赋值,*=
乘赋值,/=
除赋值,%=
求余赋值,&=
按位与赋值,|
=
按位或赋值,^=
按位异或赋值,<<=
左移位赋值,>>=
右移位赋值。
复合赋值运算举例:
a+=2
即为a=a+2
x*=y
即为x=x*y
Java中a*=2和a=a*2有什么区别
a+=b等价于a=(a.Type)(a+b);//返回的是a类型,强制转换
a=a+b等价于a=a+b;//返回类型是a类型与b类型中的最高类型
所以当a是int类型时 a=a+1;和a+=1;没有区别。(网上有说+=的效率更高,这个没有研究过。但个人认为 1.现代编译器对我们的代码都会做很多优化,相信编译器的优化肯定会考虑这些问题所以大概率来说最终两者编译后的结果是一样的;2.就算编译器未优化,这点效率的差别在如今的硬件上几乎是体现不出来的,实际编程中不用考虑)
如果当a是short类型时区别就出来了,直接看代码截图
类似的,下面的代码也会有这种问题
inta=2;
a+=1.2;//不报错,最终a=3
a=a+1.2;//报错
java运算中&是什么意思,比如a=1;b=2;a&b=多少
&是位操作符,“按位与”;1转成二进制 01;2转成二进制 10;a&b=00转成十进制为0。
位运算符有:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)。优先级从高到低,依次为~、&、^、|。
按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x& 0177。二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x= x& 077。
Java的表达式就是用运算符连接起来的符合Java规则的式子,运算符的优先级决定了表达式中运算执行的先后顺序。
扩展资料:
整数算术运算的异常是由于除零或按零取模造成的。它将引发一个算术异常。下溢产生零,上溢导致越界。例如:加1超过整数最大值,取模后,变成最小值。
一个op=赋值运算符,和上表中的各双目整数运算符联用,构成一个表达式。整数关系运算符<,>,<=,>=,==和!=产生boolean类型的数据。
java中a=6;b=2;那么a>>b是多少a<<b呢求具体说明
首先要知道>>,<<两个运算符的含义,>>表示右移运算符,<<表示左移运算符,他们都是二元运算符
在进行这两种运算的时候,首先要把左边十进制的数化为二进制,则a=00000110
要计算的就是00000110>>2,意思就是有符号右移两位,结果就是00000001,十进制就是1。00000110<<2,同理,有符号左移两位,结果就是00011000,十进制就是24
还有一种简单的计算方法就是不需要化为二进制,a>>b=6/2^2,结果取整得1,a<<b=6*2^2=24
文章到此结束,如果本次分享的java中a*=2什么意思和Java中a*=2和a=a*2有什么区别的问题解决了您的问题,那么我们由衷的感到高兴!