Okay, quindi ho testato questo pezzo di codice e ho scoperto che non vi è alcuna eccezione buttata fuori.Due condizioni in una istruzione if se la seconda importa se la prima è falsa?
public static void main(String[] args) {
int[] list = {1,2};
if (list.length>2 && list[3] == 2){
System.out.println(list[1]);
}
}
fa la dichiarazione qui
if (list.length>2 && list[3] == 2)
significare che se la prima condizione è falsa che non hanno nemmeno bisogno di controllare la seconda condizione?
O uguale a
if (list.length>2){
if (list[3] == 2){
...
}
}
?
E, cosa succede se è scritto in C o Python o in altre lingue?
Grazie
i tuoi 2 modi sono equivalenti –
Java segue http://en.wikipedia.org/wiki/Short-circuit_evaluation (valutazione di cortocircuito) per convalidare quell'espressione – Vasu
La valutazione di cortocircuito ti consente di valutare le condizioni che saranno legali solo a lungo come la prima condizione è legale. Vedrete spesso codice come 'if (string! = Null && string.length> 5)' –