Dart Vergleichsoperatoren

Vergleichsoperatoren sind Rechenzeichen, die für alle Arten von Größenvergleichen verwendet werden. Wir nutzen sie häufig in der Mathematik.

Tabelle der Vergleichsoperatoren

OperatorBeschreibung
==Gleich (Prüfung auf identische Werte)
!=Ungleich
>Größer als
<Kleiner als
>=Größer oder gleich
<=Kleiner oder gleich

Der Operator == kann auch auf andere Objekte angewendet werden

Kernregeln des Gleichheitsoperators ==

== prüft, ob die Werte zweier Variablen / Objekte übereinstimmen; Wenn streng geprüft werden soll, ob zwei Referenzen auf exakt dasselbe Speicherobjekt verweisen, verwenden Sie nicht ==, sondern die spezielle Funktion identical().

Sonderbehandlung von Nullwerten (null) Wenn eine der Seiten null ist:

  • Beide Seiten sind null → Rückgabewert true
  • Nur eine Seite ist null → Rückgabewert false

Logik für gewöhnliche Objekte Entspricht dem Aufruf der ==-Methode des ersten Operanden: x.==(y). Der Operator ist im Grunde eine Mitgliedsmethode des Operanden.

Alle folgenden Ausgaben ergeben true: null ist weder gleich 0 noch der leeren Zeichenkette „“

void main() {
	// Beide Seiten sind null, Ergebnis von == ist true
	print(null == null); //true
	// Eine Seite null, eine mit Wert, Ergebnis von == ist false
	print(null != 0); //true
	print(null != ""); //true
}
Code-Sprache: PHP (php)

Sehen Sie sich ein vollständiges Beispiel an

void main() {
	// == Gleichheitsvergleich
	print(2 == 2);
	print("dart" == "dart");
	print([1,2] == [1,2]);

	// != Ungleichheitsvergleich
	print(2 != 3);
	print(true != false);

	// > Größer als
	print(3 > 2);
	print(10 > -5);

	// < Kleiner als
	print(2 < 3);
	print(-1 < 0);

	// >= Größer oder gleich
	print(3 >= 3);
	print(5 >= 2);

	// <= Kleiner oder gleich
	print(2 <= 3);
	print(4 <= 4);
}
Code-Sprache: Dart (dart)

Ausgabeergebnis

true
true
false
true
true
true
true
true
true
true
true
true
trueCode-Sprache: JavaScript (javascript)

Unterschied zwischen == und identical()

void main() {
	var a = [1, 2];
	var b = [1, 2];
	
	// Der ==-Vergleich bei Listen prüft Objektreferenzen; a und b sind zwei separate Arrays → Ergebnis false
	print(a == b);
	
	// identical prüft auf dasselbe Speicherobjekt; a und b sind verschiedene Arrays → gibt false zurück
	print(identical(a, b));
	
	// c verweist direkt auf a, also dasselbe Objekt → identical gibt true zurück
	var c = a;
	print(identical(a, c));
}
Code-Sprache: PHP (php)

Hinweis: Zum Vergleich des Inhalts zweier Listen verwenden Sie listEquals

import 'package:flutter/foundation.dart';
listEquals(a, b); // true, vergleicht jedes Element des ArraysCode-Sprache: JavaScript (javascript)

Vergleich von Zeichenketten

Zum Vergleich von Zeichenketten dürfen nur == und != verwendet werden

void main() {
	// Vergleichs-/Gleichheitsoperationen für Zeichenketten
	print("apple" != "banana"); //true
	print("apple" == "apple"); //true
	//print("zoo" > "apple"); // Fehler: Zeichenketten unterstützen keine > < >= <=, nur == != zur Gleichheitsprüfung

	// Gleichheitsvergleich von Bool-Werten
	print(true == true);  //true
	print(true != false);  //true
}
Code-Sprache: PHP (php)

Vergleichsoperatoren kombiniert mit arithmetischen Operatoren

Aus vorherigen Lektionen wissen wir: Arithmetische Operationen > Vergleichsoperationen; Zuerst werden Addition, Subtraktion, Multiplikation und Division berechnet, danach folgen Größen- und Gleichheitsvergleiche;

void main() {
  // Zuerst Berechnung der arithmetischen Ausdrücke beider Seiten, dann Vergleich
  print(10 + 5 == 3 * 5); // 15 == 15 → true
  print(20 - 3 != 8 + 9); // 17 != 17 → false
  print(12 + 4 > 5 + 6);  // 16 > 11 → true
  print(9 - 7 < 10 - 1);  // 2 < 9 → true
  print(6 + 2 >= 4 * 2);  // 8 >= 8 → true
  print(15 - 8 <= 3 + 5); // 7 <= 8 → true
}Code-Sprache: PHP (php)

In dem obigen Beispiel werden zuerst die mathematischen Ausdrücke auf beiden Seiten des Vergleichsoperators berechnet, anschließend werden die Ergebnisse verglichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert