JAVA 运算符 技术教程文章

java – C toString运算符similair到Object.toString

在Java中,每个Object都有一个toString方法和一个哈希码方法.C中的每个对象都有等效的哈希码和toString吗?解决方法:没有等价物.与JAVA不同,C中的所有内容都不是从某些(Object)超类派生的.没有:: toString()成员函数,因为C中没有超类. C也不支持反射. 话虽如此,有一个std::to_string功能,内置类型有9种不同的重载.要获得所需的功能,您可以为每个类提供overload输出流operator.

一个更基本的原因Java不包括运算符重载(至少对于赋值)?【代码】

关于Java(Why doesn’t Java offer operator overloading?)中没有运算符重载这一事实的讨论已经有两年了,并且我自己经历了很多C年的Java,我想知道运算符重载是否不是一部分的根本原因Java语言,至少在分配的情况下,而不是答案底部附近的最高评级答案(即James Gosling的个人选择). 具体来说,考虑分配.// C++ #include <iostream>class MyClass { public:int x;MyClass(const int _x) : x(_x) {}MyClass & operator=(const MyClass & ...

java new运算符和hashcode()

首先,我在这里谈论默认的hashCode()方法而不是覆盖的东西.当我们创建一个新对象时,’new’运算符返回它创建的对象的内存地址;在java中我们说它更普遍地返回引用.我想知道的是,这是否与hashCode()返回的值相同? 我相信他们是一样的.但话说回来,当我们有超过2 ^ 32个对象并且给定hashCode()返回一个整数(2 ^ 32个不同的数字)时,将会发生全部碰撞,当我们传递对象时,这将是一个真正的混乱. JVM如何处理?解决方法:When we create a ne...

java – do <=和> =关系运算符使用Integer对象【代码】

参见英文答案 > How to properly compare two Integers in Java? 8个我知道你不能使用==或!=来比较数字对象的值,而是必须使用.equals().但经过大量的搜索后,我无法找到关于是否可以使用其他比较运算符的声明,除了使用.compare()或.compareTo()的建议,因为它们需要两个比较:a到b,然后结果为零. 尽管==和!=比较了对象的地址,但其他比较运算符似乎比较了数值.例如,以下代码段:Integer a = new...

Java三元运算符不工作?【代码】

假设我们有一个StringBuilder和一个double.现在想要追加双倍.如果double可以表示为Integer(例如3.0,5.0等),我想将其添加为Integer,否则为double. 实现这一目标的第一种方法是:StringBuilder sb = new StringBuilder(); double d = 3.5;if (d % 1 == 0) sb.append((int) d); else sb.append(d);System.out.println(sb.toString());这仍然很好,当d为3.0时将附加3,如果d为3.5,则将追加3.5. 现在我想用三元运算符做这个:StringBuilde...

java – 当需要在每个setter中使用相同的条件运算符时,如何成为DRY?【代码】

所以我有一个类,其字段不能具有某些值.我在每个二传手中都设置了一个条件,但我不确定这是一个好主意,因为这与每个二传手中相同条件的“if”相同.这里是setter(java)的例子:public void setBuildingNumber(String buildingNumber) {if (buildingNumber.equals("-1") || buildingNumber.equals("0") || buildingNumber.equals("N/A")) {this.buildingNumber = null;} else {this.buildingNumber = buildingNumber;} }解决方法:您可以...

java语言基础之四:BigDecimal大数值,Optional类型,运算符【代码】

一:大数值:BigDecimal BigIntegerBigDecimal/BigInteger.valueOf(x)把对应的普通数值转为大数值比较compareTo()相等—0,大于—正数,小于—负数 加–add 减–subtract *—multiply /----divide %----mod .abs()取绝对值 二.Optional类型 1.将一个可能为null 的对象包装成Optional对象 Optional o=Optional.ofNullable(T value) 如果value为空,则返回一个空的Optional 2.直接创建一个类型为T的空Optional: Optional o...

Java基础学习 1 (变量,数据类型,运算符)

变量 在程序运行过程当中,其值可以发生变化的值。变量,要有数据类型的规定。 Java中变量的定义格式:数据类型 变量名 = 值。数据类型就是用来限定这个值的变化范围,限定是什么样类型的值。 变量其实就是在内存中开辟的一块空间,用来存储数据,可以通过数据类型声明。 变量首字母小写。 变量在使用之前必须赋值。 重新赋值,会覆盖掉旧值。 在同一个作用域里面,不能定义两个同名变量(作用域:就是一堆{}大括号所括 的范围)。...

Java:添加值时使用数组和使用运算符【代码】

当添加到像myArray [range]这样的常规int数组时,运算符的工作原理是什么? 如果我有一个选择的值(范围)被添加迭代1,2,3,3,3,4,4它会添加’1’一次2,一次,3次和4两次?它只是将它添加到数组的末尾吗?解决方法:myArray [范围];将增加索引范围的值.如果要增加所有值,请执行以下操作:for (int i = 0; i < MyArray.Length; i++)MyArray[i]++;

Java对象:if语句中的比较值,运算符重载【代码】

是否可以定义用于自定义对象的if语句比较的值? 我有: public class element实现Comparable {public int value; public int[] sequence; public int length;public element(){} public element(int val){this.value = val; }@Override public int compareTo(Object o) {return }} 我想使用if语句如下:if (element1 > element2) ..而不是传统的:if (element1.value > element2.value) ..我无法通过比较器,toString()等来实现这...

Java运算符优先级

一般而言,单目运算符优先级较高,赋值运算符优先级较低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。 Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低。在同一个表达式中运算符优先级高的先执行。表 1 列出了所有的运算符的优先级以及结合性。 表1 运算符的优先级 优先级 运算符 结合性 1 ()、[] 从左向右 2 !、+、-、~、++...

java – 使用||压缩基本代码带字符串的运算符【代码】

我是java编程的新手.我无法找到有关使用||的任何信息运算符与字符串.我想知道是否有更有效的方法来执行此代码,特别是仍然易于阅读.我尝试使用一个简单的计算器来熟悉IfThenElse语句.import java.util.Scanner;public class SimpleCalculator {public static void main(String[] args){Scanner input=new Scanner(System.in);double first;double second;String option;while(true){System.out.println("What function would you li...

Java位运算符&

1.参考 https://www.cnblogs.com/yesiamhere/p/6675067.html 2.Java中System.arraycopy方法的使用 参考 https://blog.csdn.net/huangbaokang/article/details/75284550

java – 何时以及为何使用或等于(| =)速记运算符【代码】

我正在寻找一个java项目的源代码,在这里我找到了一个运算符| =的布尔变量.有谁能告诉我这究竟是什么?以及使用它的最佳方式. 感谢您的回复,现在改进了我的问题:什么是| =简写运算符实际上做了.根据我的测试,它显示:false | true = true false | false = false true | false = true true | true = true但我还是不清楚它是如何决定结果的.以及我可以使用它的任何用例.谢谢解决方法:a | = b;表示与a = a |相同b;,与a = b的方式相同;...

Java基础概念二(浮点型变量、运算符、转换)【图】

浮点型函数是不精确的,一定不要用于比较。float又被称作是单精度类型,尾数可以确定到7位有效数字,double的数值精度是float的两倍,又被叫做双精度类型,浮点型常量默认为double类型。 二元运算:1、两个操作数如果有一个为Long,则结果也为Long 2、没有Long时结果为int,即使操作数全为byte和short,结果也为int 3、 两个操作数如果有一个为Double,则结果也为Double 4、...

Java三元运算符混淆【代码】

这是我的代码public class BinarySearch {public static int binsearch(int key, int[] a){int lo = 0;int hi = a.length - 1;while (lo < hi){int mid = (lo + hi) >> 1;key < a[mid] ? hi = mid : lo = (mid + 1);}return lo--;} }我在编译时遇到错误Exception in thread "main" java.lang.Error: Unresolved compilation problems: Syntax error on tokens, Expression expected insteadSyntax error on token "]", delete this...

Java =运算符【代码】

Integer n = 5; System.out.println(n) // 5!我怎样才能在我的课程中重现这种行为?解决方法:你不能.这称为Autoboxing,它是Java中某些类的一个特殊功能,可以简化处理表示原始类型(如int)的类.

Java:条件运算符与if / else不同【代码】

为什么条件运算符返回2.0并且if / else块在以下示例中返回2?我有点困惑,因为这两个块应该相等: 如果别的:double value = 2.0; Object result;if (value == Math.floor(value)) {result = ((int) value); } else {result = value; }有条件的运算符:double value = 2.0; Object result; result = value == Math.floor(value) ? ((int) value) : value;但是,命令System.out.println(result);打印2.0或2 谢谢你的帮助!解决方法:两...

java – 使用字符运算符执行操作【代码】

我正在解决我正在研究的计算器程序的问题.我遇到的问题是我不知道如何让操作起作用.我已经尝试将它连接成一个String,然后以这种方式执行操作,但你不能这样做.我也尝试在操作数之间使用操作数和运算符(char b),但它不会执行操作.我现在唯一的解决方案是执行一系列检查以确定运算符是什么,然后使用该运算符执行等式,例如if(b ==’ – ‘){int answer = xy;} .我这样做的唯一问题是它感觉草率,并且可以以更有效的方式完成./*** Makes ...

java – 为什么右移运算符产生零而不是一个?【代码】

我正在自学java,我在Thinking in Java中进行练习. 在第116页,练习11,您应该右移一个整数到其所有二进制位置,并使用Integer.toBinaryString显示每个位置.public static void main(String[] args) { int i = 8; System.out.println(Integer.toBinaryString(i)); int maxIterations = Integer.toBinaryString(i).length(); int j; for (j = 1; j < maxIterations; j++) {i >>= 1; System.out.println(Integer.toBinaryString(i)); }在...