`
cys1990922
  • 浏览: 182926 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java与(&,&&)和或(|,||)的区别

    博客分类:
  • java
 
阅读更多
1.与(&,&&)和或(|,||)的区别
1.1使用与操作的时候,要求前后几个表达式的内容都是true,最终结果才是true,如果有一个是false,则最终结果就是false;
  1.2使用或操作的时候,要求前后几个表达式只要有一个true,则最终结果就是true,如果全都是false,则最终结果才是false;

2.与(&)和短路与(&&)的区别以及或(|)和短路或(||)的区别

这点在初学者中,疑惑的人会比较多
先说与操作:既然与操作要求前后几个表达式的内容都是true的时候最终结果才是true,如果使用短路与,则只要第一个结果是false,则整体结果肯定是false,但是程序在这个时候是不会继续执行下去的,相反,如果不是短路与,即使第一个结果是false,程序依然会执行其他的结果下去,虽然最终结果都是一样,给个例子,清楚一点:


public class Test1{
	public static void main(String args[]){
		if(10!=10&10/0==0){
			System.out.println("条件满足") ;
		}
	}
};

很显然,10!=10结果是false,但是因为没有使用短路与,程序会继续执行第二个条件结果判断,第二个在程序中显然会发生异常,所以这段代码编译可以通过,但是运行就会报错!
再看一段代码:
  public class Test2{
public static void main(String args[]){
if(10!=10&&10/0==0){
System.out.println("条件满足") ;
}
}
};
第一个结果是false,程序就不会再执行下去,所以程序运行是正常的;

接下来说说或(|)和短路或(||)的区别
其实你明白了前面的两个与的区别之后,这个就很简单了
或就是表示前后表达式只要有一个是true,结果就是true,所有的表达式都是false,结果才是false;
短路与表示只要第一个表达式是true,则程序就不会去执行其他的表达式判断,相反,如果不是短路或的话,则即使第一个是true,也会都去执行其他的表达式进行判断
public class Test3{
	public static void main(String args[]){
		if(10==10|10/0==0){
			System.out.println("条件满足") ;
		}
	}
};

显然,这个程序执行会报错,因为程序会去判断每一个表达式,而下面:
public class Test4{
	public static void main(String args[]){
		if(10==10||10/0==0){
			System.out.println("条件满足") ;
		}
	}
};

上面的程序因为第一个表达式就是true,而且采用的是短路或,程序不会再执行下面的判断,所有程序正常运行;
OK,先写到这,如果需要更多交流,欢迎加群144704532;
感谢您的阅读!
分享到:
评论

相关推荐

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

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

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

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

    java中&&和&的区别

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

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

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

    JAVA题目&答案

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

    详解java中&和&&的区别

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

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

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

    java中&与&&的区别

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

    java &与&&的区别及实例

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

    JAVA笔试&面试资料

    4. **内存管理与垃圾回收**:理解Java内存模型(JVM)和垃圾回收机制对于优化代码和解决内存泄漏问题非常重要。面试中可能会讨论堆内存、栈内存、方法区以及GC的工作原理。 5. **多线程**:Java提供了强大的多线程...

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

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

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

    本文将深入探讨两种类型的“与”运算符(&&和&)以及两种类型的“或”运算符(||和|),并阐述它们之间的主要区别。 首先,我们来看“短路与”(&&)和“与”(&)的区别。两者都可以用来进行逻辑与运算,但执行...

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

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

    javaapplication和javaapplet的区别

    ### Java Application与Java Applet的区别 #### 一、概述 Java是一种广泛使用的编程语言,它以其平台无关性和安全性而著称。在Java中,有两种主要的应用类型:Java Application(Java应用程序)和Java Applet...

    笔试题java&.net全集收录

    ”说明这份资料包含了两套完整的笔试题目,分别针对Java和.NET平台,而且每套题目都有对应的答案,这对于准备面试或自我学习的开发者来说是极具价值的资源。它提供了实践和检验自己技能的机会,通过对比答案可以了解...

    IKM Java 88 Q&A.rar

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

    C#与java的区别

    【C#与Java的区别】 C#和Java是两种广泛使用的高级编程语言,它们都有各自的优点和特点,但也有显著的差异。C#是由Microsoft开发的,而Java则由Sun Microsystems(现为Oracle Corporation的一部分)创建。这两者在...

    java Application与java Applet的区别

    Java Application与Java Applet的区别详解 一、概念解析 Java Application和Java Applet是Java编程中的两种主要程序类型,它们各自拥有独特的特性和用途。Java Application是一种独立运行的应用程序,而Java ...

    java面试题&&java面试题

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

    Java StringBuffer & StringBuilder.pdf

    在Java编程语言中,`StringBuffer` 和 `StringBuilder` 是两个重要的类,它们主要用于处理可变的字符串。这两个类在很多方面都非常相似,但存在一些关键的区别。 **一、StringBuffer和StringBuilder的区别** 1. **...

Global site tag (gtag.js) - Google Analytics