`
forlab
  • 浏览: 133549 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中,&&与&,||与|的区别

 
阅读更多

在java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。

 

&&和&都是表示于,区别是&&只要满足第一个条件,后面条件就不再判断。而&要对所有的条件都进行判断。

看下面的程序:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		if((23!=23)&&(100/0==0)){
			System.out.println("运算没有问题。");
		}
	}

输出的是“运算没有问题”,没有报错。而将&&改为&就会如下错误:

Exception in thread "main" java.lang.ArithmeticException: / by zero


原因是:&&时判断第一个条件为false,后面的100/0==0这个条件就没有进行判断。
&时要对所有的条件进行判断,所以会对后面的条件进行判断,所以会报错。




||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。
看下面的程序:

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		if((23==23)||(100/0==0)){
			System.out.println("运算没有问题。");
		}
	}

此时输出“运算没有问题”。若将||改为|则会报错。


原因是:||判断第一个条件为true,后面的条件就没有进行判断就执行了括号中的代码,而|要对所有的条件进行判断,
所以会报错。

分享到:
评论

相关推荐

    Java 逻辑运算符中&&与&,||与|的区别

    主要介绍了Java中&&与&,||与|的区别的相关资料,需要的朋友可以参考下

    java中&&和&的区别

    在Java编程语言中,`&`和`&&`都是逻辑运算符,但它们在实际使用中存在一些重要的差异。理解这些差异对于编写高效且清晰的代码至关重要。 首先,两者都用于进行逻辑运算,评估左右两边的布尔表达式,并根据结果返回...

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

    java中存在着与(&),短路与(&&),或(|)短路或(||)这些操作符: &&和&都是表示与,区别是&&只要满足第一个条件,后面条件就不用再做判断了。而&要对所有的条件都进行判断之后再处理。 ||和| 同上,都表示...

    Java语言中&&与& ||与|的区别是什么

    在Java编程语言中,逻辑运算符`&&`、`&`、`||`以及`|`有着不同的用法和特点。这些运算符主要用于布尔逻辑表达式,但也有一些特殊情况适用于整数类型的位操作。以下是它们之间的详细区别: 1. **逻辑运算符**: - `...

    详解java中&和&&的区别

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

    JAVA题目&答案

    标题 "JAVA题目&答案" 暗示了这是一个与Java编程相关的学习资源,可能包含了各种Java编程题目及其解答。从描述中的“博文链接”可以看出,它可能来源于一位名为“zhuenwei”的博主在iteye博客平台上发布的内容。标签...

    java中&与&&的区别

    在Java编程语言中,`&` 和 `&&` 都被用作逻辑运算符,但它们之间存在着重要的差异。理解这些差异对于编写高效且逻辑正确的代码至关重要。 首先,`&` 是位运算符,同时也是一种逻辑运算符。作为位运算符,`&` 对两个...

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

    在"JAVA实验&实验报告&实验指导书"中,学生或学习者可以深入理解并实践Java的核心概念和技术。以下是对这些主题的详细阐述: 1. 用户自定义绘图:Java提供了丰富的图形用户界面(GUI)工具,如Java AWT(Abstract ...

    蓝桥杯历年真题 java组&&c++组 省赛国赛

    6. **网络编程**:理解Socket编程,TCP与UDP的区别和应用场景。 7. **设计模式**:对常见的设计模式有深入理解,如单例模式、工厂模式、装饰器模式等。 其次,C++编程语言的知识点: 1. **基础语法**:包括变量、...

    JAVA笔试&面试资料

    12. **算法与数据结构**:虽然不是Java语言本身的知识,但作为程序员,理解和运用常见的算法(如排序、搜索)和数据结构(如链表、树、图)是必不可少的。 13. **JVM调优**:了解JVM的内存模型、性能监控工具以及...

    java &与&&的区别及实例

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

    [JAVA&C#]C#&Java差异手册.pdf

    本文将根据提供的标题、描述及部分内文,详细阐述C#与Java的关键差异点,帮助读者理解两者在语言设计、功能特性上的区别。 ### C#与Java:不仅仅是相似 C#,由微软开发,常被视为Java的变体或竞争者。尽管两者在...

    Java运算符>、>>、>>>三者的区别

    本篇文章主要关注的是Java中的位运算符,特别是右移运算符:>、>> 和 >>>,它们之间的区别。 1. 大于运算符(>) 大于运算符(>)用于比较两个数值,返回一个布尔值(boolean)。如果左边的值大于右边的值,那么...

    JAVA中的方法重写与方法重载区别

    JAVA中的方法重写与方法重载区别 JAVA 中的方法重写和方法重载是两个重要的概念,在面向对象程序设计语言中尤为重要。方法重写和方法重载都是多态性的体现,但它们之间有着本质的区别。 方法重写(Override)是指...

    笔试题java&.net全集收录

    - 集合框架:List、Set、Map的区别与使用。 - 内存管理:垃圾回收机制、内存泄漏。 - 多线程:线程同步、锁机制、并发工具类。 - 输入/输出流:文件操作、网络通信。 - JDBC:数据库连接、SQL语句、事务处理。 ...

    浅谈JavaAPI 中 <E> 与 <T> 的含义

    总的来说,`<E>` 和 `<T>` 在Java API中都是泛型的类型参数,它们的主要区别在于使用场景:`<E>` 常见于集合框架中,表示集合元素的类型,而 `<T>` 用于泛型方法和类,表示更通用的类型参数。理解这些基础概念对于...

    Java中this与super的区别

    Java中this与super的区别 this&super; 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 Java关键字this只能用于方法的方法体内。当一个对象创建后, Java虚拟机(JVM)就...

    java面试题&&java面试题

    以上是Java面试中常见的主题,每个话题都可以深入探讨,对于准备面试的Java开发者来说,熟练掌握这些知识点将大大增加成功的机会。同时,面试中也会涉及到实际项目经验、团队协作、问题解决能力等软技能的考察。对于...

    Java中短路与和与,短路或和或逻辑运算符区别.pdf

    在Java编程语言中,逻辑运算符是用于组合布尔表达式的关键工具,它们帮助开发者基于一组条件来决定程序的流程。本文将深入探讨两种类型的“与”运算符(&&和&)以及两种类型的“或”运算符(||和|),并阐述它们之间...

    IKM Java 88 Q&A.rar

    "IKM Java 88 Q&A"这个压缩包很可能包含了88个关于Java编程的问题与解答,涵盖了Java的基础、进阶以及最新特性。 1. **Java基础** - 类和对象:Java是一种面向对象的语言,了解如何定义类,创建对象以及类的封装、...

Global site tag (gtag.js) - Google Analytics