Программирование мобильных телефонов на Java


Программирование мобильных телефонов

  • Введение
  • Глава 1. Устройство мобильных телефонов
  • Глава 2. Платформа Java 2 Micro Edition
  • Глава 3. Средства разработки мобильных приложений
  • Глава 4. Телефонные эмуляторы
  • Глава 5. Механизм работы приложений Java 2 ME
  • Глава 6. Классы пользовательского интерфейса
  • Глава 7. Программирование графики
  • Глава 8. Техника создания игр
  • Глава 9. Мобильная мультимедиа-библиотека
  • Заключение
  • Приложение 1. Основы языка Java
  • Приложение 2. Справочник по Java 2 Micro Edition

     

    Программирование на Java

  • Введение
  • Глава 1. Встроенные типы данных, операции над ними
  • Глава 2. Объектно-ориентированное программирование в Java
  • Глава 3. Пакеты и интерфейсы
  • Глава 4. Классы-оболочки
  • Глава 5. Работа со строками
  • Глава 6. Классы-коллекции
  • Глава 7. Классы-утилиты
  • Глава 8. Принципы построения графического интерфейса
  • Глава 9. Графические примитивы
  • Глава 10. Основные компоненты
  • Глава 11. Размещение компонентов
  • Глава 12. Обработка событий
  • Глава 13. Создание меню
  • Глава 14. Апплеты
  • Глава 15. Изображения и звук
  • Глава 16. Обработка исключительных ситуаций
  • Глава 17. Подпроцессы
  • Глава 18. Потоки ввода/вывода
  • Глава 19. Сетевые средства Java
  • Приложение. Развитие Java

  • 

    3fb01dc2


     

     

    Класс Biglnteger

    Все примитивные целые типы имеют ограниченный диапазон значений. В целочисленной арифметике Java нет переполнения, целые числа приводятся по модулю, равному диапазону значений.

    Для того чтобы было можно производить целочисленные вычисления с любой разрядностью, в состав Java API введен класс Biglnteger , хранящийся в пакете java.math . Этот класс расширяет класс Number , следовательно, в нем переопределены методы doubleValue(), floatValue(), intValue(), longValue() . Методы byteVaiue() и shortvalue() не переопределены, а прямо наследуются от класса Number .

    Действия с объектами класса Biglnteger не приводят ни к переполнению, ни к приведению по модулю. Если результат операции велик, то число разрядов просто увеличивается. Числа хранятся в двоичной форме с дополнительным кодом.

    Перед выполнением операции числа выравниваются по длине распространением знакового разряда.

    Шесть конструкторов класса создают объект класса BigDecimai из строки символов (знака числа и цифр) или из массива байтов.

    Две константы — ZERO и ONE — моделируют нуль и единицу в операциях с объектами класса Biglnteger .

    Метод toByteArray() преобразует объект в массив байтов.

    Большинство методов класса Biglnteger моделируют целочисленные операции и функции, возвращая объект класса Biglnteger :

    • abs() — возвращает объект, содержащий абсолютное значение числа, хранящегося в данном объекте this ;
    • add(x) — операция this + х
    • and(x) — операция this & х ;
    • andNot(x) — операция this & (~х) ;
    • divide (x) — операция this / х
    • divideAndRemainder(х) — возвращает массив из двух объектов класса Biglnteger , содержащих частное и остаток от деления this на х ;
    • gcd(x) — наибольший общий делитель, абсолютных, значений объекта this и аргумента х ;
    • mах(х) — наибольшее из значений объекта this и аргумента х ; min(x) — наименьшее из значений объекта this и аргумента х ; mod(x) — остаток от деления объекта this на аргумент метода х ;
    • modinverse(x) — остаток от деления числа, обратного объекту this , на аргумент х ;
    • modPow(n, m) — остаток от деления объекта this , возведенного в степень n , на m ;
    • multiply (х) —операция this * х ;
    • negate() — перемена знака числа, хранящегося в объекте;
    • not() — операция ~this ;
    • оr(х) — операция this | х ;
    • pow(n) — операция возведения числа, хранящегося в объекте, в степень n ;
    • remainder(х) —операция this % х ;
    • shiftLeft (n) операция this « n ;
    • shiftRight (n) — операция this » n;
    • signum() — функция sign (x) ;
    • subtract (x) — операция this - x ;
    • xor(x) — операция this ^ x .

    В листинге 4.3 приведены примеры использования данных методов, а рис. 4.4 показывает результаты выполнения этого листинга.

    Рис. 4.4. Методы класса Biglnteger в программе BiglntegerTest

    Листинг 4.3. Методы класса Biglnteger в программе BiglntegerTest

    import Java.math.Biglnteger;

    class BiglntegerTest{

      public static void main(String[] args){

        Biglnteger a = new Biglnteger("99999999999999999") ;

        Biglnteger b = new Biglnteger("88888888888888888888");

        System.out.println("bits in a = " + a.bitLength());

        System.out.println("bits in b = " + b.bitLengthO);

        System.out.println("a + b = " + a.add(b));

        System.out.println("a & b = " + a.and(b));

        System.out.println("a & ~b = " + a.andNot(b));

        System.out.println("a / b = " + a.divide(b));

        Biglnteger[] r = a.divideAndRemainder(b);

        System.out.println("a / b: q = " + r[0] + ", r = " + r[l]);

        System.out.println("gcd(a, b) = " + a.gcd(b));

        System.out.println("max(a, b) = " + a.max(b));

        System.out.printin("min(a, b) = " + a.min(b));

        System.out.println("a mod b = " + a.mod(b));

        System.out.println("I/a mod b = " + a.modlnverse(b));

        System.out.println("алп mod b = " + a.modPow(a, b));

        System.out.println("a * b = " + a.multiply(b));

        System.out.println("-a = " + a.negate());

        System, out. println ("~a = " + a.not());

        System.out.println("a | b = " + a.or(b));

        System.out.println("а л 3 = " + a.pow(3)); 

        System.out.println("a % b = " + a.remainder(b)); 

        System.out.println("a « 3 = " + a.shiftLeft(3)}; 

        System.out.println("a » 3 = " + a.shiftRight(3)); 

        System.out.println("sign(a) = " + a.signum()); 

        System.out.println("a - b = " + a.subtract(b)); 

        System.out.println("а л b = " + a.xor(b)); 

       

    }

    Обратите внимание на то, что в программу листинга 4.3 надо импортировать пакет Java.math .

     

    -
    



    Copyright © vzlom-1.ru 2020-2021