- •Лекция 1 Динамическая память и интеллектуальные указатели.
- •Лекция 2
- •Лекция 3
- •Исчерпание памяти
- •Лекция 4 Smart-pointer для обработки исключений
- •Создание собственного кода удаления
- •Класс unique_ptr
- •Класс weak_ptr
- •Использование динамических массивов
- •Смарт поинтеры и динамические массивы
- •Класс allocator
- •Тема 2. Обработка исключительных ситуаций
- •Лекция 7
- •Класс Exception
- •Лекция 8
- •Потоки, буферы и файл iostream
- •Перегруженная операция вставки
- •Лекция 9
- •Ввод с помощью cin
- •Тема 4. Файловый ввод/вывод
- •Лекция 10
- •Режимы открытия файла
- •Бинарные файлы
- •Лекция 11
- •Тема 5. Библиотека шаблонов Standart Template Library (stl)
- •Шаблонный класс Vector
- •Лекция 12
- •Цикл for , основанный на диапазоне
- •Обобщённое программирование
- •Лекция 13
- •Виды итераторов
- •Входные итераторы
- •Однонаправленные итераторы
- •Двунаправленные итераторы
- •Произвольного доступа
- •Лекция 14 Двунаправленные итераторы
- •Виды контейнеров
- •Лекция 15 Разработка с использованием Java-платформы
- •Этапы развития языка Java
- •Байт-код
- •Особенности языка Java
- •Программная платформа и виртуальная машина Java
- •Особенности разработки и исполнения объектно-ориентированных приложений на Java Сборка мусора в Java
- •Пакет jdk
- •Ide для работы на Java
- •Особенности настройки работы платформы Java
- •Запуск приложения на языке Java без ide
- •Особенности лексики Java
- •Примитивные типы данных Java
- •Переменные
- •Объявление переменной
- •Область и срок действия переменной
- •Преобразование и приведение типов. Автоматическое приведение и продвижение типов в выражениях. Логические выражения. Арифметические операции
- •Логические операции
- •Предшествование операций
- •Управляющие операторы
- •Операторы выбора Условный оператор if
- •Операторы цикла
- •Разновидность цикла for в стиле for each
- •Применение оператора instanceof
- •Принципы ооп
Особенности лексики Java
Литералы — это явно заданные значения в коде программы — константы определенного типа, которые находятся в коде в момент запуска.
class Test {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
В этом классе “Hello world!” — литерал.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
Все литералы — это примитивные значения (строки, числа, символы, булевы значения). Нельзя создать литерал-объект. Единственный литерал, связанный с объектом — это null.
В соответствии с примитивами, литералы также делятся на разделы:
Числовые:
Целочисленные;
С плавающей точкой;
Строковые;
Символьные;
Логические.
Комментарии не влияют на результирующий бинарный код и используются только для ввода пояснений к программе.
В Java комментарии бывают двух видов:
* строчные
* блочные
Строчные комментарии начинаются с ASCII -символов // и длятся до конца текущей строки. Как правило, они используются для пояснения именно этой строки, например:
int y=1970;
// год рождения
Блочные комментарии располагаются между ASCII -символами /* и */ , могут занимать произвольное количество строк, например:
/*
Этот цикл не может начинаться с нуля
из-за особенностей алгоритма
*/
Часто блочные комментарии оформляют следующим образом (каждая строка начинается с *):
/*
* Описание алгоритма работы
* следующего цикла while
*/
/// Здесь есть все значения ключевых слов
http://strongexperts.narod.ru/ru/articles/archive/java2/2006/apr2006-002/apr2006-002.htm#implements
Ключевые слова – это зарезервированные слова, состоящие из ASCII -символов и выполняющие различные задачи языка. Вот их полный список (48 слов):
abstract (ключевое слово языка программирования Java, которое используется при определении класса, указывая что экземпляр класса нельзя создать непосредственно, но содержимое класса быть встроено в другие классы. Абстрактный класс может иметь абстрактные методы, которые должны быть реализованы какими-либо конкретными подклассами)
double int strictfp (ключевое слово языка программирования Java, используемое для для гарантирования неизменности результатов операций с плавающей точкой на всех платформах. Используется для ограничения вычислений с плавающей точкой, чтобы гарантировать переносимость кода. strictfp используется как модификатор и введено в JDK 1.2)
boolean else interface (ключевое слово языка программирования Java, используемое для определения набора методов и постоянных значений (класса специального вида). Интерфейс в дальнейшем может реализовываться классами, которые определяют этот интерфейс с ключевым словом implements.)
super (ключевое слово языка программирования Java, используемое для доступа к членам класса, наследуемого классом, из которого производится вызов.)
break static while short volatile do extends (ключевое слово языка программирования Java, которое используется для расширения классов. Класс X может "расширять" класс Y с целью добавления функциональности (при помощи добавления полей и методов классу Y или переопределения методов класса Y). В таком случае говорят, что класс X является подклассом класса Y. Один интерфейс "расширяет" другой при помощи добавления методов.)
long switch byte final (ключевое слово языка программирования Java, которое используется для объявления класса с модификатором final означает, что класс нельзя расширить или наследовать. Final-методы не могут переопределяться, final-переменные не могут изменять свое начальное значение.)
native (Ключевое слово языка программирования Java, используемое в объявлении метода для указания на то, что метод реализован не в файле Java, а на другом языке.)
synchronized (Ключевое слово языка программирования Java, которое при применении к методу или блоку кода, гарантирует, что данный код будет выполняться не более чем одним потоком одновременно.)
case finally (ключевое слово языка программирования Java, которое задает блок операций, которые будут выполнены независимо от того, произошла исключительная ситуация или ошибка в блоке, определенном с ключевым словом try, или нет.)
new this catch float package throw char for private goto protected transient (Ключевое слово языка Java, которое определяет, что поле не является частью сериализуемой формы объекта. Когда объект сериализуется, значения его transient полей не включаются в представление сериализации, в то время как значения не transient полей включаются.)
const if public try continue implements (ключевое слово языка программирования Java, которое включается при необходимости в объявление класса, для определения интерфейсов, которые реализует данный класс.)
return throws class void default import (Ключевое слово языка программирования Java, которое определяет классы или целые пакеты, на которые может ссылаться программа, без включения названий пакетов в ссылку.)
instanceof (ключевое слово языка программирования Java, имеющее 2 аргумента и проверяющее, является ли тип 1-го аргумента преобразуемым к типу 2-го аргумента.)
Ключевые слова goto и const зарезервированы, но не используются. Это сделано для того, чтобы компилятор мог правильно отреагировать на их использование в других языках. Напротив, оба булевских литерала true, false и null- литерал null часто считают ключевыми словами (возможно, потому, что многие средства разработки подсвечивают их таким же образом), однако это именно литералы.