Java 运算符 &与&& << >> >>>区别
来源:互联网 发布:电影消除人声软件 编辑:程序博客网 时间:2024/04/28 20:33
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长 “>>”运算符作带符号的位移处理,它作位移处理时,会先将值向右移,并在高位填0,然后将位移后所空出的高位,全部改成原来的最高位的值(代表正负号的位)。也就是说负的值位移后,仍然是负的值,比如: -10>>2 =-3 -10= 1111 1111 1111 1111 1111 1111 1111 0110 右移2位:0011 1111 1111 1111 1111 1111 1111 1101 结果:1111 1111 1111 1111 1111 1111 1111 1101 (全部天上原本符号位的值:1) b)“>>>”运算符 “>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入0。当我们要作位移的原始值并非代表数值时(例如:表示颜色图素的值,最高位并非正负号),可能就会需要使用此种无符号的位移。比如: -10>>>2=1073741821 -10=1111 1111 1111 1111 1111 1111 1111 0110 (不管原来的“符号”位的值(一长串1),空上的全部直接填0) 0011 1111 1111 1111 1111 1111 1111 1101=1037341821 c)“<<”运算符 “>>”运算符的所作的也是无符号的位移处理,同样地,它不会将所处理的值的最高位视为正负符号,它作位移处理时,会直接左移并在低位填入0。所以第二高位以下的位若移到了最高位,该值的正负可能会与原来的不同。 -2147483647<<2=4 -2147483647=1000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0100=4 d)“<<<”运算符 说说&和&&的区别。
恩,当然了,在java里不存在它。
- Java 运算符 &与&& << >> >>>区别
- Java 运算符 &与&& << >> >>>区别
- java_移位运算符<<,>>,>>>
- java>>> >> <<操作符解释
- ><
- <div><span>
- Thinking In Java<<Java编程思想>>
- 逻辑运算符<<和>>的详细分析
- GT*
- <html:errors/>
- <noscript>标签
- >_<~!!!
- #include<iomanip>
- jQuery :eq,lt,gt
- <周易>
- <!--[if IE]>….<![endif]--> (<!--[if !IE]>||<![endif]-->)
- < >
- <logic:iterate>
- java String类详解
- java中的length属性和length()方法和size()方法
- try{return}finally{}模块中finally中的code是在return前执行还是rerun后执行
- java异常分类
- 第11周项目6-回文、素数 输出1000以内的所有素数、回文数、回文素数和10000以内的所有可逆素数
- Java 运算符 &与&& << >> >>>区别
- Android APK反编译详解(附图)
- Android如何防止apk程序被反编译
- 破解手机WIFI连接及密码
- 花生壳动态域名绑定步骤及相关问题
- android ListView美化-->几个比较特别的属性
- adb server is out of date. killing...
- Android恢复出厂设置
- Android预安装软件&adb命令&编译源码