Junior
Hoe kunnen primitieve gegevenstypen met elkaar vergeleken worden?
sobes.tech AI
Antwoord van AI
De primitieve datatypes in Java worden vergeleken op basis van hun waarde met behulp van vergelijking operators:
==(gelijkheid)!=(ongelijkheid)>(groter dan)<(kleiner dan)>=( groter dan of gelijk aan)<=(kleiner dan of gelijk aan)
// Vergelijking van gehele getallen
int x = 10;
int y = 20;
boolean isEqual = (x == y); // false
boolean isGreater = (x > y); // false
// Vergelijking van drijvende-kommagetallen
double a = 3.14;
double b = 3.14;
boolean areEqualDoubles = (a == b); // true (voor exacte waarden)
// Vergelijking van tekens
char c1 = 'A';
char c2 = 'B';
boolean isCLessThanC2 = (c1 < c2); // true
// Vergelijking van boolean type
boolean flag1 = true;
boolean flag2 = false;
boolean areFlagsEqual = (flag1 == flag2); // false
Het is belangrijk om te onthouden dat bij het vergelijken van drijvende-kommagetallen (float, double), het gebruik van == on nauwkeurig kan zijn vanwege de manier waarop getallen in het geheugen worden weergegeven. In dergelijke gevallen wordt aanbevolen om de absolute waarde van het verschil te vergelijken met een kleine tolerantie (epsilon).
double val1 = 0.1 + 0.2; // in werkelijkheid niet precies 0.3 vanwege precisie
double val2 = 0.3;
double epsilon = 1e-9; // Kleine tolerantie
// Onnauwkeurige methode
boolean incorrectEquality = (val1 == val2); // kan false zijn
// Aanbevolen methode voor het vergelijken van drijvende-kommagetallen
boolean correctEquality = (Math.abs(val1 - val2) < epsilon); // true