当前位置: 首页 > 面试题库 >

如何使用“ x <= y && x> = y && x!= y”使循环无限?

闽朝
2023-03-14
问题内容

几年前我有这个面试问题,但是我还没有找到答案。

做无限循环的x和y应该是什么?

while (x <= y&& x >= y && x != y) {

}

我们试着用Naninfinity+/-null

floatVS int


问题答案:

您需要两个可比较,具有相同值但代表不同实例的变量,例如:

Integer x = new Integer(0);
Integer y = new Integer(0);

x <= yy <= x都为true,因为Integer取消了装箱,但是实例相等性x == y为false。

请注意,它也可以与一起使用FloatLong并且Double任何值(不仅是0)都可以使用。

您还可以使用JVM的复杂性-它们通常仅缓存最多127个整数,因此也可以使用:

Integer x = 128;
Integer y = 128;

(但是127不会)。

或更简单地说,由于Doubles通常根本不会被缓存:

Double x = 0d;
Double y = 0d;


 类似资料:
  • X|Y

    描述 (Description) 逻辑运算符[X|Y]匹配X或Y. 例子 (Example) 以下示例显示了逻辑运算符的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class LogicalOperatorDemo { private sta

  • 问题内容: 考虑以下示例: 我不确定Java语言规范中是否有一项规定要加载变量的先前值以便与右侧()进行比较,该变量应按照方括号内的顺序进行计算。 为什么第一个表达式求值,而第二个表达式求值?我本来希望先被评估,然后再与自身()比较并返回。 这个问题与Java表达式中子表达式的求值顺序不同,因为这里绝对不是“子表达式”。需要 加载 它以进行比较,而不是对其进行“评估”。这个问题是特定于Java的,

  • 这个问题与Java表达式中子表达式的求值顺序不同,因为在这里肯定不是“子表达式”。需要加载它进行比较,而不是“求值”。这个问题是特定于Java的,表达式来自一个真实的项目,而不是通常为棘手的面试问题而设计的牵强附会的不切实际的构造。它应该是比较和替换习语的一行替换 它比x86 CMPXCHG指令还要简单,因此在Java中应该使用更短的表达式。

  • Returns an SVG markup string for the blur filter Parameters xnumberamount of horizontal blur, in pixels ynumberamount of vertical blur, in pixels Returns: string filter representation Usage var f = pa

  • Returns y coordinate for given point after transformation described by the matrix. See also Matrix.x Parameters xnumber ynumber Returns: number y

  • Returns x coordinate for given point after transformation described by the matrix. See also Matrix.y Parameters xnumber ynumber Returns: number x