Migliore risposta
A seconda del linguaggio di programmazione possono avere significati diversi.
Ad esempio in Javascript? è operatore condizionale (ternario) e\% è operatore resto degli operatori aritmetici
In Oracle SQL? è un segnaposto per parametri dinamici e\% corrisponde a 0 o più caratteri dai dati in LIKE clausole.
In Mathematica? viene utilizzato per PatternTest e\% è utilizzato come abbreviazione per loperazione Out .
Devi essere più specifico sulla lingua in cui stai scrivendo, per ottenere una risposta più specifica.
Risposta
Dipende (ovviamente) dal linguaggio di programmazione. Tuttavia, luso di gran lunga più comune è quello della famiglia di linguaggi C, dove è loperatore che confronta per luguaglianza. C usa “=” per lassegnazione e C consente anche di eseguire lassegnazione quasi ovunque, quindi non possono usarlo anche per il confronto. Pertanto, lhanno scritto due volte per fare il confronto.
Per i tipi interi e altri tipi semplici come booleano e caratteri, è più o meno semplice. 42 == 42 è vero e 42 == 47 è falso. La virgola mobile aggiunge alcuni casi dangolo (in poche parole, perché la virgola mobile sempre aggiunge casi dangolo a tutto!). Per oggetti più complessi, diventa più complicato. Ad esempio, in Java, “==” significa “esattamente lo stesso oggetto” (come in, risiede nella stessa posizione di memoria) quando applicato agli oggetti e si suppone che si utilizzi il metodo equals () per la maggior parte dei confronti. Il metodo equals () è implementato come == per impostazione predefinita ma puoi sovrascriverlo per adattarlo alle tue esigenze (purché tu segua alcune restrizioni ragionevoli e ti ricordi di regolare i metodi correlati, in particolare hashCode (), di conseguenza). In linguaggi come il C ++, beh, chi lo sa? C ++ ti permette di sovraccaricare gli operatori. (A volte è fantastico, a volte è solo molto confuso.)