Java
一、java 与或非 操作
与(&)、非(~)、或(|)、异或(^)
1.与运算符
与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
}
}
运行结果
a 和b 与的结果是:128
下面分析这个程序:
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。
2.或运算符
或运算符用符号“|”表示,其运算规律如下:
两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
}
}
运行结果
a 和b 或的结果是:129
下面分析这个程序段:
a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,两个位满足其中有一个或两个是1,结果就为1,可以知道结果就是10000001,即129。
3.非运算符
非运算符用符号“~”表示,其运算规律如下:
如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的结果是:"+(~a));
}
}
4.异或运算符
异或运算符是用符号“^”表示的,其运算规律是:
两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 与 b 异或的结果是:"+(a^b));
}
}
运行结果
a 与 b 异或的结果是:13
分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。
二、短路 条件操作
当使用逻辑操作符时,我们会遇到一种“短路”现象。即一旦能够明确无误地确定整个表达式的值,就不会再计算表达式剩余的部分了。因此,整个逻辑表达式靠后的部分有可能不会被运算。
System.out.println(false||true);//输出true,||不存在短路现象,表达式中有任意一部分为true就返回true,所以||逻辑操作符必须要将整个表达式运算完毕才能得出结果。
System.out.println(false && true);//输出false。表达式中有任意一部分为false,整个表达式就返回false。不必将整个表达式运算完毕。
Java代码
static boolean test1(int val){
System.out.println("test1(" + val + ")");
System.out.println("result:" + (val<1));
return val<1;
}
static boolean test2(int val){
System.out.println("test2(" + val + ")");
System.out.println("result:" + (val<2));
return val<2;
}
static boolean test3(int val){
System.out.println("test3(" + val + ")");
System.out.println("result:" + (val<3));
return val<3;
}
public static void main(String[] args) {
boolean b = test1(0) && test2(2) && test3(2);
System.out.println("expression is " + b);
} /**OutPut
* test1(0)
* result:true
* test2(2)
* result:false
* expression is false
*/
static boolean test1(int val){
System.out.println("test1(" + val + ")");
System.out.println("result:" + (val<1));
return val<1;
}
static boolean test2(int val){
System.out.println("test2(" + val + ")");
System.out.println("result:" + (val<2));
return val<2;
}
static boolean test3(int val){
System.out.println("test3(" + val + ")");
System.out.println("result:" + (val<3));
return val<3;
}
public static void main(String[] args) {
boolean b = test1(0) && test2(2) && test3(2);
System.out.println("expression is " + b);
} /**OutPut
* test1(0)
* result:true
* test2(2)
* result:false
* expression is false
*/ 第一个测试生成结果为true,所以表达式会继续下去。然而第二个测试产生了一个false结果。由于这意味着整个表达式肯定为false,所以没有必要继续计算剩余的表达式,那样做只是浪费。“短路”一词的由来正源于此。合理的短路设计会使程序性能获得潜在的提升。
分享到:
相关推荐
33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33...
Java 逻辑运算符 Java 逻辑运算符是 Java 语言中的一种基本运算符,用于实现逻辑判断和控制流程。逻辑运算符包括赋值运算符、递增、递减运算符、逻辑与、逻辑或、逻辑非等。 赋值运算符: 赋值运算符的格式为变量...
在Java编程语言中,逻辑运算符是用于处理布尔值(true或false)的关键工具,它们在构建复杂的条件语句和控制程序流程时起着至关重要的作用。本资源着重讲解Java中的逻辑运算符及其用法。 1. **逻辑与(&&)**:此...
34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip...
Java语言中的逻辑运算符是程序设计中不可或缺的一部分,它们用于处理布尔值(true或false)并帮助构造复杂的条件语句。在本资料中,我们将深入探讨Java中的逻辑运算符,包括逻辑与(&&), 逻辑或(||), 逻辑非(!)以及...
逻辑运算符 &&、 ||、 ! 注意:逻辑计算支持短路操作 表达多个条件之间的关系。例如年龄大于等于18并且年龄小于65 &&:与运算,含义是两个条件必须同时成立,可以翻译为并且 ||:或运算,含义是两个条件中成立一个...
短路逻辑运算符(&&和||)的特点是如果第一个操作数能确定整个表达式的值,就不会计算第二个操作数。 **赋值运算符**:如`=`用于将右边的值赋给左边的变量。还有复合赋值运算符,如`+=`、`-=`、`*=`、`/=`和`%=`,...
Java中的逻辑运算符包括逻辑与&,逻辑或|,逻辑非!逻辑异或^,除此之外还有几个比较相似的&&短路与,||短路或。 那么这几个逻辑运算符到底有什么意思呢?下面我们来看看 首先看逻辑与&的用法,只有两个都为真...
需要强调的是,编程语言的选择并不影响逻辑运算符和比较运算符的基本概念和使用,无论是C++、Java、Python等,这些逻辑构建方式都是相通的。然而,不同编程语言的具体语法细节可能会有所不同,这对于初学者来说是一...
4. **逻辑运算符**:`&&`(逻辑与),`||`(逻辑或),`!`(逻辑非)。这些用于组合或反转布尔表达式的结果,例如`if (a != 0 && b ) {...}`。 5. **位运算符**:Java还支持位运算,如按位与(&),按位或(|),按...
入门者的实际应用学习 使用逻辑运算符显示条件
Java基础知识点之关系运算符和逻辑运算符 关系运算符是Java编程语言中的一种基本运算符,用于比较两个运算数的值,结果为true或false。关系运算符包括:大于(>)、小于(<)、大于等于(>=)、小于等于()、等于...
在Java编程语言中,逻辑运算符是用于处理布尔值(true或false)的关键工具,它们在构建复杂的条件语句和控制程序流程时起着至关重要的作用。本章将深入探讨Java中的逻辑运算符及其用法。 一、逻辑运算符类型 1. ...
Java逻辑基础题1-数据类型和运算符-答案 Java 是一种面向对象的编程语言,它的逻辑基础包括数据类型、运算符、控制流语句、方法和数组等。下面是 Java 逻辑基础题1-数据类型和运算符的答案。 一、数据类型 Java ...
在Java编程语言中,逻辑运算符是用于组合或修改布尔表达式的重要工具。它们帮助我们构建复杂的条件语句,使得程序能根据特定条件执行相应的逻辑。在这个“日常练习7”中,我们将深入探讨Java中的逻辑运算符:与(&&),...
=, <, >, , >=)和逻辑运算符(&&, ||, !),这些在条件语句和逻辑判断中至关重要。 7. 示例代码(OperatorSign.java): ``` public class OperatorSign { public static void main(String[] args) { int num1...
Java中位运算符在操作逻辑型数据时与逻辑运算符&&、||、!不同的测试,测试结果逻辑运算符左侧的表达式会进行运算、右侧的不会,非运算一定会变;位运算符两侧都会变
逻辑运算符 目录 课程导入 掌握逻辑运算符的运算规则 能使用逻辑运算符组合条件 已知一个三角形的三条边长已经存放在变量a,b,c中,如何确定这个三角形能成立呢?条件如何写? 引入 a c b a+b>c , a+c>b , b+c>a a+...
在编程领域,逻辑运算符是控制程序流程的关键元素,它们用于连接或比较布尔表达式,决定程序执行的路径。在“8.3 逻辑运算符”这个主题中,我们将深入探讨如何在各种编程语言中使用这些运算符。在这个博客源码(链接...
逻辑运算符是 Java 编程语言中的一种基本运算符,用于判断两个或多个布尔值的逻辑关系。逻辑运算符可以分为两大类:短路逻辑运算符和非短路逻辑运算符。 一、短路逻辑运算符 短路逻辑运算符包括 && 和 || 两个...