Heim >Java >javaLernprogramm >Logisches ODER (||) vs. bitweises ODER (|): Wann sollten Sie sich für Kurzschluss entscheiden?
Warum wir im Allgemeinen logisches ODER (||) gegenüber bitweisem ODER (|) bevorzugen
In der Programmierung werden logisches ODER (||) und Bitweise ODER-Operatoren (|) werden beide als wahr ausgewertet, wenn einer oder beide Operanden wahr sind. Es gibt jedoch einen wesentlichen Unterschied, der die Verwendung von || begünstigt über |: Kurzschluss.
Der Vorteil des Kurzschließens mit logischem ODER
Bei Verwendung von logischem ODER(||) stoppt die Auswertung, sobald a Es wird ein wahrer Operand gefunden. Dies verhindert die Auswertung des Folgeoperanden, wenn dies nicht erforderlich ist. Bedenken Sie Folgendes:
if(true || false) // Passes if(false || false) // Doesn't pass
Im ersten Fall besteht keine Notwendigkeit, den zweiten Operanden auszuwerten, da der erste bereits wahr ist. Ähnlich verhält es sich mit anderen logischen Operatoren wie logischem UND (&&) und logischem NICHT (!).
Bitweises ODER vs. logisches ODER
Bitweises ODER hingegen , wertet beide Operanden unabhängig vom Ergebnis aus. Dies kann in Szenarien von Vorteil sein, in denen Sie Bitmanipulationen durchführen möchten, z. B. das Setzen oder Löschen von Bits. Bei booleschen Operationen bietet das Kurzschlussverhalten des logischen ODER jedoch erhebliche Vorteile:
if(string != null && string.isEmpty()) // Checks for null before calling isEmpty()
Im Allgemeinen wird die Verwendung von logischem ODER (||) gegenüber bitweisem ODER (|) für boolesche Operationen empfohlen, da es die Vorteile von Kurzschlüssen, Leistungsoptimierung usw. bietet Sicherheitsprüfungen bei Nullreferenzprüfungen.
Das obige ist der detaillierte Inhalt vonLogisches ODER (||) vs. bitweises ODER (|): Wann sollten Sie sich für Kurzschluss entscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!