java &与&&的区别: & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。
我想很多人在学习java的时候,或者面试时都会遇到
&和&&
然而,如果你没有真正的理解他们的意思,这会给你思路上面带来很大的麻烦
在这篇blog中,当你看完了以后,你会发现,很容易就把他们给区分开了
下面是我的demo
/**
*
*/
package com.b510.test;
/**
* @author Jone Hongten
* @create date:2013-11-2
* @version 1.0
*/
public class Test {
public static void main(String[] args) {
String str = null;
if(str != null && !"".equals(str)){
//do something
}
if(str != null & !"".equals(str)){
//do something
}
}
}
我们现在可能有一些模糊不清,现在我们先看看&和&&的电路问题:
对于:&&
if(str != null && !"".equals(str))
当: str != null 的时候,接下来才会去执行: !"".equals(str)
如果: str != null为false,那么这个时候,程序是处于短路的情况,则,!"".equals(str) 是不会执行的。
但是对于:&
if(str != null & !"".equals(str))
不管: str != null 的结果如何(即true,false),程序都会执行: !"".equal(str)
电路问题总结:
对于:& -- > 不管怎样,都会执行"&"符号左右两边的程序
对于:&& -- > 只有当符号"&&"左边程序为真(true)后,才会执行符号"&&"右边的程序。
下面来说说运算规则:
对于:& -- > 只要左右两边有一个为false,则为false;只有全部都为true的时候,结果为true
对于:&& -- > 只要符号左边为false,则结果为false;当左边为true,同时右边也为true,则结果为true
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析,包括了jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery.extend 与 jQuery.fn.extend的用法及区别。分享给大家供大家参考,具体如下: jQuery是一个JavaScript类,
本文向大家介绍java中&与&&的区别,包括了java中&与&&的区别的使用技巧和注意事项,需要的朋友参考一下 在java中&和&&都属于逻辑运算符,都是判断两边条件为真时为真,否则则为假 在程序中&的使用: 这一段代码运行结果为:5 也就是说&逻辑运算符实际上是会吧前后两个判断条件都会执行两次,i自加了两次,出现结果为:5 这一段代码运行结果为:4 也就是说&&逻辑运算符实际上只判断了前边一个条
如果实体之间存在继承,那么我应该如何在DTO中表示它?例如: 我应该如何使用它们?例如,我发现:我正在做一个web项目。网页的用户想要注册。他/她填写表单,并将其发送到服务器。在服务器端,我首先创建一个DTO,因为它的字段有验证。我从DTO创建一个实体并将其持久化到数据库中。当有对实体的请求时,我将被请求的实体转换为DTO,并将其提供给客户端的用户。这是一个很好的想象,还是不是?
主要内容:1 Hashtable的概述,2 Hashtable的源码解析,2.1 主要类属性,2.2 Entry节点,2.3 构造器与初始化参数,2.4 put方法与扩容机制,2.5 putAll方法,2.6 remove方法,2.7 get方法,2.8 clear方法,2.9 遍历的方法,3 HashMap 和 Hashtable的异同与应用,3.1 基于JDK1.8的HashMap 和 Hashtable的异同,基于JDK1.8对Java中的Hashtable集合的源码进行了深度解析,包括各
主要内容:1 ArrayDeque的概述,2 ArrayDeque的API方法,3 ArrayDeque的源码解析,3.1 主要类属性,3.2 构造器与初始容量,3.3 添加的方法,3.4 移除的方法,3.5 获取的方法,3.6 其他方法,4 ArrayDeque和LinkedList的区别,5 性能对比基于JDK1.8对Java中的ArrayDeque集合的源码进行了深度解析,包括各种方法的底层实现,在最后给出了ArrayDeque和LinkedList的对比案例以及使用建议。 1 Array
本文向大家介绍title与h1的区别、b与strong的区别、i与em的区别?相关面试题,主要包含被问及title与h1的区别、b与strong的区别、i与em的区别?时的应答技巧和注意事项,需要的朋友参考一下 title 是 网页标题标签 h1 是文本标签 默认与word的h1相似为最大的标题显示 b 为文本加粗标签 与word的加粗功能相似 strong 为强调语气, 也是为文本加粗 与b标签