Okay, also habe ich dieses Stück Code getestet und ich habe festgestellt, dass es keine Ausnahme gibt.Zwei Bedingungen in einer if-Anweisung macht die zweite Sache, wenn die erste falsch ist?
public static void main(String[] args) {
int[] list = {1,2};
if (list.length>2 && list[3] == 2){
System.out.println(list[1]);
}
}
Ist die Aussage hier
if (list.length>2 && list[3] == 2)
bedeutet, dass, wenn die erste Bedingung, die wir nicht einmal die zweite Bedingung falsch ist zu überprüfen?
Oder es gleich zu
if (list.length>2){
if (list[3] == 2){
...
}
}
?
Und was ist, wenn es in C oder Python oder einigen anderen Sprachen geschrieben ist?
Danke
Ihre 2 Wege sind gleich –
Java folgt http://en.wikipedia.org/wiki/Short-circuit_evaluation (Kurzschlussauswertung), um diesen Ausdruck zu validieren – Vasu
Kurzschlussauswertung können Sie Bedingungen bewerten, die nur so lange legal sein werden als erste Bedingung ist legal. Du wirst oft Code wie 'if (string! = Null && string.length> 5) sehen' –