当前位置:编程学习 > JAVA >>

if(a!=a) System.out.println("123"); 问:a为什么时输出123

if(a!=a)
  System.out.println("123");
问:a为什么时输出123 --------------------编程问答-------------------- 看你定义的a是什么类型!两个a的类型相同就输出123. --------------------编程问答-------------------- a不等于a时才会输出啊!
试问:a什么时候不等于a呢?他的问题就是问的a是什么时条件成立! --------------------编程问答-------------------- NaN 
字数限制好恶心 --------------------编程问答-------------------- Impossible ! --------------------编程问答-------------------- 应该不会有这种情况!
String str1="123";
String str2=new String("123");
System.out.println(str1==str2);


你看看这个嘛,你那种情况没有见过 !!! --------------------编程问答-------------------- if a=null,then we will get the result --------------------编程问答-------------------- 好像在哪看过。。。
if(Double.NaN != Double.NaN) {
System.out.println("123");
} --------------------编程问答--------------------
引用 6 楼 seacean2000 的回复:
if a=null,then we will get the result

这样确实会输出123. LZ的问题是a!=a.所以把Double.NaN赋给a的话,仍然不会打印123。 --------------------编程问答-------------------- 之前引用错了。。
引用 7 楼 flagiris 的回复:
好像在哪看过。。。
if(Double.NaN != Double.NaN) {
System.out.println("123");
}

这样确实会输出123. LZ的问题是a!=a.所以把Double.NaN赋给a的话,仍然不会打印123。 --------------------编程问答-------------------- null!=null --------------------编程问答--------------------
引用 9 楼 mochu16 的回复:
之前引用错了。。
Quote: 引用 7 楼 flagiris 的回复:

好像在哪看过。。。
if(Double.NaN != Double.NaN) {
System.out.println("123");
}

这样确实会输出123. LZ的问题是a!=a.所以把Double.NaN赋给a的话,仍然不会打印123。


怎么会不行呢,你试试。。。

double a = Double.NaN;
if(a != a) {
System.out.println("123");
} --------------------编程问答-------------------- 这样就回输出123
package csdn.programbbs_524;

public class Snippet {
public static void main(String[] args) {
Double a = null;
if(a.NaN != a.NaN)
System.out.println("123");
}
}


--------------------编程问答-------------------- 好神奇啊,为什么呢

引用 12 楼 a1006570862 的回复:
这样就回输出123
package csdn.programbbs_524;

public class Snippet {
public static void main(String[] args) {
Double a = null;
if(a.NaN != a.NaN)
System.out.println("123");
}
}


--------------------编程问答-------------------- Java puzzles.
--------------------编程问答-------------------- 我的答案是不可能!因为a与a肯定在同一个地址,a!=a肯定是false! --------------------编程问答--------------------
引用 11 楼 flagiris 的回复:
Quote: 引用 9 楼 mochu16 的回复:

之前引用错了。。
Quote: 引用 7 楼 flagiris 的回复:

好像在哪看过。。。
if(Double.NaN != Double.NaN) {
System.out.println("123");
}

这样确实会输出123. LZ的问题是a!=a.所以把Double.NaN赋给a的话,仍然不会打印123。


怎么会不行呢,你试试。。。

double a = Double.NaN;
if(a != a) {
System.out.println("123");
}

好吧。我用的是Double a = Double.NaN.
神奇。 --------------------编程问答-------------------- 不懂问度娘!
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,