`

JAVA &和&&的区别

    博客分类:
  • JAVA
阅读更多

 

 

&和&&的区别

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException

&不具有短路功能。执行前面表达式后,不管是否是false还是true,还会执行后面的表达式。如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长

&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x01 & 0x0f的结果为0x01。

可以参考http://blog.sina.com.cn/s/blog_6bd03e3501011yge.html的例子更生动理解

 

分享到:
评论

相关推荐

    java中&&和&的区别

    java中的&&与&两者的区别

    笔试题java&.net全集收录

    标题中的“笔试题java&.net全集收录”表明这是一个包含Java和.NET技术领域笔试题目的集合,可能涵盖了这两门编程语言的基础知识、高级概念、框架应用以及开发实践等内容。这些题目可能是为了招聘过程中的技术筛选而...

    java&guava讲义.pptx

    * NPE(NullPointerException)和 == 操作符的区别。 Guava 框架知识点: * Guava 的设计理念:优秀的 API 设计,简洁、功能强大。 * Guava 对 String 的支持:提供了多种字符串操作,例如 Joiner、Splitter 等。 ...

    java &与&&的区别及实例

    Java编程语言中,`&` 和 `&&` 都是用来进行逻辑运算的,但它们之间存在显著的区别。本文将深入探讨这两个运算符的工作原理、用法以及何时使用它们。 首先,`&` 是一个位运算符,同时也用作逻辑运算符。作为位运算符...

    详解java中&和&&的区别

    在Java编程语言中,`&`和`&&`都是逻辑运算符,但它们在实际使用中有着明显的区别。本文将详细解析这两个运算符的差异,帮助开发者更好地理解和应用。 首先,`&`和`&&`都可以用来进行逻辑与操作。这意味着只有当两个...

    ACCP4.0全套课件之Java&OOP

    【Java&OOP】课程是ACCP4.0培训体系中的重要组成部分,旨在深度讲解Java编程语言以及面向对象编程(Object-Oriented Programming)的概念和技术。ACCP,全称为 Aptech Certified Computer Professional,是一个国际...

    java之&&与& -与- 的区别

    &&和&都是表示与,区别是&&只要满足第一个条件,后面条件就不用再做判断了。而&要对所有的条件都进行判断之后再处理。 ||和| 同上,都表示或,区别在于||只要满足第一个条件,后面的条件就不用再做判断了,而|还要...

    面试问卷-java&Oracle.doc

    - **问题3**:可能测试对集合框架的理解,如ArrayList和LinkedList的区别,HashMap的工作原理。 - **问题4**:可能涵盖多线程,如线程同步、死锁避免。 - **问题5**:可能涉及输入/输出(I/O)流,如文件读写、网络...

    java & web 面试题

    6. **解释一下 Java 集合框架中的 List、Set 和 Map 的区别。** - List 有序且允许重复元素,常用接口有 ArrayList 和 LinkedList;Set 不允许重复元素,如 HashSet 和 TreeSet;Map 存储键值对,如 HashMap 和 ...

    java中&与&&的区别

    本文主要介绍了java中&与&&的区别,具有很好的参考价值。下面跟着小编一起来看下吧

    JAVA题目&答案

    3. **集合框架**:Java中的ArrayList、LinkedList、HashMap、HashSet等集合类的使用,以及它们之间的区别和选择依据。 4. **异常处理**:如何抛出和捕获异常,理解checked和unchecked异常的区别,以及何时使用try-...

    java&c++面试

    在程序员面试中,Java和C++是常见的技术栈,以下是一些核心知识点的详细解析: 1. **面向对象的特征** - **抽象**:抽象是忽略对象的次要细节,关注其主要特性。抽象分为过程抽象(如函数)和数据抽象(如类)。它...

    javaapplication和javaapplet的区别

    javaapplication和javaapplet的区别

    JAVA实验&实验报告&实验指导书

    理解Checked和Unchecked异常的区别,以及如何有效地抛出、捕获和处理异常,是编写健壮代码的关键。 6. 容器和布局:容器(如JFrame和JPanel)是GUI组件的容器,而布局管理器则决定了容器中组件的排列方式。掌握不同...

    java和javax的区别

    java和javax的区别java和javax的区别java和javax的区别

    java面经八股文整理

    本文总结了 Java 语言的基础知识,涵盖了 JDK、JRE、JVM 等概念,类和对象的区别、构造方法和普通方法的区别、作用域的四种类型、Integer 与 int 的区别、&和&&的区别、类变量与实例变量的区别、=="和equals的区别等...

    java面试题&&java面试题

    - HashMap和Hashtable的区别,包括线程安全性和null键值支持。 - 掌握HashSet、TreeSet的原理及应用场景。 5. **多线程** - 创建线程的两种方式:实现Runnable接口和继承Thread类。 - 线程同步方法,如...

    java工程linux部署图片教程

    我觉得在Linux下安装JDK和在Windows下并没有什么区别,只是在设置环境变量的时候有点不同,Windows的操作稍微简单一些,只需按几下按钮,复制粘贴一下就行;在Linux下则需要敲入挺多的字符才行,但也是不是很难的,...

    IKM Java 88 Q&A.rar

    理解它们的区别和用途,比如何时使用int和Integer。 - 控制结构:包括if语句、switch语句、for循环、while循环等,以及如何使用它们解决实际问题。 - 异常处理:理解try-catch-finally结构,何时使用throw和throws...

    Java中的基本类型和引用类型变量的区别

    Java 中的基本类型和引用类型变量的区别 Java 中的基本类型和引用类型变量是两个不同的概念,它们在内存分配、变量赋值和函数传递等方面有着本质的区别。 基本类型是 Java 中的八种基本类型,包括 byte、short、...

Global site tag (gtag.js) - Google Analytics