全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Java的位操作符

Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理

Java的按位操作符

按位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。这个操作符有与(&)、非(~)、或(|)、异或(^)。我们知道单位“比特”(bit),即代进制位,都是0和1,异或(^)可能比较复杂点,两个操作数的位中,相同则结果为0,不同则结果为1。那么最基本的逻辑就像下面这个样子。

1&1 → 1
1&0 → 0
~1 → 0
~0 → 1
1|1 → 1
1|0 → 1
1^0 → 1  (1为01,0为00,那么结果就是01,还是1)
1^1 → 0

Java的移位操作符

Java的移位操作符无非就是对二进制进行位移。

进行<<就是左移,也就是所有所有二进制往左边移动一个位,0010 0000 << 1 等于0100 0000

进行>>右移,也就是所有所有二进制往右边移动一个位,0010 0000 >> 1 等于0001 0000 。

可以试试下面的例子,整数型的也是变成二进制来计算:

class Test{
   public static void main(String[] args){
   int numInt1 = 3;
   int numInt2 = -3;
   System.out.println(numInt1<<1);
   System.out.println(numInt1>>1);
System.out.println(numInt2<<1);
 System.out.println(numInt2>>1);

  } 
 }
/* 输出的结果如下(www.breakyizhan.com)
6   ---> 0000 0011<<1 , 变为0000 0110
1   ---> 0000 0011>>1 , 变为0000 0001...1后面的1被顶出去了,所以结果为1
-6   --> 1111 1101<<1 , 变为1111 1010 取反+1= 0000 0110  -6
-2   --> 1111 1101>>1 , 变为1111 1110 取反+1= 0000 0010  -2 
*/

Java的三元操作符if-else

三元操作符也叫做条件操作符,用来做简单的逻辑判断是最好不过的,因为其简洁高效,当然,也可以用if-else代替三元操作符,但是,三元操作符最终也会生成一个值。三元操作符表达式如下:

boolean-exp? exp0: exp1

如果boolean-exp(布尔表达式)的结果为true,就计算exp0这个表达式的值不计算exp1的值,如果为false,就计算后面的表达式exp1这个表达式的值不计算前面exp0的值,然后返回计算结果的值。可以来看一下详细的例子:

public class sanyuantest{
  static int changeNo(int 1){
  return i < 5 ? i*100:i*10;
  }
 public static void main(String[] args){
 println(changeNo(3));
 println(changeNo(6));
 }
}
/*输出的结果如下(www.breakyizhan.com)
300
60
*/

上面这段代码也可以用if-else来实现,当然,有部分人认为if-else可以让代码看起来逻辑更加清晰。但是用三元表达式显得代码更加简洁。

总结

以上所述是小编给大家介绍的Java的位操作符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# java  # 位操作符  # Android RxJava创建操作符Timer的方法  # Android RxJava创建操作符Interval  # 浅谈Java操作符与其优先级  # Rxjava功能操作符的使用方法详解  # 简述Java编程之关系操作符  # 详解Java的按位操作符  # Java的RxJava库操作符的用法及实例讲解  # Java关系操作符简写介绍  # java笔记学习之操作符  # 可以用  # 布尔  # 小编  # 都是  # 也会  # 就像  # 在此  # 这段  # 给大家  # 会对  # 为其  # 来实现  # 所述  # 给我留言  # 感谢大家  # 转化成  # 往右  # 往左  # 疑问请  # 有任何 


相关文章: 5种Android数据存储方式汇总  如何选购建站域名与空间?自助平台全解析  如何打造高效商业网站?建站目的决定转化率  网站制作模板下载什么软件,ppt模板免费下载网站?  招商网站制作流程,网站招商广告语?  如何选择域名并搭建高效网站?  已有域名和空间如何搭建网站?  建站之星logo尺寸如何设置最合适?  如何高效利用200m空间完成建站?  如何快速查询网站的真实建站时间?  制作网页的网站有哪些,电脑上怎么做网页?  如何在万网主机上快速搭建网站?  免费视频制作网站,更新又快又好的免费电影网站?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何配置WinSCP新建站点的密钥验证步骤?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  宝塔面板如何快速创建新站点?  代刷网站制作软件,别人代刷火车票靠谱吗?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  如何在服务器上三步完成建站并提升流量?  高防服务器租用指南:配置选择与快速部署攻略  如何在七牛云存储上搭建网站并设置自定义域名?  如何快速搭建高效可靠的建站解决方案?  如何快速搭建安全的FTP站点?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何选择适合PHP云建站的开源框架?  如何零基础开发自助建站系统?完整教程解析  简历在线制作网站免费版,如何创建个人简历?  如何零成本快速生成个人自助网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  建站之星如何助力网站排名飙升?揭秘高效技巧  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  网站app免费制作软件,能免费看各大网站视频的手机app?  建站主机与虚拟主机有何区别?如何选择最优方案?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在Windows 2008云服务器安全搭建网站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  小型网站建站如何选择虚拟主机?  如何在万网ECS上快速搭建专属网站?  建站之星安装模板失败:服务器环境不兼容?  香港服务器WordPress建站指南:SEO优化与高效部署策略  公司网站制作需要多少钱,找人做公司网站需要多少钱?  定制建站流程解析:需求评估与SEO优化功能开发指南  如何设计高效校园网站?  网站制作公司排行榜,抖音怎样做个人官方网站  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。