русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Классы-утилиты: работа с массивами, работа с датами и временем, получение случайных чисел, копирование с системой, взаимодействие с системой.


Дата добавления: 2015-06-12; просмотров: 638; Нарушение авторских прав


Работа с массивами

В классе Arrays из пакета java.utii собрано множество методов для работы с массивами. Их можно разделить на четыре группы.

Применение методов класса Arrays

import java.utii.*;

class ArraysTest{

public static void main(String[] args){

int[] a = {34, -45, 12, 67, -24, 45, 36, -56};

Arrays.sort(a) ;

for (int i = 0; i < a.length; i++)

System.out.print (a[i]. + " ");

System.out.println();

Arrays.fill(a, Arrays.binarySearch(a, 12), a.length, 0);

for (int i = 6; i < a.length; i++)

System.out.print(a[i] + " ");

System.out.println();

}

}

Работа с датами и временем

Методы работы с датами и показаниями времени собраны в два класса: Calendar и Date из пакетаjava.utii.

Объект класса Date хранит число миллисекунд, прошедших с 1 января 1970 г. 00:00:00 по Гринвичу. Это "день рождения" UNIX, он называется "Epoch".

Получить текущее число миллисекунд, прошедших с момента Epoch на той машине, где выполняется программа, можно статическим методом

System.currentTimeMillis()

В классе Date два конструктора. Конструктор Date () заносит в создаваемый объект текущее время машины, на которой выполняется программа, по системным часам, а конструктор Date (long miiiisec)— указанное число.

Получить значение, хранящееся в объекте, можно методом long getTime (),

установить новое значение — методом setTimedong newTime).

Три логических метода сравнивают отсчеты времени:

boolean after (long when) — возвращает true, если время when больше данного;

boolean before (long when) — возвращает true, если время when меньше данного;

boolean after (Object when) — возвращает true, если when — объект класca Date и времена совпадают.

Еще два метода, сравнивая отсчеты времени, возвращают отрицательное число типа int, если данное время меньше аргумента when; нуль, если времена совпадают; положительное число, если данное время больше аргумента when:



int compareTo(Date when);

int compareTotobject when) — если when не относится к объектам класса Date, создается исключительная ситуация.

Преобразование миллисекунд, хранящихся в объектах класса Date, в текущее время и дату производится методами класса calendar.

System.out.println("LONG: " + DateFormat.getDateTimelnstance(

DateFormat. LONG, DateFormat. LONG) . format (new Date ()•));

Получение случайных чисел

Получить случайное неотрицательное число, строго меньшее единицы, в виде типа double можно статическим методом random () ИЗ класса java.lang.Math.

Более серьезные действия со случайными числами можно организовать с помощью методов классаRandom из пакета java.utii. В классе два конструктора:

Random (long seed) — создает генератор псевдослучайных чисел, использующий для начала работы число seed; Random() —выбирает в качестве начального значения текущее время. ;

Создав генератор, можно получать случайные числа соответствующего типа методами nextBoolean(), nextDouble(), nextFloat()(, nextGau.ssian(), next into, nextLong(), nextint(int max) или записать сразу последовательность случайных чисел в заранее определенный массив байтов bytesметодом nextBytes(byte[] bytes).

Вещественные случайные числа равномерно располагаются в диапазоне от 0,0 включительно до 1,0 исключительно. Копирование массивов

В классе System из пакета java.iang есть статический метод копирования массивов, который использует сама исполняющая система Java. Этот метод действует быстро и надежно, его удобно применять в программах. Синтаксис:

static void arraycopy(Object src, int src_ind, Object dest, int dest_ind, int count)

Из массива, на который указывает ссылка src, копируется count элементов, начиная с элемента с индексом src_ind, в массив, на который указывает ссылка dest, начиная с его элемента с индексомdest_ind.

Все индексы должны быть заданы так, чтобы элементы лежали в массивах, типы массивов должны быть совместимы, а примитивные типы обязаны полностью совпадать. Ссылки на массивы не должны быть равны null.

Ссылки src и dest могут совпадать, при этом для копирования создается промежуточный буфер. Метод можно использовать, например, для сдвига элементов в массиве. После выполнения

int[] arr = {5, 6, 1, 8, 9, 1, 2, 3, 4, 5, -3, -7};

System.arraycopy(arr, 2, arr, 1, arr.length — 2);

получим (5, 7, 8, 9, 1, 2, 3, 4, 5, -3, -7, -7}.

Взаимодействие с системой

Класс System позволяет осуществить и некоторое взаимодействие с системой во время выполнения программы (run time). Но кроме него для этого есть специальный класс Runtime.

Класс Runtime содержит некоторые методы взаимодействия с JVM во время выполнения программы. Каждое приложение может получить только один экземпляр данного класса статическим методомgetRuntime (}. Все вызовы этого метода возвращают ссылку на один и тот же объект.

Метод hait(int status) осуществляет немедленный останов JVM. Он не завершает запущенные процессы нормально и должен использоваться только в аварийных ситуациях.

 

46.



<== предыдущая лекция | следующая лекция ==>
Методы классов Character и Complex. | Классы-коллекции: класс Vector, класс Stack, класс Hashtable.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.813 сек.