Tag: 运算符

Java运算符:| =按位OR并指定示例

我只是通过有人编写的代码,我看到了|=使用,查看Java运算符,它建议按位或分配操作,任何人都可以解释并给我一个例子吗? 这是读取它的代码: for (String search : textSearch.getValue()) matches |= field.contains(search);

Java – 操作顺序 – 在单行中使用两个赋值运算符

在一行中使用两个赋值运算符时的操作顺序是什么? public static void main(String[] args){ int i = 0; int[] a = {3, 6}; a[i] = i = 9; // this line in particular System.out.println(i + ” ” + a[0] + ” ” + a[1]); } 编辑:感谢您的post。 我得到了=从右边获取值,但是当我编译它时,我得到: 9 9 6 我认为它本来是和ArrayOutOfBoundsexception,但它在它移动到9 之前分配’a [i]’它是否只是为数组执行此操作?

比较Java中的float和double原语

我遇到了一个奇怪的Java角落。(这对我来说似乎很奇怪) double dd = 3.5; float ff = 3.5f; System.out.println(dd==ff); o / p:是的 double dd = 3.2; float ff = 3.2f; System.out.println(dd==ff); o / p:false 我观察到,如果我们比较任何两个值(如我在示例中提到的float和double)与.5 OR .0如3.5,234.5,645.0,则输出为true即两个值相等,否则输出为false尽管它们是等于。 即使我试图制作方法strictfp但没有运气。 我错过了什么。

>>在java中做什么?

好吧,我尝试查找>>或者移动意味着什么,但是这个方法在我的网站上解释了它: http : //www.janeg.ca/scjp/oper/shift.html 那么有人可以解释它就像他们正在和一个孩子说话吗?

==运算符和equals()之间有什么区别? (用hashcode()???)

我正在更深入地学习哈希码,并认为: 1.如果重写equals(),则必须覆盖hashcode()。 2.要查找2个对象是否是同一个对象,请使用==运算符 考虑到这两个因素,在Java中我假设当使用== operator来比较2个实例是否相同时, if(object1 == object2) 实际上是在做 if(object1.hashcode() == object2.hashcode()) 但是通过下面的测试看起来我错了。 public class Main { public static void main(String[] args){ Obj1 one = new Obj1(); Obj1 two = new Obj1(); //is this calling hashCode() in backend??? if(one == two) { System.out.println(“same”); } else { System.out.println(“nope”); } //this is of course return true if(one […]