& 和 && 的区别,与(&)运算符、位移运算符(<< 、>>、>>>)的含义及使用(Java示例)
2024-10-20 13:57:51
& 和 && 的区别,与(&)运算符、位移运算符(<< 、>>、>>>)的含义及使用(Java示例)
1. & 和 &&
& 和 && 都是逻辑运算符 都是判断两边是否为真
运算符两边没有值的改变时,两者结果一样
运算符两边有值改变时,&会两侧都执行运算,&&只会在两侧都是两侧都是true时两侧都进行运算否则只执行左侧
- 运算符两边没有值的改变时
@Test
public void Operator(){
int m =1,n =2;
System.out.println(m>0&n>0);
System.out.println(m>0&&n>0);
}
/*
* 输出结果:
true
true
* */
- 运算符两边有值改变时
@Test
public void Operator(){
int m =1,n =1;
System.out.println((m++>2&m++>0) + " " + m);
System.out.println((n++>2&&n++>0) + " " + n);
}
/*
* 输出结果:
false 3
false 2
* */
两侧都为true时两侧都执行运算
@Test
public void Operator() {
int m = 1, n = 1;
System.out.println((m++ > 2 & m++ > 0) + " " + m);
System.out.println((n++ > 0 && n++ > 0) + " " + n);
}
/*
* 输出结果
false 3
true 3
* */
2. 与(&)运算符
& 运算符是对数值转化为二进制进行&运算,对应位都为1是取1否则取0 例如:
128的二进制表示为1000 0000
129的二进制表示为1000 0001
128&129 10000000
128&129 —>128
3&2 —>2
128&127—>0
@Test
public void AndOperator(){
System.out.println(128&129);
System.out.println(3&2);
System.out.println(128&127);
}
/*
* 输出结果:
128
2
0
* */
3.移位运算符
在数据在二进制的前提下:
"<<" 表示向左移动指定的二进制位数,低位空位补零,相当于在后边直接加上指定个数的0,
如:2<<1—>4,3<<1—>6;
"<<" 表示向右移动指定的二进制位数低位舍弃,高位空位补零,相当于在末尾直接去掉指定的位数,
如:2>>1—>1,128>>3—>16;
“>>>”按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
其他结构和>>相似
最新文章
- SecureCRT 常用命令
- 关于thinkphp中的G方法使用
- NYOJ题目11613n+1问题
- CodeForces #369 div2 D Directed Roads DFS
- .net中对象序列化技术浅谈
- SRTM数据介绍与说明
- MySQL的存储引擎整理
- Struts之ForwardAction
- 跳转界面方法 (runtime实用篇一)
- 转:web前端面试题合集 (Javascript相关)(js异步加载详解)
- Javascript中的深拷贝和浅拷贝
- 201521123027 <;java程序设计>;第11周学习总结
- Spark源码剖析(一):如何将spark源码导入到IDEA中
- 第四次上机,ASP组件的使用
- java界面--WePush-master 项目跑起来 -碰到的问题
- ODM、JDM、OEM概念
- springmvc 整合Controller出现实例化两次问题
- Canvas与javaScript特效笔记
- MySQL 显示表字段及注释等信息
- wordApp.Documents.Open 未将对象引用实例
热门文章
- Django的Form验证(2)
- Python爬虫基础面试题,为2020年初就业做准备
- Java连载61-异常的机制与分类
- Linux Zookeeper 安装, 带视频
- 三个月前的评测拖延三个月仍旧是拳王No.1吗?YES!
- (八十一)c#Winform自定义控件-时间轴-HZHControls
- 熔断器Hystrix及服务监控Dashboard
- Apply Grouping to List View Data 将分组应用于列表视图数据
- vue-cli3.0配置图片转base64的规则
- python3 tornado api + angular8 + nginx 跨域问题