我知道在Java中,变量可以是null
,也可以不是String abc = null; //or a value or anything or any other thing I don't know like undefined vs
if (abc == null) {
System.out.println("IF");
} else if (abc != null) {
System.out.println("ELSE IF");
}
。所以我想问一下,还有其他可能吗?
else
在那段代码中是否需要插入String abc = null; //or a value or anything
if (abc == null) {
System.out.println("IF");
} else if (abc != null) {
System.out.println("ELSE IF");
} else {
//any possibility to come here ???
}
分支?像这样:
K >= 1 and less than 10^9,
N >=1 and less than 10^5,
heights(both boy an girl)>=1 and less than 10^9.
答案 0 :(得分:3)
我知道在java中,变量可以为null或不为null。
事实上,这是不对的:
int test = null; // Compilation error
if (test == null) // Compilation error
类型为基本类型的变量不能为null
且无法与null进行比较。
只有类型为引用类型的变量(即类类型或数组类型)才能将null
作为值。
所以我想问是否还有其他可能性
假设您正在谈论参考类型,那么编号
但这是一个合乎逻辑的重言式。如果任何变量可以null
作为值,则其值为null
...或者不是null
。
通常 1 ,对于任何类型T
,t
是T
类型的变量,v
是类型的值T
然后
(t != V) <=> !(t == v)
英文:t
的值为v
...或者不是。
1 - 有一个例外。如果T
为float
或double
,并且您正在与NaN值进行比较,则==
总是会false
,即使您正在测试NaN == NaN
}
答案 1 :(得分:1)
Java有基元和对象。
像 int 这样的原语不能为空(他们有大兄弟,但实际上可以像整数包装一样)。
谈论我们所说的对象的“无效性”会重新引用参考变量或链接到它们。如果链接引用某个对象,则不为null;如果不引用,则为 null。就是这样,期间,没有其他情况。
答案 2 :(得分:0)
此处不需要IF .. ELSE IF .. ELSE
构造,因为只有两种可能性NULL
或NOT NULL
。简单的IF .. ELSE
构造就足够了。更好的方法是使用Ternary Operator
之类的
string str = (abc == null) ? "IF" : "ELSE IF";
System.out.println(str);
(OR)
System.out.println((abc == null) ? "IF" : "ELSE IF");
答案 3 :(得分:0)
使用if..else
代替if...else if...else
。你只有两种可能性。
String abc=null;
if(abc==null){
System.out.println("IF");
}else{
System.out.println("ELSE");
}