Содержание

  1. Типы данных
    1. Примитивные типы данных
      1. Целочисленные типы
      2. Символьный тип
      3. Числа с плавающей точкой
      4. Обертки примитивных типов
    2. Ссылочные типы
      1. Массивы
        1. Объявления
        2. Литералы
        3. Как объекты
        4. Ковариантность
        5. Reification
      2. Объекты
        1. Класс String
        2. Метод toString
        3. Класс StringBuilder
  2. Операции
    1. Приоритеты
    2. Ассоциативность
  3. Операторы
    1. Простые
    2. Ветвления
    3. Циклы
    4. Переходы
  4. Структура исходного кода
    1. Заголовок
    2. Классы
    3. Интерфейсы
    4. Поля
    5. Конструкторы
    6. Методы
    7. Инициализаторы

Слайды

HTML

Домашнее задание 6. Разбор выражений

Разбор выражений
  1. Доработайте предыдущее домашнее задание, так что бы выражение строилось по записи вида
                    x * (x - 2)*x + 1
                
  2. В записи выражения могут встречаться: умножение *, деление /, сложение +, вычитание -, унарный минус -, целочисленные константы (в десятичной системе счисления, которые помещаются в 32-битный знаковый целочисленный тип), круглые скобки, переменные (x) и произвольное число пробельных символов в любом месте (но не внутри констант).
  3. Приоритет операторов, начиная с наивысшего
    1. унарный минус;
    2. умножение и деление;
    3. сложение и вычитание.
  4. Разбор выражений рекомендуется производить методом рекурсивного спуска. Алгоритм должен работать за линейное время.

Экзаменационные вопросы

  1. Типы данных
  2. Операции
  3. Операторы
  4. Структура исходного кода

Практические навыки

  1. Реализация программ на Java с применением интерфейсов и абстрактных базовых классов