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编程语言中,逻辑运算符`&&`、`&`、`||`以及`|`有着不同的用法和特点。这些运算符主要用于布尔逻辑表达式,但也有一些特殊情况适用于整数类型的位操作。以下是它们之间的详细区别: 1. **逻辑运算符**: - `...
标题 "JAVA题目&答案" 暗示了这是一个与Java编程相关的学习资源,可能包含了各种Java编程题目及其解答。从描述中的“博文链接”可以看出,它可能来源于一位名为“zhuenwei”的博主在iteye博客平台上发布的内容。标签...
在Java编程语言中,`&`和`&&`都是逻辑运算符,但它们在实际使用中有着明显的区别。本文将详细解析这两个运算符的差异,帮助开发者更好地理解和应用。 首先,`&`和`&&`都可以用来进行逻辑与操作。这意味着只有当两个...
在"JAVA实验&实验报告&实验指导书"中,学生或学习者可以深入理解并实践Java的核心概念和技术。以下是对这些主题的详细阐述: 1. 用户自定义绘图:Java提供了丰富的图形用户界面(GUI)工具,如Java AWT(Abstract ...
在Java编程语言中,`&` 和 `&&` 都被用作逻辑运算符,但它们之间存在着重要的差异。理解这些差异对于编写高效且逻辑正确的代码至关重要。 首先,`&` 是位运算符,同时也是一种逻辑运算符。作为位运算符,`&` 对两个...
Java编程语言中,`&` 和 `&&` 都是用来进行逻辑运算的,但它们之间存在显著的区别。本文将深入探讨这两个运算符的工作原理、用法以及何时使用它们。 首先,`&` 是一个位运算符,同时也用作逻辑运算符。作为位运算符...
4. **内存管理与垃圾回收**:理解Java内存模型(JVM)和垃圾回收机制对于优化代码和解决内存泄漏问题非常重要。面试中可能会讨论堆内存、栈内存、方法区以及GC的工作原理。 5. **多线程**:Java提供了强大的多线程...
6. **网络编程**:理解Socket编程,TCP与UDP的区别和应用场景。 7. **设计模式**:对常见的设计模式有深入理解,如单例模式、工厂模式、装饰器模式等。 其次,C++编程语言的知识点: 1. **基础语法**:包括变量、...
本文将深入探讨两种类型的“与”运算符(&&和&)以及两种类型的“或”运算符(||和|),并阐述它们之间的主要区别。 首先,我们来看“短路与”(&&)和“与”(&)的区别。两者都可以用来进行逻辑与运算,但执行...
本文将根据提供的标题、描述及部分内文,详细阐述C#与Java的关键差异点,帮助读者理解两者在语言设计、功能特性上的区别。 ### C#与Java:不仅仅是相似 C#,由微软开发,常被视为Java的变体或竞争者。尽管两者在...
### Java Application与Java Applet的区别 #### 一、概述 Java是一种广泛使用的编程语言,它以其平台无关性和安全性而著称。在Java中,有两种主要的应用类型:Java Application(Java应用程序)和Java Applet...
”说明这份资料包含了两套完整的笔试题目,分别针对Java和.NET平台,而且每套题目都有对应的答案,这对于准备面试或自我学习的开发者来说是极具价值的资源。它提供了实践和检验自己技能的机会,通过对比答案可以了解...
理解它们的区别和用途,比如何时使用int和Integer。 - 控制结构:包括if语句、switch语句、for循环、while循环等,以及如何使用它们解决实际问题。 - 异常处理:理解try-catch-finally结构,何时使用throw和throws...
7. **调试与学习资源**:OpenCV官方文档、社区论坛和各种在线教程为学习和解决OpenCV Java问题提供了丰富的资源。开发者可以借助这些资源,结合具体的项目需求,逐步熟悉并掌握OpenCV的使用。 通过理解以上知识点,...
【C#与Java的区别】 C#和Java是两种广泛使用的高级编程语言,它们都有各自的优点和特点,但也有显著的差异。C#是由Microsoft开发的,而Java则由Sun Microsystems(现为Oracle Corporation的一部分)创建。这两者在...
Java Application与Java Applet的区别详解 一、概念解析 Java Application和Java Applet是Java编程中的两种主要程序类型,它们各自拥有独特的特性和用途。Java Application是一种独立运行的应用程序,而Java ...
### javax与java的区别 在Java开发领域中,经常会遇到`java`与`javax`这两个词汇。初学者可能会对这两者感到困惑,不清楚它们之间到底有何区别。本文将深入探讨`java`与`javax`的不同之处及其应用场景。 #### Java...