j***a语言逻辑运算,j***a语言逻辑运算符

kodinid 5 0

大家好,今天小编关注到一个比较意思的话题,就是关于java语言逻辑运算问题,于是小编就整理了3个相关介绍Java语言逻辑运算的解答,让我们一起看看吧。

  1. Python语言中bool是逻辑还是选择?
  2. JAVA中&&和&、||和|的区别?
  3. 为什么Java不支持运算符重载?

Python言中bool是逻辑还是选择

Python语言中bool是逻辑。

Python的逻辑运算(and,or,not)与C/C++JAVA等语言不太一样。这些语言的逻辑运算返回的值都是bool值,而Python返回的则不同

java语言逻辑运算,java语言逻辑运算符-第1张图片-安济编程网
图片来源网络,侵删)

Python的非运算与这些语言相比,并没有特别的地方。not只有两个返回值,True和False。在Python中,真值为***的对象包括False,None,数字0,空字符串以及空的容器类型。除此以外的任何对象均为真。

J***A中&&和&、||和|的区别

•J***A中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别? 首先名称是不同的 &&逻辑与 ||逻辑或 它们都是逻辑运算符 & 按位与 | 按位或 它们都是位运算符 if(a==1&&b==2) ...

•关于J***a 中逻辑运算与位运算的区别(具体到解一道题) 题目出自J***a2实用教程(第三版)(却没有解释) 运行结果如下: 为什么?x,y,a,b 不是都在IF语句里都重新赋值了吗?...

java语言逻辑运算,java语言逻辑运算符-第2张图片-安济编程网
(图片来源网络,侵删)

回答来自河南新华电脑学院

为什么J***a不支持运算符重载

与C++不同,J***a 不支持运算符重载。J***a不能为程序员提供自由的标准算术运算符重载,例如+,-,*和/等。如果你以前用过C++,那么J***a与C++相比少了很多功能,例如J***a不支持多重继承,J***a中没有指针,J***a中没有引用传递。虽然我不知道背后的真正原因,但我认为以下说法有些道理,为什么J***a不支持运算符重载。

1.简单性和清晰性。清晰性是J***a设计者的目标之一。设计者不是只想复制语言,而是希望拥有一种清晰,真正面向对象的语言。添加运算符重载比没有它肯定会使设计更复杂,并且它可能导致更复杂的编译器, 或减慢JVM,因为它需要做额外的工作识别运算符的实际含义,并减少优化的机会, 以保证J***a中运算符的行为。

java语言逻辑运算,java语言逻辑运算符-第3张图片-安济编程网
(图片来源网络,侵删)

2.避免编程错误。J***a不允许用户定义的运算符重载,因为如果允许程序进行运算符重载,将为同一运算符赋予多种含义,这将使任何开发人员的学习曲线变得陡峭,事情变得更加混乱。据观察,当语言支持运算符重载时,编程错误会增加,从而增加了开发和交付时间。由于J***a和JVM已经承担了大多数开发人员的责任,如在通过提供垃圾收集器进行内存管理时,因为这个功能增加污染代码的机会,成为编程错误之源,因此没有多大意义。

3.JVM复杂性。从JVM的角度来看,支持运算符重载使问题变得更加困难。通过更直观,更干净的方式使用方法重载也能实现同样的事情,因此不支持J***a中的运算符重载是有意义的。与相对简单的JVM相比,复杂的JVM可能导致JVM更慢,并为保证在J***a中运算符行为的确定性从而减少了优化代码的机会。

4.让开发工具处理更容易。这是在J***a中不支持运算符重载的另一个好处。省略运算符重载使语言更容易处理,这反过来又更容易开发处理语言的工具,例如IDE或重构工具。J***a中的重构工具远胜于C++。

到此,以上就是小编对于j***a语言逻辑运算的问题就介绍到这了,希望介绍关于j***a语言逻辑运算的3点解答对大家有用。

标签: 运算符 重载 j***a

上一个java语言执行的代码,java语言执行的代码是什么

下一个学习python好还是前端好,python和前端哪个好找工作