Java中短路
当使用逻辑运算符时,我们会遇到一种“短路”的现象。即一旦能够准确无误的确定整个表达式的值,就不再计算表达式余下的部分了。因此整个表达式靠后的部分有可能不被运算
/**短路
* @param args
*/
public static void main(String[] args) {
boolean b=test1(0)&&test2(2)&&test3(2);
System.out.println("expression is "+b);
}
static boolean test1(int val){
System.out.println("test1("+val+")");
System.out.println("result:"+(val<1));
return val<1;
}
static boolean test2(int val){
System.out.println("test2("+val+")");
System.out.println("result:"+(val<2));
return val<2;
}
static boolean test3(int val){
System.out.println("test3("+val+")");
System.out.println("result:"+(val<3));
return val<3;
}
上述代码中当test2为false时,整个表达式的结果已经确定,后续的test3是不会被执行的。这样可以提升代码的性能
Java中短路的更多相关文章
- Java中的逻辑运算符短路效应
在Java中逻辑运算符&& 和 ||,它们都存在短路效应. 对于a && b,只有当a和b同时为true时,整个表达式才为true(在java中,首先运算表达式a,如果 ...
- 如何在 Java 中实现 Dijkstra 最短路算法
定义 最短路问题的定义为:设 \(G=(V,E)\) 为连通图,图中各边 \((v_i,v_j)\) 有权 \(l_{ij}\) (\(l_{ij}=\infty\) 表示 \(v_i,v_j\) 间 ...
- Java中&&和&的区别
Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false. &&的短路功能 ...
- java中的算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符
一.算术运算符 算术运算符主要用于进行基本的算术运算,如加法.减法.乘法.除法等. Java 中常用的算术运算符: 其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴 例 ...
- java中"与"和"或"
在java中"与"和"或"都具有短路功能. 关于"或"运算如 if(mc == null || mc.getReceive()==0){ / ...
- Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...
- JAVA中分为基本数据类型及引用数据类型
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- java中|与||,&与&&到底有什么区别呢?
&是位运算符.&&是布尔逻辑运算符.在运行上,&两边的条件都要判断(不管前面的是ture还是false),而&&先判断前面的,若为false,则后面的不 ...
- 慕课网-安卓工程师初养成-3-6 Java中的逻辑运算符
来源: http://www.imooc.com/code/1301 逻辑运算符主要用于进行逻辑运算.Java 中常用的逻辑运算符如下表所示: 我们可以从“投票选举”的角度理解逻辑运算符: 1. 与: ...
随机推荐
- MySQL 避免使用字符串类型作为标识列
避免使用字符串类型作为标识列: 消耗空间. 比数字类型慢(MyISAM 中对字符串使用压缩索引,查询会慢). 对于 MD5().UUID() 生成的随机字符串,这些值会分布在很大的空间内,导致 ins ...
- 解决ubuntu和win10双系统时间不一致
1.在ubuntu下安装ntpdate sudo apt install ntpdate 2.设置同步windows时间 sudo ntpdate time.windows.com 3.把时间更新到硬 ...
- MySQL存储引擎优化
如何在两种存储引擎中进行选择? ① 是否有事务操作?有,InnoDB. ②是否存储并发修改?有,InnoDB. ③是否追求快速查询,且数据修改较少?是,MyISAM. ④是否使用全文索引?如果不引用第 ...
- java爬虫出现java.lang.IllegalArgumentException: Illegal character in path at index 31
url地址中出现了空格,使用trim()函数去除空格就好了
- 关于ActiveMq的Exception occurred while processing this request, check the log for more information!问题
错误原因:jsp渲染的时候报错了.根本原因在于jdk版本和activemq版本的问题. 两种解决方案: 1.把jdk版本改为jdk1.7 2.activeMQ采用5.15,它依赖于jdk1.8
- Raid5(五块磁盘,三块做raid,两块做备份)
1.在虚拟中再添加五块磁盘. 2.使用mdadm命令创建raid5,名称为“/dev/md5”. -C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义R ...
- Arrays类的概述和常用的方法
1. 2.为了防止外界创造对象,系统把Arrays的无参构造方法设为私有: 并且再其类方法用静态修饰,强制你用类名调用方法,另外math和system也是如此
- dateTimepicker 设置默认日期的方法
1.属性初始化设置 $('#beginDate').datetimepicker({ format: 'yyyy-mm-dd', language: 'zh-CN', weekStart: 1, to ...
- 【Go语言系列】第三方框架和库——GIN:GIN介绍
1.Gin 是什么? Gin 是一个用 Go (Golang) 编写的 HTTP web 框架. 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高 ...
- PHP中数字转为百分位,千分位,万分位。。。
今天做项目中,需要将文章点击量显示在页面中,需求中给的是多少多少万,虽然不是什么难事,但做程序员这么久了,需要考虑的不再是简单的实现,而且有效率和快捷, 虽然PHP自带的函数有number_forma ...