- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке java
- •Иркутск
- •Содержание
- •Предисловие
- •Алфавит языка
- •Ключевые слова
- •Типы данных
- •Литералы (константы)
- •Комментарии
- •Переменные
- •Математические функции
- •Выражения
- •Выражения целого типа
- •Примеры записи выражений целого типа:
- •Примеры вычислений выражений целого типа:
- •Выражения действительного типа
- •Примеры записи выражений действительного типа
- •Примеры вычислений выражений действительного типа:
- •Выражения логического типа
- •Операторы присваивания
- •Variable имяПеременной might not have been initialized
- •Примеры записи операторов присваивания:
- •Ввод и вывод данных
- •Ввод и вывод с помощью диалоговых окон
- •Import javax.Swing.*;
- •Консольный вывод
- •Консольный ввод с помощью класса Scanner
- •Import java.Util.*; //импорт пакета
- •Структура программы
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Import javax.Swing.*;
- •Int c, y1, y2, kl, day, month, year;
- •Часто встречающиеся ошибки программирования:
- •Import javax.Swing.*;
- •Переключатель
- •Int month;
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Программа
- •Программа
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Программа
- •Int month;
- •Циклы с параметром
- •Действия цикла:
- •Операторы прерывания break, continue, return, System.Exit
- •Структуры данных
- •Массивы
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, m, matrMin, matrMax;
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, vectorMin, vectorMax, temp;
- •VectorMin, vectorMax, n);
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, vectorMin, vectorMax, temp;
- •VectorMin, vectorMax, n);
- •Методы для работы с массивами
- •Класс String
- •Методы для работы со строками класса String
- •Класс StringBuffer
- •Методы для работы со строками класса StringBuffer
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Обработка исключительных ситуаций
- •If (переменная name вышла за диапазон)
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Import java.Io.*;
- •Import javax.Swing.*;
Variable имяПеременной might not have been initialized
(Переменная имяПеременной, возможно, не была инициализирована)
Примеры записи операторов присваивания:
1.
int a=1;
int b=2;
int c=3;
double x=2.0;
a+= ++a / b++ % (int)(c-= Math.ceil(Math.sqrt(x))); // a=1 b=3 c=1
b+= (a | c++) - ++a % (int) Math.floor(Math.sqrt(x));//a=2 b=4 c=2
c|= --b % a--; // a=1 b=3 c=2
2.
int a=3;
int b=2;
int c=1; // a=2 b=3 c=4
b|= ++a / (c+= b++); // a=3 b=3 c=7
a%= --a - ++b; // a=1 b=4 c=7
3.
int a=0;
int b=0;
int c=0;
c+= b++; // a=0 b=1 c=0
b+= ++c % ('A' / '1' + 'A' % '1' % 5); // a=0 b=2 c=1
a-= ++b - c++; // a=-2 b=3 c=2
Ввод и вывод данных
Программы на алгоритмических языках обычно составляются таким образом, чтобы они могли быть использованы при различных наборах входных данных. При этом входные данные не задаются в программе при инициализации переменных, именованными константами или операторами присваивания, а помещаются отдельно от программы, например, в виде файла на внешнем носителе или входного потока с клавиатуры. В самой же программе предусматривается возможность ввода требуемых значений с устройств ввода (клавиатуры, магнитного диска) в оперативную память компьютера и вывода результатов вычислений из памяти на внешние носители информации (экран терминала, магнитный диск, принтер).
Под вводомданных понимаются операции передачи данных с внешних устройств ввода в оперативную память компьютера, а подвыводом– из оперативной памяти на внешние устройства хранения информации.
Для того чтобы отвлечься от особенностей конкретных устройств ввода/вывода, в Javaупотребляется понятиепотока(stream). Считается, что в программу идетвходной поток(inputstream) символовUnicodeили просто байтов, воспринимаемый в программе методамиread().Из программы методамиwrite(), print(), println(), printf()выводитсявыходной поток(output stream) символов или байтов. При этом неважно, куда направлен поток: на консоль, на принтер, в файл, базу данных или сеть – методыwrite(), print() ничего об этом не знают.
Эти потоки определены в классе Systemстатическими полямиin,outиerr. Их можно использовать без всяких дополнительных определений. Они называются соответственностандартным вводом, стандартным выводом и стандартным выводом сообщений. Эти стандартные потоки могут быть соединены с разными конкретными устройствами ввода/вывода.
Поток errпредназначен для вывода системных сообщений программы: притрассировке, сообщений об ошибках или в процессе выполнения программы. Как правило, такие сообщения заносятся в специальные журналы, называемыеlog-файлами, а не выводятся на консоль.
Поток in– это экземпляр классаInputStream. Стандартно он назначен на ввод с клавиатуры, который выполняется методамиread().
Поток out– это экземпляр классаPrintStream, организующего выходной поток байтов. Он выводит информацию на консоль (монитор) методамиprint(), println(), printf().
Понятие потока оказалось настолько удобным и облегчающим программирование ввода/вывода, что в Javaпредусмотрена возможность создания потоков, направляющих символы или байты не на внешние устройства, а в массив или из массива, то есть связывающие программу с областью оперативной памяти.
Все методы организации потоков собраны в классы пакета java.io.
Помимо консольноговвода/вывода, вJavaшироко используется ввод/вывод с помощьюдиалоговых окон.