- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке 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.*;
Примеры записи выражений действительного типа
2.5 + 0.97*b*b
0.2e-4*x – 5.0e-12*y
Примеры вычислений выражений действительного типа:
Math.ceil(Math.log(1.0)) + Math.ceil(Math.exp(0.0))- Math.round(Math.pow(2.0,0)) = 0
Math.floor(Math.pow(Math.pow(1.6,2), Math.pow(2.0,1))) - Math.ceil(Math.pow(1.41,2)) = 4
Math.ceil(Math.sqrt(2.0)) + Math.floor(Math.sqrt('D'-'A')) - (3|4)
= -4
Math.ceil(Math.sqrt(10.0)) - Math.floor(Math.sqrt(3.0)) - 3%5 = 0
Выражения логического типа
В языке Javaиспользуются трилогическиеоперации:
!НЕотрицание, инверсия,
||ИЛИлогическое сложение, дизъюнкция,
&&Илогическое умножение, конъюнкция
и шесть операций сравнения:
== равно,
!= не равно,
>больше,
>= больше или равно,
< меньше,
<= меньше или равно.
Внимание! ОперацияравновJava, как и вСиобозначаетсядвумязнаками равенства:==
Результатами логических операций и операций сравнения могут быть две константы:
true– истина,
false– ложь.
Приоритет выполнения операций:
!НЕ
>, >=, <, <=операции сравнения
==, != операции равенства
&&логическоеИ
||логическоеИЛИ
Операторы присваивания
Операторы присваивания служат для вычисления значений выражений и присваивания вычисленных значений переменным.
Оператор присваивания имеет вид:
x = s;
где x – имя переменной,
s – выражение того же типа,
= - знак присваивания.
Оператор присваивания дает команду компьютеру на вычисление значения выражения справа от знака присваивания и запись вычисленного значения в ячейку памяти, отведенную для хранения переменной, стоящей слева от знака присваивания. При этом прежнее значение переменной аннулируется. Поэтому в программировании можно использовать, например, такие операторы присваивания:
y = y + 5;
Выполняя его, компьютер возьмет старое значение переменной y и увеличит его на 5, после чего полученное новое значение этой переменной снова запишет в отведенную для нее ячейку памяти.
Начинающий программист может сделать ошибку, записав слева от знака присваивания не имя переменной, а константу или выражение:
10.5 = x;
a + b = y + 5.2;
Присваивание в Java может быть организовано несколькими способами:
как оператор присваивания:
a = 5;
как оператор-выражение:
a++;
как операция, встречающаяся в выражении несколько раз, при этом операции присваивания выполняются справа налево:
a = b = c = 5;
как операция, если стоит внутри других операций:
a = (b = 1) + 4;
Сначала переменной b будет присвоено значение 1, а затем к результату, полученному в скобках, будет прибавлено 4. Таким образом, одним оператором присваивания будут присвоены значения сразу двум переменным:
b = 1, a = 5
Операции присваивания, изменяющие старые значения переменных, реализуются в Javaобъединеннымиарифметическими или побитовыми операциями присваивания:
исходный оператор объединенный оператор
a = a + 5; a+=5;
a = a – 3; a-=3;
a = a * 4; a*=4;
a = a / 6; a/=6;
a = a % 2; a%=2;
a = a + b / c; a+=b/c;
a = a & 3; a&=3;
a = a | 2; a|=2;
a = a * b / c; a*=b/c;
a = a * (b + c); a*=b + c;
Эти операции, как и сама операция присваивания, имеют самый низкий приоритет и выполняются в выражениях последнимисправа налево, поэтому, например, замена
a = a / b *c; на a/=b * c;
будет неверна – получаются различные выражения.
В операторах присваивания могут использоваться операции инкремента++ идекремента--. Знаки инкремента и декремента могут стоять в выражениях какпередпеременной (префикснаязапись), так ипосленее (постфикснаязапись). При этом выражения будут вычисляться по-разному:
при префикснойзаписи (знакпередпеременной) сначала изменяется значение этой переменной, а затем выполняются другие операции, и последней – операция присваивания:
a = 4;
b = ++a; // a=5, b=5
c = ++b/2; // b=6, c=3
d = ++a/2; // a=6, d=3
при постфикснойзаписи (знакпослепеременной) сначала вычисляется значение выражения со старыми значениями переменных, выполняется операция присваивания, после чего выполняются операции инкремента или декремента:
a = 4;
b = a++; // b=4, a=5
c = b++/2; // c=2, b=5
d = a++/2; // d=2, a=6
ВJavaприветствуется присваивание начальных значений переменным при их описании –инициализацияпеременных:
int i=5;
float x=3.1415;
char c=’A’;
Инициализировать переменные можно и выражениями, операндами которых являются константы:
int k=117*16;
float x= 3.1415*2.0e-3;
Внимание!Если значения переменных не заданы при их описании, то они автоматическине инициализируются!
В этом случае при компиляции программы будет выведено сообщение об ошибке: