boolean类型的按位或||和|的区别
boolean类型既可以使用&&和||做逻辑运算,也可以使用&和|做逻辑运算,但前者是经过优化的(执行短路运算),后者未优化。
以下代码验证:
逻辑或||
public class Main3 {
public static int p=0;
public static boolean m1(){
p=1;
return true;
}
public static boolean m2(){
p=2;
return true;
}
public static void main(String[] args){
System.out.println(m1() || m2());
System.out.println(p);
}
}
//输出
true
1
逻辑或|
public class Main3 {
public static int p=0;
public static boolean m1(){
p=1;
return true;
}
public static boolean m2(){
p=2;
return true;
}
public static void main(String[] args){
System.out.println(m1() | m2());
System.out.println(p);
}
}
//输出
true
2
可以看出使用逻辑或|做逻辑运算时,m1() | m2()中,当m1()为true时,依然会执行后面的m2()函数。这是与逻辑或||的区别。
boolean类型的按位或||和|的区别的更多相关文章
- delphi编程里的bool跟boolean类型有什么区别
bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使 ...
- 5.6.1 Boolean类型
Boolean类型是与布尔值对应的引用类型.要创建Boolean对象,可以像下面这样调用Boolean构造函数并传入true或false值. var booleanObject=new Boolean ...
- Boolean类型
Boolean类型是与布尔值对应的引用类型.如果要创建Boolean对象,语法如下: var booleanObject = new Boolean(true); Boolean类型的实例重写了val ...
- JS判断时特殊值与boolean类型的转换
扒开JQuery以及其他一些JS框架源码,常常能看到下面这样的判断,写惯了C#高级语言语法的我,一直以来没能系统的理解透这段代码. var test; //do something... if(tes ...
- 数据类型总结——Boolean类型(布尔类型)
相关文章 简书原文:https://www.jianshu.com/p/e5c75d4be636 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- 第一百零七篇:基本数据类型(undefined,null,boolean类型)
好家伙, 本篇内容为<JS高级程序设计>第三章学习笔记 1.数据类型 ECMAScript有6种简单数据类型(称为原始类型): Undefined, Null, Boolean, Numb ...
- JS中字符串的true转化为boolean类型的true
var a="True"; a = eval(a.toLowerCase()); alert(typeof a); //boolean alert(a);//true 正解,eva ...
- Python中内置数据类型list,tuple,dict,set的区别和用法
Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...
- javaScript中其他类型的值转换为Boolean类型
将javaScript中其他任意类型的值转换为对应Boolean类型的值. 一 将number类型的值转换为Boolean类型 数值为0: var myBoolean = new Boolean(0 ...
随机推荐
- centos下添加启动项
chkconfig --add 服务名称 chkconfig --level 345 服务名称 on
- 实验吧web天网管理系统
直接查看源码 <!--$test=$_GET['username']>这一行 源码的下面给了我们一些提示:我们输入的username经过md5加密后会赋值给test.当test为0时就会跳 ...
- docker 设置映射端口 目录挂载
docker run -p 3092:9092 -p 3093:9093 -p 3094:9094 -p 3181:2181 --name="kafka_map_port_3092_4_31 ...
- java第一天!
public class Main { public static void main(String[] args)//main主函数 { final double PI=3.14;//定义常量,小数 ...
- 【转】WCF扩展系列 - 行为扩展(Behaviors)
原文:https://www.cnblogs.com/Creator/archive/2011/05/21/2052687.html 这个系列的第一部分将会重点关注WCF行为(behaviors),W ...
- 2015306 白皎 《网络攻防》Exp1 进阶
2015306 白皎 <网络攻防>Exp1 进阶 Task1 64位shellcode的编写及注入 - 自己编写一个64位shellcode.参考shellcode指导. - 自己编写一个 ...
- 21-[模块]-configparser
1.configparser模块 此模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见配置文件格式如下 [DEFA ...
- 10 ORM 多表操作 查询
1.子查询:基于对象的跨表查询 def query(request): """ 跨表查询: 1.基于对象查询 2.基于双下划线查询 3.聚合.分组查询 4. F Q 查询 ...
- DELL R710使用4T硬盘亮黄灯
事件背景 公司DELL R710的物理机上面运行的SQL SERVER数据库,因存储空间不足需要扩充空间.现系统盘(300G SAS 6Gbps 15K*2)RAID 1,数据盘(500G SAS 6 ...
- IIS7 增加JSON文件解析
在MIME增加一个Json类型,在MIME增加一个配置如:添加---> 文件扩展名为 .JSON ,MIME类型为text/json(也有将application/x-javascript) 然 ...