JAVA关于或和与(||、|、、)的使用简单思路
前言:
读者手册(必读)_云边的快乐猫的博客-CSDN博客
关于与(&&:并且)、或(||:或者)
学术话语:
或(或者):(满足单方面一个就好了),不挑食,你满足了,那就跟我走吧。
“||”(短路或): 如果左边计算后的操作数为true,右边则不再执行,返回true;
“|”:(逻辑或)前后两个操作数都会进行计算。也就是说:“|”不存在短路。
与(并且):(满足双方两个才可以)为了约束双方值不越界,我得看看这两个有没有都满足我条件才能带走。
&&(短路与),当第一个判断条件不满足要求时(返回false),第二个判断条件就不会执行;只有当两个判断条件都返回true时,整个逻辑运算才返回true。
&(逻辑与),不论什么情况下,两边的判断条件都会执行,当两边都返回true时,按位与才返回true。
直观解释:
最直观解释就是||和&&左边有一个不通过就不去执行右边了,没必要浪费时间。而|和&不管左边有没有通过,都要磨磨唧唧两边都要先执行一遍,效率低
||、&&会先进行左边判断通过与否,再进行右边判断,再执行有没有通过
|、&:就是先两边都执行,再去同时判断有没有通过。相当于||的一个逆向思路
开发中一般使用&&和||比较好一点,因为效率高
代码例子:
package learn;
public class WrongCode {public static void main(String[] args) {//1.短路与:两边都正确,结果才正确//如果左边为true,那就右边也进行判断输出。//如果左边为false,右边就不会进行输出判断。boolean a = m1()&&m2();System.out.println(a);//m1 m2 true//短路或:两边只要有一边是正确的,结果就是正确的//如果左边为true,那就右边短路不会进行判断了//如果左边为false,那就去右边进行执行判断boolean b = m1()||m2();System.out.println(b);//m1 true//非短路与:两边都正确,结果才正确//左边不管是true和false,都会往下执行boolean c = m1()&m2();System.out.println(c);//m1 m2 true//非短路或:只要任意一边正确,结果就正确//左边不管是true和false,都会往下执行boolean d = m1()|m2();System.out.println(d);//m1 m2 true}public static boolean m1(){System.out.println("m1");return true;}public static boolean m2(){System.out.println("m2");return true;}
}
注释:如果你觉得本篇文章对你有所帮助的,给个一键三连吧!!!
点赞关注收藏,抱拳了!
JAVA关于或和与(||、|、、)的使用简单思路相关推荐
- java判断回文字符串几种简单的实现
11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进 ...
- JAVA Bean和XML之间的相互转换 - XStream简单入门
JAVA Bean和XML之间的相互转换 - XStream简单入门 背景介绍 XStream的简介 注解简介 应用实例 背景介绍 我们在工作中经常 遇到文件解析为数据或者数据转化为xml文件的情况, ...
- Java设计模式-工厂模式(1)简单工厂模式
Java设计模式-工厂模式(1)简单工厂模式 一.前言 1)例子 2)类图关系 3)代码实现 二.简单工厂模式 2.1.概述: 2.2.类图关系: 2.3.代码修改: 2.4.优缺点 2.5.扩展-简 ...
- java 数据对_数据表与简单java类(一对多)
emp表:empno,ename,job,sal,comm,mgr,deptno dept表:deptno,dname,loc 要求可以通过程序描述出如下对应关系 一个部门有多个部员,并且可以输出一个 ...
- Java网络编程案例--CS模型的简单实现
Java网络编程案例–CS模型的简单实现 Java网络编程案例CS模型的简单实现 基本概述 程序原理图 源代码 基本概述 该程序采用C/S模型,在服务器端简单的建立了一个多线程类,来实现对多个客户端传 ...
- idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...
- js调用java_Js调用Java方法并互相传参的简单实例
Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. public class PluginTest extends P ...
- java点名代码滚动_JAVA多线程实现简单的点名系统
效果图如下: CMain函数: package com.shubing.main; public class CMain { public static void main(String[] args ...
- Java实现 字符串加密 输入字符串进行简单的位运算,输出加密或解密后的字符串
Java实现 字符串加密 输入字符串进行简单的位运算,输出加密或解密后的字符串 具体代码如下: package package2;import java.util.Scanner;/*** 加密可以这 ...
- js调java并传参_Js调用Java方法并互相传参的简单实例
Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...
最新文章
- 解决vue移动端适配问题
- java 统计文本行数_统计文本文件的行数,单词书,字节数
- 安卓App热补丁动态修复技术:让App像Web一样发布新版本
- 联想服务器开机显示系统恢复选项,联想电脑win10系统开机时按哪个键进入一键还原模式...
- JavaScript知识笔记(三)——内置对象、浏览器对象
- 二叉树总结(二)树的遍历
- java int范围_Java之int及它的取值范围
- Polylink 智能话机之—— e-talk 2200
- LR11中web_save_timestamp_param
- php url重写的模式,浅析ThinkPHP中的pathinfo模式和URL重写
- 【工作技巧】防止电脑睡眠,让鼠标自动周期性的点击屏幕
- Qt中添加鼠标右键菜单
- 使用idea启动vue项目
- 计算机网络实验一:验证性实验
- springboot游泳池管理系统
- 个人也可以通过维瑞申请VeriSign,Thawte 代码签名证书
- [Unity热更新]tolua# LuaFramework(七):lua使用DOTween
- 2017京东校招在线编程题——集合
- php获取时间到微妙,php 获取毫秒时间戳
- 刘昊威 尊重自己的体系——《Men’s Uno 风度》 2012年6月号
热门文章
- 如何评价“杨超越杯编程大赛”的参赛作品《杨超越秘密杂货铺》?
- mysql考试ocm_OCM考试中Dataguar的配置
- ODBC 连接操作postgresql
- 从各大科技公司员工薪酬看职务划分和等级
- python连接plc_Python与PLC踩坑实录:成功解决西门子 PLC S7-200_SMART与PC连接时不能同时用Python的snap7包和step7软件同时连接...
- linux查看memcached安装路径,linux 怎么样 查看memcached是否安装成功
- 如何有效地识别钓鱼网站? 远离未知风险
- 无线产品标准有哪几种?它们各具有什么特征?
- 【easyexcel】入门操作
- (十三)模板方法模式