java学习之旅-3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习之旅-3相关的知识,希望对你有一定的参考价值。

在学习离散数学的时候,只知道一直学着莫名其妙的符号,不知其用途在何处。学习了java的逻辑运算符之后才发现,其实离散数学与计算机语言的关联是非常大的。
java中的逻辑运算符和C中一样,只不过在学习java的过程中,更加深入地理解了其作用,以 表达式A 逻辑运算符 表达式B 为例吧(这里的表达式都是布尔表达式,结果为0或1)。

与:

当两个boolean表达式都为true时,结果才为true,其他均为false。而“与”又分为“位与”和“短路与”,区别如下:
&(位与):如果A表达式为false,也会判断B表达式,再返回false。
&&(短路与):如果A表达式为false,则不再判断B表达式,直接返回false

我们可以看看下面代码的结果:

System.out.println(false & (100 / 0 == 100));//出错,说明执行了(100 / 0 == 100);
System.out.println(false && (100 / 0 == 100));//结果为false,说明并没有执行(100 / 0 == 100);

或:

当两个boolean表达式都为false时,结果才为false,其他均为true。
同样地,“或”也有“或”和“短路或”之分,区别如下:
|:如果A表达式为true,也会判断B表达式,再返回true。
||:如果A表达式为true,则不再判断B表达式,直接返回true。

同样地,我们来看看下面代码的结果:

System.out.println(true | (100 / 0 == 100));//出错,说明执行了(100 / 0 == 100);
System.out.println(true || (100 / 0 == 100));//结果为true,说明并没有执行(100 / 0 == 100);

异或:

异或比较简单,直接判断表达式A与表达式B是否相同,相同为false,不同为true。
通过代码看就比较直观了:

System.out.println(true ^ true);//false
System.out.println(true ^ false);//true
System.out.println(false ^ true);//true
System.out.println(false ^ false);//false

非:

非最简单,也就是取反操作,true变false,false变true。
看看代码吧:

System.out.println(!true);//false
System.out.println(!false);//true
System.out.println(!!!!!true);//false

以上是关于java学习之旅-3的主要内容,如果未能解决你的问题,请参考以下文章

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的OpenGL学习进阶之旅OpenGL ES 3.0实现了具有可编程着色功能的图形管线

我的OpenGL学习进阶之旅OpenGL ES 3.0实现了具有可编程着色功能的图形管线

java学习之旅-5

我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?

我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?