- •Лексика языка Java
- •План лекции
- •Кодировка
- •Исходный код
- •Исходный код
- •Лексемы
- •Идентификаторы
- •Служебные (ключевые) слова
- •Типы данных
- •Ссылочные типы
- •Примитивные типы
- •Литералы
- •Целочисленные литералы
- •Дробные литералы
- •Символьные литералы
- •Символьные литералы
- •Строковые литералы
- •Строковые литералы
- •Описание класса
- •Модификаторы объявления класса
- •Поля класса
- •Поля класса
- •Методы
- •Модификаторы методов
- •Модификаторы методов
- •Особенности методов
- •Особенности методов
- •Создание объектов
- •Конструкторы
- •Конструкторы
- •Конструкторы
- •Конструкторы
- •Деструкторы?
- •Автоматическая сборка мусора
- •Модификаторы доступа
- •Блоки инициализации
- •Блоки инициализации
- •Статическая инициализация
- •Понятие о пакетах
- •Функциональность пакетов
- •Способы реализации и доступ к пакетам
- •Понятие имени
- •Душераздирающий, но корректный код
- •Понятие модуля компиляции
- •Объявление пакета
- •Объявление пакета
- •Выражения импорта
- •Выражения импорта
- •Выражения импорта
- •Выражения импорта
- •Объявление верхнего уровня
- •Объявление верхнего уровня
- •Правила именования
- •Правила именования
- •Точка входа программы
- •Комментарии
- •Комментарии
- •Комментарии
- •Комментарии
- •Комментарии
- •Комментарии документирования (javadoc)
- •Комментарии документирования (javadoc)
- •Комментарии документирования (javadoc)
- •Комментарии документирования (javadoc)
- •Спасибо за внимание!
- •Дополнительные источники
Лексика языка Java
© Составление, Будаев Д.С, Гаврилов А.В., 2013
Лекция 2
УНЦ «Инфоком» Самара
2013
План лекции
Структура исходного кода и его элементы
Типы данных
Описание классов
Общая структура
Поля
Методы
Конструкторы
Блоки инициализации
Точка входа программы
2
Кодировка
Java спроектирована быть многоязыковой
Java ориентирована на Unicode
Первые 128 символов почти идентичны набору ASCII
Символы Unicode задаются двухбайтными последовательностями:
\u0000, \uFFff, \u0410, \u044F
Java чувствителен к регистру!
3
Исходный код
Исходный код разделяется на:
Пробелы – разделяют текст на лексемы
ASCII-символ SP, \u0020, дес. код 32, |
пробел классический |
ASCII-символ HT, \u0009, дес. код 9, |
горизонтальный таб |
ASCII-символ FF, \u000c, дес. код 12, |
перевод страницы |
ASCII-символ LF, \u000a , дес. код 10, |
символ новой строки |
ASCII-символ CR, \u000d, дес. код 13, |
возврат каретки |
Комментарии
Лексемы
4
Исходный код
double a = 1, b = 1, c = 6; double D = b * b - 4 * a * c;
if (D >= 0) {
double x1 = (-b + Math.sqrt (D)) / (2 * a); double x2 = (-b - Math.sqrt (D)) / (2 * a);
}
double a=1,b=1,c=6;double D=b*b-4*a*c;if(D>=0) {double x1=(-b+Math.sqrt(D))/(2*a);double x2=(-b-Math.sqrt(D))/(2*a);}
5
Лексемы
Идентификаторы
Служебные (ключевые) слова class, public, const, goto
Литералы
Разделители
{ } [ ] ( ) ; . ,
Операторы
= > < ! ? : == && ||
6
Идентификаторы
Имена, задаваемые элементам языка для упрощения доступа к ним
Можно записывать символами Unicode
Состоят из букв и цифр, знаков _ и $
Не допускают совпадения со служебными словами, литералами true, false, null
Длина имени не ограничена
7
Служебные (ключевые) слова
|
abstract |
double int |
strictfp |
|
|
||
|
boolean |
else |
interface |
super |
|
||
|
break |
extends |
long |
switch |
|
|
|
|
byte |
final |
native |
synchronized |
|
|
|
|
case |
finally |
new |
this |
|
|
|
|
сatch |
float |
package |
throw |
|
|
|
|
char |
for |
private throws |
|
|
|
|
|
class |
goto |
protected |
transient |
|
||
|
const |
if |
public |
try |
|
|
|
|
continue |
implements |
return |
void |
|
||
|
default import short |
volatile |
|
|
|
||
|
do |
instanceof |
static |
while |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8
Типы данных
Ссылочные
Предназначены для работы с объектами
Переменные содержат ссылки на объекты
Ссылка – это не указатель!
Тип переменной определяет контракт доступа к объекту
Примитивные (простые)
Предназначены для работы со значениями естественных, простых типов
Переменные содержат непосредственно значения
9
Ссылочные типы
К ссылочным типам относятся типы классов (в т.ч. массивов) и интерфейсов
Переменная ссылочного типа способна содержать ссылку на объект, относящийся к этому типу
Ссылочный литерал null
10