Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Java учебник Встроенные типы данных, операции над ними

Таким образом, написанная на Java программа будет работать под большинством операционных систем. Заманчиво, не правда ли? Но за любое преимущество приходится чем-то расплачиваться. В данном случае - тем, что у виртуальной машины очень низкая скорость работы. Программы, написанные, к примеру, на языке C и скомпилированные под определенную платформу, выполняются в 10-20 раз быстрее, чем на Java.

Константы

В языке Java можно записывать константы разных типов в разных видах. Перечислим их.

 

Целые

Целые константы можно записывать в трех системах счисления:

Замечание

Число, начинающееся с нуля, записано в восьмеричной форме, а не в десятичной.

Целые константы хранятся в формате типа int (см. ниже).

В конце целой константы можно записать букву прописную L или строчную l , тогда константа будет сохраняться в длинном формате типа long (см. ниже): +25L, -0371, OxffL, OXDFDF1 .

Совет

Не используйте при записи длинных целых констант строчную латинскую букву l , ее легко спутать с единицей. Сериализация

При работе с файлами (так же, как и с другими потоками ввода и вывода) можно использовать специальную технологию сохранения данных, называемую сериализацией. Главное отличие сериализации заключается в том, что сохраняется в файл не текст, а объект какого-либо класса, например, заполненный данными список типа Choice, массив и прочие. Сериализация заключается в преобразовании объекта в простую последовательность байтов таким образом, чтобы впоследствии он мог быть корректно восстановлен.
При сериализации должны быть учтены следующие моменты. Объект, подлежащий сериализации, должен раскрывать интерфейс Serializable. Этот интерфейс уже раскрыт в базовом классе Object. Поэтому объекты всех классов, которые наследуют от класса Object, могут быть сериализованы. Это значит, что для сериализации этих объектов могут применяться методы writeObject и readObject классов ObjectOutputStream и ObjectInputStream. При создании объектов классов ObjectOutputStream и ObjectInputStream конструкторам передается в качестве параметра объект потока, связанного с файлом или сетевым приложением. Метод writeObject класса ObjectOutputStream принимает в качестве параметра сериализуемый объект. Метод readObject класса ObjectInputStream возвращает значение типа Object, после чего можно восстановить структуру первоначального объекта посредством преобразования к необходимому типу данных.
Пусть, например, в приложении формируется список выбора

Choice sel;

При необходимости можно список сериализовать в файл.

try
{
ObjectOutputStream
fileWrite=new ObjectOutputStream
(new FileOutputStream("myfile"));
fileWrite.writeObject(sel);
System.out.println("Ввод завершен\n");
fileWrite.close();
}
catch(IOException e1)
{
System.out.println("Ошибка ввода или вывода\n");
}

Соответственно, при необходимости можно восстановить состояние списка из файла.
try
{
ObjectInputStream fileRead=
new ObjectInputStream
(new FileInputStream("myfile"));
// удаляем старые данные из списка
sel.removeAll();
// восстанавливаем содержимое из файла
// создаем временный объект для чтения из файла
Choice c=new Choice();
c=(Choice)fileRead.readObject();
// помещаем в элемент управления список данные из
// списка с
for(int i=0; i<c.countItems(); i++)
sel.addItem(c.getItem(i));
System.out.println("Данные заполнены\n");
}
catch (IOException e)
{
System.out.println("Ошибка ввода или вывода\n");
}
catch(ClassNotFoundException e)
{
System.out.println
("Ошибка при преобразовании типа\n");
}

Математический анализ, лекции по физике Компьютерные сети