Главная страница
Навигация по странице:

  • Какая размерность у boolean Что такое char Почему над ним можно выполнять арифметические операции

  • Какие есть виды приведения типов Что такое явные и неявные приведения, с чем связано их наличие

  • Какие классы-обертки знаешь Byte, Short, Integer, Long, Double, Float, Character, String

  • Расскажи про pool строк и pool примитивов https://topjava.ru/blog/rukovodstvo-po-string-pool-v-java

  • Как добавить String’у в pool строк Разница между String, StringBuilder и StringBuffer

  • Что такое массив и какие на нём есть ограничения Какая максимальная длина массива

  • Какие логические операции знаешь Таблица истинности операторов.

  • Какие есть условные операторы

  • Что такое рекурсия Недостатки и преимущества

  • BigInteger и BigDecimal Для создания больших чисел, и с гарантией точности. Почему 0.1 + 0.8 != 0.9

  • Переведи число X (любое) из десятичной в двоичную, и число Y (любое) из двоичной в десятичную

  • 1. Примитивы. Все примитивные типы и их размеры


    Скачать 44.38 Kb.
    НазваниеВсе примитивные типы и их размеры
    Дата09.01.2023
    Размер44.38 Kb.
    Формат файлаdocx
    Имя файла1. Примитивы.docx
    ТипДокументы
    #878120

    1. Все примитивные типы и их размеры

    Целочисленные - byte, short, int, long – 8 бит, 16 бит, 32 бит, 64 бит

    Вещественные – float, double – 32 и 64 бит

    Булевые – true, false – 8 бит в массиве, 32 бит в остальных случаях

    Строковыей – char – 16 бит


    1. Какая размерность у boolean?

    2. Что такое char? Почему над ним можно выполнять арифметические операции?

    Char – представление символов в виде целочисленного значения. Каждому символу из из таблицы utf-16 соответствует целое число.

    Целые числа можно слагать, вычитать и тд.


    1. Какие есть виды приведения типов? Что такое явные и неявные приведения, с чем связано их наличие?

    Явное и неявное. Явное – с указанием в виде (type). В java некоторые типы данных приводятся к другим автоматически, а некоторые нужно приводить явно.


    1. Какие классы-обертки знаешь?


    Byte, Short, Integer, Long, Double, Float, Character, String


    1. Расскажи про unboxing, autoboxing в обертках

    Значения переводятся из примитивов в обертки и наоборот без явного приведения


    1. Расскажи про pool строк и pool примитивов

    https://topjava.ru/blog/rukovodstvo-po-string-pool-v-java

    Экземпляр класса String хранится в памяти, именуемой куча (heap), но есть некоторые нюансы. Если строка, созданная при помощи конструктора хранится непосредственно в куче, то строка, созданная как строковый литерал, уже хранится в специальном месте кучи — в так называемом пуле строк (string pool). В нем сохраняются исключительно уникальные значения строковых литералов, а не все строки подряд. Процесс помещения строк в пул называется интернирование (от англ. interning).

    Вручную можно интернировать методом intern().
    Если значение переменной не известно на этапе компиляции, то оно добавляется в heap.
    При создании через конструктор, строка добавляется не в pool, а в кучу.

    Intern не рекомендуется. Рекомендуется дедупликация - переприсваивание ссылок на поля значений value


    1. Как добавить String’у в pool строк?

    2. Разница между String, StringBuilder и StringBuffer?

    String – неизменяемая строка.

    StringBuffer — потокобезопасная изменяемая строка.

    StringBuilder – изменяемая строка с высокой производительностью, но без синхронизации.


    1. Что такое массив и какие на нём есть ограничения?

    2. Какая максимальная длина массива?

    Максимальное количество вложенных массивов – 255

    Макс кол элементов – положительная половина int-а


    1. Что такое метод, возвращаемое значение, аргументы метода?



    1. Какие логические операции знаешь? Таблица истинности операторов.

    & - Логическое AND (И)

    && Сокращённое AND

    | Логическое OR (ИЛИ)

    || Сокращённое OR

    ^ Логическое XOR (исключающее OR (ИЛИ))

    ! Логическое унарное NOT (НЕ)

    &= AND с присваиванием

    |= OR с присваиванием

    ^= XOR с присваиванием

    == Равно

    != Не равно

    ?: Тернарный (троичный) условный оператор


    1. Какие есть условные операторы?

    Условные операторы - if-else, switch-case, тернарный оператор


    1. Какие есть циклы в Java? Чем отличаются друг от друга?

    For I и for each. В for each увеличение только на единицу.

    1. Что такое continue и break?

    Пропуск хода, выход из цикла

    1. Что такое рекурсия? Недостатки и преимущества?

    Недостаток - скорость работы рекурсивного кода.

    N.B. Другой недостаток - требования к размеру стека
    Преимущество - некоторые алгоритмы многократно проще, короче и понятнее записать в рекурсивном виде, чем через циклы.
    P.S. Любой циклический алгоритм можно записать в рекурсивном виде, а любой рекурсивный алгоритм можно записать с помощью комбинации цикла и стека.

    Использование методом самого себя. 2 обязательных атрибута рекурсии – стоп-фактор и уменьшение входного параметра на значение.


    1. BigInteger и BigDecimal

    Для создания больших чисел, и с гарантией точности.

    1. Почему 0.1 + 0.8 != 0.9 ?

    Операции проводятся в двоичном виде, поэтому имеют место погрешности

    1. Пул примитивов

    В Java есть пул(pool) целых чисел в промежутке [-128;127]

    При new – создается новый объект, который не включается в pool;


    1. Переведи число X (любое) из десятичной в двоичную, и число Y (любое) из двоичной в десятичную



    написать администратору сайта