- 浏览: 515071 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (114)
- C基础 (1)
- C指针 (0)
- C语言库函数相关 (1)
- Linux (2)
- Linux网络编程 (1)
- PostgreSQL (0)
- Redis (2)
- Java Web (2)
- JAVA基础 (35)
- Ubuntu (8)
- Android (2)
- MySQL (3)
- 日志 (1)
- 书虫 (1)
- 数据结构 (0)
- 算法 (0)
- 开发工具 (1)
- 转载 (13)
- 英语 (18)
- tomcat启动脚本分析 (3)
- Oracle基础 (4)
- tomcat源码分析 (3)
- tomcat (1)
- Java相关 (1)
- Oracle基本原理--Oracle体系结构 (0)
- Oracle基本原理--表 (0)
- Oracle基本原理--索引 (0)
- Oracle基本原理--事务 (0)
- Oracle开发--SQL (1)
- Oracle基本原理--PL/SQL (0)
- Oracle基本原理--常用函数 (0)
- Oralce管理--用户及权限管理 (0)
- Oracle管理--安装调试 (0)
- Oracle管理--备份恢复 (0)
- Oralce管理--数据迁移 (0)
- Oracle管理--闪回 (0)
- Oracle管理--故障处理 (0)
- Oracle优化原理--统计信息 (0)
- Oracle优化原理--执行计划 (0)
- Oracle优化原理--诊断工具 (0)
- Oracle优化原理--深入理解表 (0)
- Oracle优化原理--深入理解索引 (0)
- Oracle优化原理--表连接原理 (0)
- Java--OOP (0)
- Java--异常 (0)
- Java--泛型 (0)
- Java--集合 (0)
- Java--IO (0)
- Java--枚举类型 (0)
- Java--注释 (0)
- Java--多线程 (0)
- Java--XML (0)
- Java--JDBC (3)
- Servlet (0)
- JSP (0)
- JSTL (0)
- 设计模式 (0)
- DAO与MVC (0)
- Javascript (2)
- Ajax (0)
- JQuery (0)
- HTML/CSS (0)
- 前端相关 (1)
- HTTP (0)
- TCP/IP (0)
- GO基础 (0)
最新评论
-
jsonmong:
推荐一个开发平台,采用的是插件化的设计思想,效果很不错的。ht ...
构建Java Web开发环境 -
wxm198427:
首先表示辛苦了!我想问个问题:我的是windows 7 x64 ...
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤 -
握着橄榄枝的人:
我之前按照你的update mysql.user set pa ...
Windows7下MySQL5.5.20免安装版的配置 -
confident_f:
安装了32的客户端后,用plsql导入导出表有问题,生成不了d ...
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤 -
confident_f:
安装数据库的时候第9步卡住了 是怎么回事呢?
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤
短路:在逻辑表达式中,如果能通过逻辑运算符左边表达式的值就能推算出整个表达式的值,那么将不再继续执行逻辑运算符右边的表达式。(&&,||)
非短路:始终执行逻辑表达式两边的表达式。(&,|)
例如:
运行结果如下:
result=false
a=12
b=2
然后注释掉boolean result = ((a = 9+3)<10)&&((b = 8-3)>4);,运行boolean result = ((a = 9+3)<10)&((b = 8-3)>4);的结果如下:
result=false
a=12
b=5
在实际应用时,更多的应用“短路”逻辑运算符,因为使用“短路”运算符算在一些情况下只需计算其中一个表达式的值就可得到整个表达式的结果,缩短了执行时间,提高了执行速度。例如“True||(45328/45+3455.33)>(99*23+98.12)”,已知道左边的值为True,则整个表达式的值为True,因此不需要执行右边的表达式。
使用“短路”逻辑运算符有助于提高程序代码的安全性,例如判断用户是否输入了数值,可通过如下编码:
运行结果如下:
请输入用户名!
如果使用“非短路”逻辑运算符与运算符“&”进行判断:
则会抛出java.lang.NullPointerException空指针异常。因为name没有引用任何对象,所以name.equals("")将抛出异常错误。
非短路:始终执行逻辑表达式两边的表达式。(&,|)
例如:
public class Test2{ public static void main(String args[]){ int a = 1; int b = 2; boolean result = ((a = 9+3)<10)&&((b = 8-3)>4); //boolean result = ((a = 9+3)<10)&((b = 8-3)>4); System.out.println("result="+result); System.out.println("a="+a); System.out.println("b="+b); } }
运行结果如下:
result=false
a=12
b=2
然后注释掉boolean result = ((a = 9+3)<10)&&((b = 8-3)>4);,运行boolean result = ((a = 9+3)<10)&((b = 8-3)>4);的结果如下:
result=false
a=12
b=5
在实际应用时,更多的应用“短路”逻辑运算符,因为使用“短路”运算符算在一些情况下只需计算其中一个表达式的值就可得到整个表达式的结果,缩短了执行时间,提高了执行速度。例如“True||(45328/45+3455.33)>(99*23+98.12)”,已知道左边的值为True,则整个表达式的值为True,因此不需要执行右边的表达式。
使用“短路”逻辑运算符有助于提高程序代码的安全性,例如判断用户是否输入了数值,可通过如下编码:
String name = null; //判断name不等于null并且不等于空,当name等于null时,不会执行name.equals("")方法 if(name!=null&&!name.equals("")) System.out.println("用户名:"+name); else System.out.println("请输入用户名!");
运行结果如下:
请输入用户名!
如果使用“非短路”逻辑运算符与运算符“&”进行判断:
String name = null; //判断name不等于null并且不等于空,当name等于null时,还会执行name.equals("")方法 if(name!=null&!name.equals("")) System.out.println("用户名:"+name); else System.out.println("请输入用户名!");
则会抛出java.lang.NullPointerException空指针异常。因为name没有引用任何对象,所以name.equals("")将抛出异常错误。
发表评论
-
foreach循环
2013-06-24 16:15 1433从JDK1.5开始,Java提供了一个更简单的循环:forea ... -
可变参数
2013-06-24 15:38 1193从JDK1.5开始,Java允许使用可变参数为方法指定数量不确 ... -
泛型(core java 笔记)
2013-06-18 16:18 20201.为什么引入泛型 package generic; ... -
两个程序的说明
2010-10-19 09:26 11301、程序1的结果是: clas ... -
构造器初始化
2010-10-18 14:42 1477可以用构造器来进行初始化。在运行时刻,可以调用方法或执行某些动 ... -
成员初始化
2010-10-18 07:55 1195Java尽力保证:所有变量在使用前都能得到恰当的初始化。 对 ... -
线程的死锁
2010-10-11 19:21 1463当两个线程相互等待对方释放同步监视器时就会发生死锁,Java虚 ... -
线程的同步
2010-10-11 19:00 1246一个经典的关于线程安全性的问题:银行取钱问题。 银行取钱的基 ... -
java网站收集
2010-10-10 18:13 1225JAVA开发者最常去的25个英文网站:http://www.i ... -
控制线程
2010-10-10 16:06 19871、线程睡眠:sleep 如果我们需要让当前正在执行的线程暂 ... -
线程的状态
2010-09-28 19:00 998线程从创建到执行完毕的整个过程称为线程的生命周期,在整个生命周 ... -
Java中Thread类的start()和run()的区别
2010-09-27 15:33 40771、start()方法来启动线程,真正实现了多线程运行,这时无 ... -
Java中创建线程的两种方法
2010-09-26 10:18 5610在Java中创建线程有两种方法:继承Thread类和实现Run ... -
创建String对象过程的内存分配小结
2010-09-23 20:32 2744常量池(Constant Pool):指的是在编译期被确定,并 ... -
Java堆和栈的区别 经典总结(转载)
2010-09-18 16:48 1239栈与堆都是Java用来在Ram中存放数据的地方。 与C++不 ... -
Java初学者都必须理解的七大问题
2010-09-18 10:36 1097问题一:我声明了什么 ... -
关于计算java程序运行时间(转载)
2010-09-18 09:22 1090//第一种,伪代码 long startTime= ... -
for循环的优化
2010-09-17 20:29 2107在程序中经常用到for循环,当一些算法实时性要求非常高时,对f ... -
详细解析Java中抽象类和接口的区别(转载)
2010-09-17 10:16 1074在Java语言中,abstract class和inter ... -
集合类(四):Map集合
2010-09-16 20:26 21205、Map集合 Map集合为映射类型,映射与集和列表有明显的区 ...
相关推荐
34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip...
计算机后端-PHP视频教程. php与mysql加强- 05. php加强53-进逻辑运算符的短路特性.wmv
Java中短路与和与,短路或和或逻辑运算符区别.pdf 学习资料 复习资料 教学资源
本文实例分析了JS逻辑运算符短路操作。分享给大家供大家参考,具体如下: js逻辑运算符有三个:逻辑非!、逻辑与&&、逻辑或||。 所谓短路操作就是,当&&的第一个操作数的值是false时,直接返回第一个操作数的值,不再...
短路与 a、b全为true时,计算结果为true,否则为false。 2>1&&3 true || a||b 短路或 a、b全为false时,计算结果为 false,否则为true。 2||3>4 false & a&b 逻辑与 a、b全为true时,计算结果为true,否则为false。 ...
逻辑运算符 &&、 ||、 ! 注意:逻辑计算支持短路操作 表达多个条件之间的关系。例如年龄大于等于18并且年龄小于65 &&:与运算,含义是两个条件必须同时成立,可以翻译为并且 ||:或运算,含义是两个条件中成立一个...
表4-5 布尔逻辑运算符及其意义 运算符 含义 & 逻辑与 逻辑或 ^ 异或 短路或 && 短路与 ! 逻辑反 &= 逻辑与赋值(赋值的简写形式) = 逻辑或赋值(赋值的简写形式) ^= 异或赋值(赋值的简写形式) == 相等 != 不...
Java中的逻辑运算符包括逻辑与&,逻辑或|,逻辑非!逻辑异或^,除此之外还有几个比较相似的&&短路与,||短路或。 那么这几个逻辑运算符到底有什么意思呢?下面我们来看看 首先看逻辑与&的用法,只有两个都为真...
java代码-逻辑运算符
运算符 运算 例子 结果 & AND(与) false&true false | OR(或) false|true true ^ XOR(异或) false^true true ! NOT(非) !false true && AND(短路) false&&true false || OR(短路) false||true true 下面对一些比较...
逻辑表达式中可以包含多个逻辑运算符;3种逻辑运算符的优先级从高到低依次为: !&&||;运算符“&&”被称为短路“与”;运算符“||”被称为短路“或”。 6-4 逻辑运算符与逻辑表达式 运算符 运算 范例 结果 && 与 a&&...
逻辑运算符:短路 && || 具有短路功能的逻辑运算 语法 expr1 && expr2expr1 || expr2 说明 expr1 && expr2 表示使用短路行为 (第 1-4 页)的逻辑 AND 运算。即,如果 expr1 为逻辑值 0 (false),将不计算 expr2 的...
逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是 true 整个表达式的值才是 true。 &&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会...
跳转控制语句 三元运算符 逻辑运算符 短路逻辑运算符 数组 方法简述 switch语句 if语句 关系运算符 自增自减运算符 赋值运算符 算术运算符 类型转换 Java简述 标识符 变量 数据类型 常量 关键字
020.布尔值_比较运算符_逻辑运算符_短路问题 021.同一运算符_整数缓存问题 022.字符串_unicode字符集_三种创建字符串方式_len() 023.字符串_转义字符_字符串拼接_字符串复制_input()获得键盘输入 024.字符串_str()_...
对于逻辑运算符&& 和 ||,学过discrete Math的同学都知道,一个是与,一个是或。在Java中它们存在短路效应。 对于a && b,只有当a和b同时为true时,整个表达式才为true,在java中,首先运算表达式a,如果a为true...
第二课 逻辑运算符 1.&&逻辑与 ||逻辑或 !逻辑非 2.不能连着写关系表达式 3.短路运算: 在逻辑表达式的计算过程中,一旦能够确定整个表达式的值,就会立刻停止计算。 第三课 if语句 1.if(表达式) ...
Java运算符-Java赋值运算符,关系和逻辑运算符,短路运算符 Java条件和If语句 方法-参数,参数和返回值 Java平台概述-Java,Javac,字节码,JVM和平台独立性-JDK,JRE和JVM 面向对象编程-类,对象,状态和行为 OOPS...
5.3.4 逻辑运算符(短路运算符) 5.3.5 逻辑字运算符 5.3.6 算术运算符 5.3.7 自动递增和自动递减运算符 5.3.8 位逻辑运算符 5.3.9 条件运算符 5.3.10 范围运算符 5.3.11 特殊字符串运算符和...