Junior
Qanday qilib asosiy ma'lumot turlarini o'zaro solishtirish mumkin?
sobes.tech AI
AIdan javob
Java'da asosiy ma'lumot turlari qiymatlari bo'yicha taqqoslanadi:
==(tenglik)!=(teng emaslik)>(katta)<(kichik)>=(katta yoki teng)<=(kichik yoki teng)
// Butun sonlarni taqqoslash
int x = 10;
int y = 20;
boolean isEqual = (x == y); // false
boolean isGreater = (x > y); // false
// Oqimli sonlarni taqqoslash
double a = 3.14;
double b = 3.14;
boolean areEqualDoubles = (a == b); // true (aniq qiymatlar uchun)
// Belgilarni taqqoslash
char c1 = 'A';
char c2 = 'B';
boolean isCLessThanC2 = (c1 < c2); // true
// Boolean turini taqqoslash
boolean flag1 = true;
boolean flag2 = false;
boolean areFlagsEqual = (flag1 == flag2); // false
E'tibor berish kerakki, oqimli sonlarni (float, double) taqqoslashda, == operatoridan to'g'ridan-to'g'ri foydalanish, xotirada sonlarning ifodalanish xususiyatlari tufayli noaniq bo'lishi mumkin. Bunday hollarda, taxminiy tenglikni tekshirish uchun, farqning absolyut qiymatini kichik bir tolerans (epsilon) bilan taqqoslash tavsiya etiladi.
double val1 = 0.1 + 0.2; // aslida aniq 0.3 emas, aniqlik tufayli
double val2 = 0.3;
double epsilon = 1e-9; // Kichik tolerans
// Noaniq usul
boolean incorrectEquality = (val1 == val2); // false bo'lishi mumkin
// Tavsiya etilgan usul
boolean correctEquality = (Math.abs(val1 - val2) < epsilon); // true