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笔记学习之操作符
# 可以用
# 布尔
# 小编
# 都是
# 也会
# 就像
# 在此
# 这段
# 给大家
# 会对
# 为其
# 来实现
# 所述
# 给我留言
# 感谢大家
# 转化成
# 往右
# 往左
# 疑问请
# 有任何
相关文章:
如何在阿里云购买域名并搭建网站?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
高端云建站费用究竟需要多少预算?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
高防服务器租用指南:配置选择与快速部署攻略
电脑免费海报制作网站推荐,招聘海报哪个网站多?
建站之星导航如何优化提升用户体验?
如何快速重置建站主机并恢复默认配置?
网站制作网站,深圳做网站哪家比较好?
想学网站制作怎么学,建立一个网站要花费多少?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何自定义建站之星网站的导航菜单样式?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
如何用好域名打造高点击率的自主建站?
建站之星在线版空间:自助建站+智能模板一键生成方案
javascript基本数据类型及类型检测常用方法小结
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何快速完成中国万网建站详细流程?
网站制作难吗安全吗,做一个网站需要多久时间?
建站之星如何修改网站生成路径?
制作公司内部网站有哪些,内网如何建网站?
建站主机选哪家性价比最高?
如何在新浪SAE免费搭建个人博客?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
简历在线制作网站免费版,如何创建个人简历?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
高防服务器:AI智能防御DDoS攻击与数据安全保障
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何快速查询网址的建站时间与历史轨迹?
ui设计制作网站有哪些,手机UI设计网址吗?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
制作旅游网站html,怎样注册旅游网站?
网站制作话术技巧,网站推广做的好怎么话术?
建站主机如何选?高性价比方案全解析
建站之星备案流程有哪些注意事项?
建站之星代理如何优化在线客服效率?
PHP 500报错的快速解决方法
如何挑选最适合建站的高性能VPS主机?
宝塔新建站点报错如何解决?
成都网站制作报价公司,成都工业用气开户费用?
香港服务器选型指南:免备案配置与高效建站方案解析
香港服务器如何优化才能显著提升网站加载速度?
如何在云指建站中生成FTP站点?
*请认真填写需求信息,我们会在24小时内与您取得联系。