Perché java richiede un doppio segno di uguale (==) quando si confrontano i numeri interi in una dichiarazione if
?Perché java richiede un doppio segno di uguale?
Per esempio
if(x = 3.141)
System.out.println("x is equal to pi.");
non è corretto, dovrebbe essere
if(x == 3.141)
System.out.println("x is equal to pi.");
so che "==" viene utilizzato per confrontare gli interi e "=" viene utilizzato per impostare un valore intero, ma perché in una dichiarazione if
rimane vero?
È anche consentito assegnare una variabile a un valore in un se l'istruzione (o avviare una nuova variabile)?
C'è qualche motivo per cui qualcuno vorrebbe mai assegnare una variabile a un nuovo valore all'interno di una dichiarazione if
(se così si prega di fornire un esempio)?
Questa sembra una domanda che dovrebbe già avere una risposta, ma non sono riuscito a trovarne una qui o usando google, se questa è una domanda doppia, mi dica e la rimuoverò immediatamente.
Puoi int. una variabile in una dichiarazione if? – java
Fun fact: sovraccarico VB (e VB.NET) '=' per entrambe le assegnazioni e l'uguaglianza. [VB] 'a = b = c' == [Java]' a = b == c; '(non [Java]' a = b = c; '). – michaelb958
@ michaelb958: Ma non hanno affatto "==" allora, giusto? Anche questo è coerente. – Thilo