• 关于 Java运算符 的搜索结果

回答

与 C++ 不同,Java 不支持运算符重载。Java 不能为程序员提供自由的标准算术运算符重载,例如+, - ,*和/等。如果你以前用过 C++,那么 Java 与 C++ 相比少了很多功能,例如 Java 不支持多重继承,Java中没有指针,Java中没有引用传递。另一个类似的问题是关于 Java 通过引用传递,这主要表现为 Java 是通过值还是引用传参。虽然我不知道背后的真正原因,但我认为以下说法有些道理,为什么 Java 不支持运算符重载。 1)简单性和清晰性。清晰性是Java设计者的目标之一。设计者不是只想复制语言,而是希望拥有一种清晰,真正面向对象的语言。添加运算符重载比没有它肯定会使设计更复杂,并且它可能导致更复杂的编译器, 或减慢 JVM,因为它需要做额外的工作来识别运算符的实际含义,并减少优化的机会, 以保证 Java 中运算符的行为。 2)避免编程错误。Java 不允许用户定义的运算符重载,因为如果允许程序员进行运算符重载,将为同一运算符赋予多种含义,这将使任何开发人员的学习曲线变得陡峭,事情变得更加混乱。据观察,当语言支持运算符重载时,编程错误会增加,从而增加了开发和交付时间。由于 Java 和 JVM 已经承担了大多数开发人员的责任,如在通过提供垃圾收集器进行内存管理时,因为这个功能增加污染代码的机会, 成为编程错误之源, 因此没有多大意义。 3)JVM复杂性。从JVM的角度来看,支持运算符重载使问题变得更加困难。通过更直观,更干净的方式使用方法重载也能实现同样的事情,因此不支持 Java 中的运算符重载是有意义的。与相对简单的 JVM 相比,复杂的 JVM 可能导致 JVM 更慢,并为保证在 Java 中运算符行为的确定性从而减少了优化代码的机会。 4)让开发工具处理更容易。这是在 Java 中不支持运算符重载的另一个好处。省略运算符重载使语言更容易处理,这反过来又更容易开发处理语言的工具,例如 IDE 或重构工具。Java 中的重构工具远胜于 C++。

YDYK 2020-04-25 14:34:17 0 浏览量 回答数 0

回答

"Java语言中的运算符可分为如下几种: 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 类型相关运算符"

星尘linger 2020-04-07 11:43:51 0 浏览量 回答数 0

问题

Java的三目运算符怎么使用?

小天使爱美 2020-04-07 12:01:02 0 浏览量 回答数 1

Java学习路线 26门免费课程

排名第一的编程语言,从事云计算、大数据开发工作必备

问题

Java支持的逻辑运算符有哪些?

小天使爱美 2020-04-07 12:00:05 2 浏览量 回答数 1

问题

Java支持的位运算符有哪些?

小天使爱美 2020-04-07 11:58:33 0 浏览量 回答数 1

问题

Java支持的基本算术运算符有哪些?

小天使爱美 2020-04-07 11:57:42 0 浏览量 回答数 1

问题

Java语言中的运算符可分为几种?

小天使爱美 2020-04-07 11:43:17 0 浏览量 回答数 1

回答

Equals()方法在Java的Object类中定义,用于检查由业务逻辑定义的两个对象的相等性。 “==”或相等运算符是Java编程语言提供的二元运算符,用于比较元数据和对象。 public boolean equals(Object o)是Object类提供的方法。默认实现使用==运算符比较两个对象。例如:方法可以像String类一样被覆盖。 equals()方法用于比较两个对象的值。

YDYK 2020-04-23 19:25:25 0 浏览量 回答数 0

问题

说说Java中&和&&的区别。

YDYK 2020-04-25 13:32:26 0 浏览量 回答数 1

回答

逻辑或的||优先级低于逻辑与&&。所以: A && B || C && D 等效于: (A && B) || (C && D) 而括号内的内容将首先进行评估。 阅读有关Java运算符的更多信息: Java™教程-运算符 请注意,&&和||是短路运算符,这意味着如果可以通过评估左操作数来推断结果,则不会评估右操作数。 回答来源:Stack Overflow

montos 2020-03-27 17:18:59 0 浏览量 回答数 0

回答

Java支持所有的基本算术运算符,这些算术运算符用于执行基本的数学运算:加、减、乘、除和求余等。如+, - , * , / , % , ++, --

星尘linger 2020-04-07 11:58:11 0 浏览量 回答数 0

回答

Java中一共有7个位运算符分别是<<、>>、&、|、^、~、>>> 1.“<<”--左移运算符,参与左移运算的数字乘以2的左移位数次方,例如3<<2=3*22 2.“>>”--右移运算符,参与右移运算的数字除以2的右移位数次方,例如3>>2=3/22 3.“&” --与运算符,参与与运算的两个数字的二进制等位都为1时结果值的该位为1,其余情况为0,例如3&2=0011&0010=0010,与运算符和“>>>”运算符结合可以实现十进制转十六进制的功能,num&15 -> num>>>4,这样一组运算就能得到一个十六进制位,再将超过10的通过(num-10)+'A'转换为十六进制位 4.“|” --或运算符,参与或运算的两个数字的二进制等位至少有一个为1时结果值的该位为1,其余情况为0,例如3|2=0011|0010=0011 5.“^” --异或运算符,参与异或运算的两个数字的二进制等位如果不相同则为1,相同则为0,一个数字异或同一个数字两次则等于原数字。其中一个应用是在不使用第三个变量的情况下交换两个整形变量的值。

YDYK 2020-04-26 16:21:00 0 浏览量 回答数 0

回答

在我的印象中&&比较常用到,而&用到的次数不是很多 Java中&叫做按位与,&&叫做短路与,它们的区别是: & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。

津崎平匡 2020-03-29 23:22:58 0 浏览量 回答数 0

问题

>> 和 >>>运算符之间的区别是什么?

YDYK 2020-04-25 20:39:11 0 浏览量 回答数 1

回答

这个是Java规范里规定的,+= 复合运算符规定做一次强制转换。当然这有利有弊,要根据实际情况来获取精度啊。 可以看下关于复合运算符的一点解释: https://www.cnblogs.com/ofyou/p/Compoun-Assignment-Operators.html

DM。 2020-05-31 17:31:06 0 浏览量 回答数 0

回答

位异或. 可参考java 官方文档运算符介绍:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

1173350179568305 2019-12-02 01:00:41 0 浏览量 回答数 0

回答

java运算符 优先级 运算符 结合性 1 () [] . 从左到右 2 ! +(正) -(负) ~ ++ -- 从右向左 3 * / % 从左向右 4 +(加) -(减) 从左向右 5 << >> >>> 从左向右 6 < <= > >= instanceof 从左向右 7 == != 从左向右 8 &(按位与) 从左向右 9 ^ 从左向右 10 | 从左向右 11 && 从左向右 12 || 从左向右 13 ?: 从右向左 因为[]的优先级高,所以先执行[],这是b是2,再进行=号赋值运算

蛮大人123 2019-12-02 01:52:46 0 浏览量 回答数 0

回答

java三元运算符

云鹏答题 2019-12-02 01:01:08 0 浏览量 回答数 0

问题

【精品问答】Java资深面试题

珍宝珠 2020-02-07 17:16:43 0 浏览量 回答数 0

回答

因为你举得例子数字比较小,我们假设你说的50,60都是byte类型,java的byte用8位二进制来表示。50=00110010,60=00111100,异或是属于位运算符,还有&(或),|(非),~(非)运算符,理论上还有12种,离散数学里会有。其中异或就是将两个操作数按位进行异或操作,规则是1^0=1,0^1=1,0^0=0,1^1=0;所以00110010^00111100=00001110,转换成十进制就是14,所以i^j=14。然后执行赋值操作,所以i=14。

liujae 2019-12-02 01:28:33 0 浏览量 回答数 0

问题

Java中位运算符的如何运用

YDYK 2020-04-26 16:20:44 0 浏览量 回答数 1

回答

==在java里为比较,是一个逻辑运算符,表示两个对象是否相等。

骑老虎放羊 2019-12-02 01:02:32 0 浏览量 回答数 0

问题

关于java三元运算符的问题

蛮大人123 2019-12-01 19:40:16 878 浏览量 回答数 1

问题

为什么Java不支持运算符重载?

YDYK 2020-04-25 00:09:21 12 浏览量 回答数 2

问题

JAVA中各个版本的特性你都知道了嘛?

montos 2020-05-19 10:05:23 5 浏览量 回答数 1

问题

c语言,我在看参考书,看到数据结构与运算符那一章,里面经常出现return 0,这到底是什么意思?

知与谁同 2019-12-01 20:14:10 448 浏览量 回答数 1

问题

java用正则匹配运算符中的*号报错

蛮大人123 2019-12-01 19:43:34 860 浏览量 回答数 1

回答

在java中”&&”是逻辑运算符,A&&B表达式,只有当A,B都为真的时候表达式结果为真,其他情况都为假。在执行过程中会出现“短路”的现象

1252111517567195 2019-12-02 01:02:55 0 浏览量 回答数 0

回答

尝试使用资源语句,使您免于关闭流,而资源在完成流后,Java 会自动关闭它。 分叉联接池实现类似 Java 中的 Map-reduce 模式(允许字符串变量)和文本转换为交换机语句。 钻石运算符用于改进类型推理,因此不再需要在变量声明的右侧断言泛型类型,这意味着结果更加清晰,代码更加简洁。 改进了异常处理,允许您捕获同一 catch 块中的多个异常。

YDYK 2020-04-26 15:12:30 0 浏览量 回答数 0

问题

Java中运算符 |是做什么的?

小六码奴 2019-12-01 20:01:13 179 浏览量 回答数 3
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 SQL审核 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 人工智能 阿里云云栖号 云栖号案例 云栖号直播