- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3--java操作符
Java操作符算术操作符自增自减操作符关系操作符条件操作符移位操作符左移运算符1)、如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了33%32=1位。2)、运算规则:【1】 当左移的运算数是int类型时,每移动1位它的第31位就要被移出并且丢弃;【2】 当左移的运算数是long 类型时,每移动1位它的第63位就要被移出并且丢弃。【3】当左移的运算数是byte 和short类型时,将自动把这些类型扩大为int型。3)、数学意义:在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方右移运算符1)、右移的规则只记住一点:符号位不变,左边补上符号位2)、运算规则:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1 当右移的运算数是byte 和short类型时,将自动把这些类型扩大为int型。例如,如果要移走的值为负数,每一次右移都在左边补1,如果要移走的值为正数,每一次右移都在左边补03)、数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。无符号右移运算符无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位无符号右移运算符 只是对32位和64位的值有意义按位操作符按位与、按位或、按位异或操作赋值操作符其它操作符Java操作符实训自动递增、自动递减操作符在第二个例子中,对于int j=i++ + ++i;,首先运行i++,i的值0被用于加运算(+),之后i自增值变为1,然后运行++i,i先自增变为2,之后被用于加运算,最后将i两次的值相加的结果0+2=2赋给j,因此这行代码运行完毕后i=2、j=2;对于int k=--i + i--;用一样的思路分析,具体过程在此不再赘述,结果应该是i=0、k=2。自增与自减运算符还遵循以下规律: 【1】可以用于整数类型byte、short、int、long,浮点类型float、double,以及字符串类型char。 【2】在Java5.0及以上版本中,它们可以用于基本类型对应的包装器类Byte、Short、Integer、Long、Float、Double、Character。 【3】它们的运算结果的类型与被运算的变量的类型相同。按拉操作符“按位运算符”所指的“位”就是二进制位,因此它操作的是二进制的0和1;按位运算符能操作整形值,但不能操作浮点型值,它还可以操作字符型值。按位运算符不能操作对象,但,byte、short、int、long、char所对应的包装器类是个例外,因为Java虚拟机会自动进行拆包装包操作。条件操作符的短路测试移位操作符这里所谓的最有效率,实际上就是通过最少、最简单的运算得出想要的结果,而移位是计算机中相当基础的运算了,用它来实现准没错了。左移位“”把被操作数每向左移动一位,效果等同于将被操作数乘以2,而2*8=(2*2*2*2),就是把2向左移位3次。因此最有效率的计算2乘以8的方法就是“23”。左移运算符
文档评论(0)