Программирование на Java
Шрифт:
Null-литерал
Null- литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта ссылка никуда не ссылается, объект отсутствует. Разумеется, его можно применять к ссылкам любого объектного типа данных. Типы данных подробно рассматриваются в следующей лекции.
Разделители
Разделители – это специальные символы, которые используются в служебных целях языка. Назначение каждого из них будет рассмотрено по ходу изложения курса. Вот их полный список:
[ ] { } ; . ,
Операторы
Операторы
= > < ! ? :
== <= >= != && || ++ --
+ - / & | ^ % << >> >>>
+= -= = = &= |= ^= %= <<= >>= >>>=
Большинство из них вполне очевидны и хорошо известны из других языков программирования, однако некоторые нюансы в работе с операторами в Java все же присутствуют, поэтому в конце лекции приводятся краткие комментарии к ним.
Пример программы
В заключение для примера приведем простейшую программу (традиционное Hello, world!), а затем классифицируем и подсчитаем используемые лексемы:
public class Demo {
/**
* Основной метод, с которого начинается
* выполнение любой Java программы.
*/
public static void main (String args[])
{
System.out.println("Hello, world!");
}
}
Итак, в приведенной программе есть один комментарий разработчика, 7 идентификаторов, 5 ключевых слов, 1 строковый литерал, 13 разделителей и ни одного оператора. Этот текст можно сохранить в файле Demo.java, скомпилировать и запустить. Результатом работы будет, как очевидно:
Hello, world!
Дополнение. Работа с операторами
Рассмотрим некоторые детали использования операторов в Java. Здесь будут описаны подробности, относящиеся к работе самих операторов. В следующей лекции детально рассматриваются особенности, возникающие при использовании различных типов данных (например, значение операции 1/2 равно 0, а 1/2. равно 0.5 ).
Операторы присваивания и сравнения
Во-первых, конечно же, различаются оператор присваивания = и оператор сравнения ==.
x = 1;
// присваиваем переменной x значение 1
x == 1 // сравниваем значение переменной x с
// единицей
Оператор сравнения всегда возвращает булевское значение true или false. Оператор присваивания возвращает значение правого операнда. Поэтому обычная опечатка в языке С, когда эти операторы путают:
// пример вызовет ошибку
if (x=0) {
// здесь должен применяться оператор
// сравнения ==
...
}
в Java легко устраняется. Поскольку выражение x=0 имеет числовое значение 0, а не булевское (и тем более не воспринимается как всегда истинное), то компилятор сообщает об ошибке (необходимо писать x==0 ).
Условие "не равно" записывается как !=. Например:
if (x!=0) {
float f = 1./x;
}
Сочетание какого-либо оператора с оператором присваивания = (см. нижнюю строку в полном перечне в разделе "Операторы") используется при изменении значения переменной. Например, следующие две строки эквивалентны:
x = x + 1;
x += 1;
Арифметические операции
Наряду с четырьмя обычными арифметическими операциями +, -, *, /, существует оператор получения остатка от деления %, который может быть применен как к целочисленным аргументам, так и к дробным.
Работа с целочисленными аргументами подчиняется простым правилам. Если делится значение a на значение b, то выражение (a/b)*b+(a%b) должно в точности равняться a. Здесь, конечно, оператор деления целых чисел span> всегда возвращает целое число. Например:
9/5 возвращает 1
9/(-5) возвращает -1
(-9)/5 возвращает -1
(-9)/(-5) возвращает 1
Остаток может быть положительным, только если делимое было положительным. Соответственно, остаток может быть отрицательным только в случае отрицательного делимого.
9%5 возвращает 4
9%(-5) возвращает 4
(-9)%5 возвращает -4
(-9)%(-5) возвращает -4
Попытка получить остаток от деления на 0 приводит к ошибке.
Деление с остатком для дробных чисел может быть произведено по двум различным алгоритмам. Один из них повторяет правила для целых чисел, и именно он представлен оператором %. Если в рассмотренном примере деления 9 на 5 перейти к дробным числам, значение остатка во всех вариантах не изменится (оно будет также дробным, конечно).
9.0%5.0 возвращает 4.0
9.0%(-5.0) возвращает 4.0
(-9.0)%5.0 возвращает -4.0
(-9.0)%(-5.0) возвращает -4.0
Однако стандарт IEEE 754 определяет другие правила. Такой способ представлен методом стандартного класса Math.IEEEremainder(double f1, double f2). Результат этого метода – значение, которое равно f1-f2*n, где n – целое число, ближайшее к значению f1/f2, а если два целых числа одинаково близки к этому отношению, то выбирается четное. По этому правилу значение остатка будет другим:
Маленькая женщина Большого
5. Наша
Любовные романы:
эро литература
современные любовные романы
рейтинг книги
Байка о том, как Лиса и Красная Королева о рае мечтали
1. Байки безумца Клауда
Фантастика:
юмористическая фантастика
рейтинг книги
10 вождей. От Ленина до Путина
Документальная литература:
биографии и мемуары
рейтинг книги
Хроники былого и грядущего
Фантастика:
фэнтези
попаданцы
рейтинг книги
Открытая книга
Проза:
классическая проза
рейтинг книги
Танковые сражения. Боевое применение танков во Второй мировой войне. 1939-1945
За линией фронта. Мемуары
Документальная литература:
биографии и мемуары
рейтинг книги
Лэшер
5. Мэйфейрские ведьмы
Фантастика:
ужасы и мистика
рейтинг книги
Реальная угроза
4. Джек Райан
Детективы:
боевики
рейтинг книги
Том 4. Повести и рассказы, статьи 1844-1854
4. Собрание сочинений в двенадцати томах
Проза:
русская классическая проза
рейтинг книги
Тай-Пэн
Приключения:
исторические приключения
рейтинг книги
Театральная Энциклопедия
Справочная литература:
словари
рейтинг книги