n Начинаются с /**, заканчиваются */
n В строках начальные символы * и пробелы перед ними игнорируются
n Допускают использование HTML-тэгов, кроме заголовков
Специальные тэги
@ see, @ param, @ deprecated
Лексемы
n Идентификаторы
n Служебные слова
class, public, const, goto, и т.д.
n Литералы
n Разделители
{ } [ ] ( ) ; . ,
n Операторы
= > < ! ? : == && ||
Вопрос 14 Типы данных и их классификация. Примитивные типы. 8,9,12 лекция Лексика языка Java
Типы данных
n Ссылочные
n Предназначены для работы с объектами
n Переменные содержат ссылки на объекты
n Ссылка – это не указатель!
n Тип переменной определяет контракт доступа к объекту
n Примитивные (простые)
n Предназначены для работы со значениями естественных, простых типов
n Переменные содержат непосредственно значения
Типы данных
Тип данных определяется следующими характеристиками:
n Множество значений
n для примитивных типов – числа, не выходящие за диапазон типа
n для ссылочных типов – ссылки на объекты, контракт которых включает в себя контракт, определяемый типом ссылки
n Возможные операции со значениями
n для примитивных типов – операторы
n для ссылочных типов – действия, входящие в контракт типа (вызов методов и обращение к полям), и операторы
n Форма хранения и представления
n форма хранения определяется реализацией JVM
n JVM гарантирует одинаковое представление, не зависящее от реализации
Примитивные типы
n Булевский (логический) тип
n boolean – допускает хранение значений true или false
Целочисленные типы
n char – 16-битовый символ Unicode
n byte – 8-битовое целое число со знаком
n short – 16-битовое целое число со знаком
n int – 32-битовое целое число со знаком
n long – 64-битовое целое число со знаком
Вещественные типы
n float – 32-битовое число с плавающей точкой (IEEE 754-1985)
n double – 64-битовое число с плавающей точкой (IEEE 754-1985)
Вопрос 15 Переменные, константы и литералы. 10,13-17 лекция Лексика языка Java
Переменные
n Именованные участки памяти, способные содержать значения определенного типа
n Могут быть объявлены в различных частях кода
n поля объектов
n поля классов (статические поля)
n параметры методов
n локальные переменные методов и блоков инициализации
n Объявление переменной состоит из наименования типа, идентификатора и инициализации
n Область видимости переменной определяется местом ее объявления
n Локальные переменные должны быть инициализированы перед их использованием
Литералы
n Булевы
true false
n Символьные
' a ' '\ n ' '\\' '\377' '\ u 0064'
n Целочисленные
29 035 0x1D 0X1d 0xffffL
l По умолчанию имеют тип int
n Числовые с плавающей запятой
1. .1 1 e 1 1 e -4 D 1 e +5 f
l По умолчанию имеют тип double
n Строковые
" Это строковый литерал " ""
Бинарные литералы (Java 7)
n Префиксы
l 0b
l 0B
n Полезны при работе
с битовыми представлениями чисел, поскольку позволяют лучше видеть:
l саму структуру числа
0 b0000111111110000 // 2040, 0x07f8
l взаимосвязь чисел
0 b 0000111111111111 // 4095, 0 x 0 fff
0 b 1111000000000000 // 61440, 0 xf 000
Подчеркивание в числовых литералах ( Java 7)
n Можно использовать
n В литералах любых числовых типов 765_324_213_434 L
n В литералах в любых системах счисления 0 xFF _00_ FF _00
n В нужных местах числа 1_23_456_7890
n В нужном количестве 6_____6
Подчеркивание в числовых литералах ( Java 7)
n Нельзя использовать
n В начале и в конце числа _123 123_
n Рядом с разделителем целой и дробной части 10_.01 10._01
n Перед суффиксами L , F и D 1_ L 1.1_ F 1.1_ D
n В строковых литералах с числами "6_____6"
Константы
n Констант как особого вида переменных и полей в Java нет
n Если необходима константа в методе, то переменная при объявлении снабжается модификатором final
l Так можно сделать даже с параметром метода
l Это не имеет особого смысла
l Но иногда это явно требуется в многопоточных программах
n Если необходима общедоступная константа, то создаётся поле с модификаторами public static final
l Такие поля и называют константами (условно)
l Их имена записываются заглавными буквами
l Обращение чаще всего происходит через имя класса, например BigInteger . ZERO
Вопрос 16 Арифметические и побитовые операторы примитивных числовых типов. 18-23 лекция Лексика языка Java
Операторы
n Приоритет сверху вниз
n Постфиксные n Унарные n n Создание и приведение n Арифметика n Арифметика n Побитовый сдвиг n Сравнение n Равенство n И (and) n Исключающее ИЛИ (xor) n Включающее ИЛИ (or) n Условное И (and) n Условное ИЛИ (or) n Условный оператор Операторы присваивания | [] . (params) expr++ expr-- ++expr --expr +expr –expr ~ ! new (type)expr * / % + - << >> >>> < > >= <= instanceof == != & ^ | && || ? : = += -= *= /= %= >>= <<= >>>= &= ^= |= |
Дата: 2019-07-30, просмотров: 227.