首页 > 编程语言 >Java中的逻辑与和逻辑或 & && | ||

Java中的逻辑与和逻辑或 & && | ||

时间:2024-09-09 11:35:44浏览次数:5  
标签:逻辑 Java 示例 ++ && true public 表达式

1、& 表示“按位与",这里的”位“是指二进制位(bit)

  • 例:十进制数字8 转化为二进制是:1000 ;数字9 转化为二进制是1001 。

    public class Test {
       public static void main(String[]args) {
          System.out.println(9 & 8);
       }
    }

    结果为8。

原因
1001 & 1000 = 1000 。 计算机中一般1表示真,0表示假。最左边一位1&1=1,最右边一位1&0 = 0.

 

2、 && 表示逻辑”与“ ,即java中的boolean值才可以存在于&&符号的左右两侧。

 

  • false && true = false (即"一假必假")

  • true && true = true, (即"两真才真")

  • && 符号有“短路原则”,当 A && B 出现时,如果A经判断是假,那么B表达式将不会获得执行或被判断的机会。直接结果就为假。

 

二、Java中‘|’与‘||’的区别

1、使用‘||’示例

  • 示例如下
    public class Test {
       public static void main(String[]args) {
            int i=0;
            if(3>2 || (i++)>1) {
                i=i+1;
            }
            System.out.println(i);
        }
    }

结果为1。

原因
因为在if的条件判断中,程序先判断第一个表达式3>2是否成立,结果3>2为真,那么按照逻辑来说,无论后面一个表达式(i++)>1是否成立,整个或表达式肯定为真,因此程序就不去执行判断后面一个表达式即(i++)>1了,所以这里i并没有自增1。然后程序执行到i=i+1,于是i变为1。最后打印出1。

 

2、使用‘|’示例

 

  • 示例如下

public class Test {
       public static void main(String[]args) {
            int i=0;
            if(3>2 | (i++)>1) {
                i=i+1;
            }
            System.out.println(i);
        }
}

结果为2.。

原因:

无论第一个条件3>2是否为真,程序都会去执行判断第二个条件表达式,因此i++这个自增是会被执行的,再加上if内的i=i+1,所以最终i=2。

 

标签:逻辑,Java,示例,++,&&,true,public,表达式
From: https://www.cnblogs.com/henry06007/p/18404257

相关文章

  • 1-11Java_Scanner类
    JavaScanner类java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。下面是创建Scanner对象的基本语法:`Scanners=``new``Scanner(System.in);`接下来我们演示一个最简单的数据输入,并通过Scanner类的next()与nextLine()方法获取输入的......
  • java-springboot部署
    java项目部署java项目构建这里介绍maven项目的构建和部署:进行maven项目的构建mvncleanpackage将生成的target当中的jar包传入服务器使用scp命令或者通过软件。这里不做介绍服务器运行springboot项目安装java17的sdk#包放在opt当中mkdir/opt/jd......
  • 基于java+springboot+vue音乐翻唱网站与分享平台(源码+LW+部署讲解)
    前言......
  • 基于java+springboot+vue疫情网课管理系统(源码+LW+部署讲解)
    前言......
  • JavaScript操作DOM节点
    1.操作DOM2.节点和节点的关系3.访问节点3.1使用getElement系列方法访问指定节点getElementById()、getElementsByName()、getElementsByTagName()3.2根据层次关系访问节点节点属性属性名称描述parentNode返回节点的父节点childNodes返回子节点集合,childNodes[i]fir......
  • 基于java+springboot+vue在线答疑系统(源码+LW+部署讲解)
    前言......
  • 基于java+springboot+vue幼儿园管理系统(源码+LW+部署讲解)
    前言......
  • 1-10Java方法
    Java方法在前面几个章节中我们经常使用到System.out.println(),那么它是什么呢?println()是一个方法。System是系统类。out是标准输出对象。这句话的用法是调用系统类System中的标准输出对象out中的方法println()。那么什么是方法呢?Java方法是语句的集合,它们在一......
  • java自定义校验注解
    一个简单的自定义规则校验注释,校验图片名是不是.jpg或者.png校验规则的类packagecom.wzw.pdfconverword.validator;importcom.wzw.pdfconverword.annotation.Img;importjakarta.validation.ConstraintValidator;importjakarta.validation.ConstraintValidatorContext;//Im......
  • Java基础—运算符篇(从0到1完整详解,附有代码+案例)
    文章目录运算符分类:2.1.算术运算符2.1.1基本算数运算2.1.2复合算数运算2.1.3类型转换2.1.4“+”的三种情况2.2自增自减运算符2.3赋值运算符2.4关系运算符2.5逻辑运算符2.6短路逻辑运算符2.7三元运算符2.8运算的优先级运算符分类:赋值运算符:=算术运算符:+-......