Програмування на мові Java Утиліти

March 2nd, 2009


« Мова JAVA розробка програмного забезпечення в середовищі Internet   |   Програмування на мові Java Мережеві засоби »

class DoubleDemo { public static void main(String args[]) { Double d1 = new Double(3.14159); Double d2 = new Double(”314159E-5″); System.out.println(d1+”=”+d2+”->”+d1.equals(d2)); } }

Як ви можете бачити з результату роботи цієї програми, метод equals повертає значення true, а це означає, що обидва використаних в прикладі конструктора створюють ідентичні об’єкти класу Double.

С:\> java DoubleDemo 3.14159 = 3.14159 -> true

Нескінченність і NAN

В специфікації IEEE для чисел з речовинною крапкою є два значення типу double, які трактуються спеціальним чином: нескінченність і NAN (Not а Number-неопределенность).
У класі Double є тести для перевірки обидва цих умов, причому в двох формах-у виді методів (статичних), яким значення double передається як параметр, і у вигляді методів, перевіряючих число, що зберігається в об’єкті класу Double.

  • islnfinite(d) повертає true, якщо абсолютне значення вказаного числа типу double нескінченно велике.
  • islnfinite() повертає true, якщо абсолютне значення числа, що зберігається в даному об’єкті Double, нескінченно велике.
  • isNaN(d) повертає true, якщо значення вказаного числа типу double невизначене.
  • isNaN() повертає true, якщо значення числа, що зберігається в даному об’єкті Double, невизначене.

Черговий наш приклад створює два об’єкти Double, один з нескінченним, інший з невизначеним значенням.

class InfNaN { public static void main(String args[]) { Double d1 = new Double(1/0.); Double d2 = new Double(0/0.); System.out.println(d1+”:”+d1.isInfinite()+”,”+d1.isNaN()); System.out.println(d2+”:”+d2.isInfinite()+”,”+d2.isNaN()); } }

Нижче приведений результат роботи цієї програми:

С:\> java InfNaN Infinity: true, false NAN: false, true

Integer і Long


Tags: , , , , , ,

програмування


Схожі записи

Категория: програмування |

Комментарии