Junior
Негизги маалымат түрлөрүн бири-бири менен кантип салыштыруу керек?
sobes.tech AI
AIден жооп
Javaда негизги маалымат түрлөрү алардын мааниси боюнча салыштырылат:
==(теңдик)!=(тең эмес)>(жогору)<(төмөн)>=(жогору же тең)<=(төмөн же тең)
// Туура сандык салыштыруу
int x = 10;
int y = 20;
boolean isEqual = (x == y); // false
boolean isGreater = (x > y); // false
// Уламдуу сандардын салыштыруу
double a = 3.14;
double b = 3.14;
boolean areEqualDoubles = (a == b); // чын (так маанилер үчүн)
// Белгилердин салыштыруу
char c1 = 'A';
char c2 = 'B';
boolean isCLessThanC2 = (c1 < c2); // чын
// Boolean түрүнүн салыштыруу
boolean flag1 = true;
boolean flag2 = false;
boolean areFlagsEqual = (flag1 == flag2); // жалган
Маанилүү, уламдуу сандык салыштыруудө (float, double) == операторун түз колдонуу так эмес болушу мүмкүн, анткени сандардын эсинде көрсөтүлүшү өзгөчөлүктөргө ээ. Мындай учурларда, жакындыкта теңдикти текшерүү үчүн, айырманын абсолют маанисин кичинекей бир чектөө (epsilon) менен салыштыруу сунушталат.
double val1 = 0.1 + 0.2; // чындыкта так эмес 0.3, тактыкка байланыштуу
double val2 = 0.3;
double epsilon = 1e-9; // Кичинекей чектөө
// Так эмес ыкма
boolean incorrectEquality = (val1 == val2); // мүмкүн эмес, жалган болушу мүмкүн
// Туура ыкма — уламдуу сандык салыштыруу
boolean correctEquality = (Math.abs(val1 - val2) < epsilon); // чын