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小时内与您取得联系。