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

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

  • Разница между String, StringBuilder и StringBuffer

  • Какая максимальная длина массива

  • Почему 0.1 + 0.7 != 0.8

  • При сложении char short какой результирующий тип получим

  • Какие данные мы рискуем потерять при явных приведениях

  • Что такое Autoboxing, unboxing и когда они происходят автоматически

  • Что такое continue и break Расширенная версия

  • Чем отличается метод от функции

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

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

  • Ревью 1 Примитивные типы java. Блок 1 Ответы. Какая размерность у boolean


    Скачать 19.99 Kb.
    НазваниеКакая размерность у boolean
    АнкорРевью 1 Примитивные типы java
    Дата10.08.2022
    Размер19.99 Kb.
    Формат файлаdocx
    Имя файлаБлок 1 Ответы.docx
    ТипДокументы
    #643778


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

    1 бит

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





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

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


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


    В памяти в Java (Heap, о которой мы ещё поговорим) есть область — String pool, или строковый пул. Она предназначена для хранения строковых значений. Другими словами когда вы создаете некую строку

    происходит проверка того, имеет ли строковой пул данное значение. Если имеет, переменной str присваивается ссылка на это значение в пуле. Если же не имеет, создастся новое значение в пуле, и ссылка на него будет присвоена переменной str.

    Нет пулов примитивных типов, потому что не может быть ссылки на примитивный тип



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

    String неизменяемый тип, если вы попытаетесь изменить их значения, будет создан другой объект, тогда как StringBuffer и StringBuilder являются изменчивыми , поэтому они могут изменять свои значения.

    Разница между StringBuffer и StringBuilder заключается в том, что StringBuffer он является потокобезопасным. Поэтому, когда приложение нужно запускать только в одном потоке, лучше использовать StringBuilder. StringBuilder является более эффективным, чем StringBuffer.



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

    Java использует целое число в качестве индекса массива, а максимальное значение целого числа в JVM равно 2^32. таким образом, вы можете хранить в массиве 2 147 483 647 элементов. 



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

    Всё потому, что числа типа double хранятся в памяти необычно. Они состоят из значащего числа – мантисы и степени.



    1. При сложении char short какой результирующий тип получим?

    Результирующим типом будет short.


    1. Отличие сокращенных логических операторов и полных

    В том, что для операторов & и | всегда вычисляются значения обоих операндов, а при работе операторов && и || второй операнд вычисляется только по необходимости.


    1. Максимальная размерность многомерного массива

    255


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

    byte – 8 бит

    short – 16 бит

    int – 32 бит

    long – 64 бит

    float – 32 бита

    double – 64 бит

    char – 16 бит

    boolean – 1 бит


    1. Потери при неявных приведениях

    Потери не могут произойти при неявных приведениях, потому что нет сужающегося типа преобразований.



    1. Какие данные мы рискуем потерять при явных приведениях?

    При явных приведениях сужающихся можно потерять первые байты числа, которое сужаем к другому типу.



    1. Что такое Autoboxing, unboxing и когда они происходят автоматически?

    Преобразования примитивных типов в эквивалентные объекты, реализована автоматически. Это свойство известно как Автоупаковка(Autoboxing).

    Autoboxing происходит:

    При присвоении значения примитивного типа переменной соответствующего класса-обёртки.

    При передаче примитивного типа в параметр метода, ожидающего соответствующий ему класс-обёртку.
    Обратный процесс соответственно – Распаковка(Unboxing) т.е. процесс преобразования объектов в соответствующие им примитивные типы.

    Unboxing происходит:

    При присвоении экземпляра класса-обёртки переменной соответствующего примитивного типа.

    В выражениях, в которых один или оба аргумента являются экземплярами классов-обёрток (кроме операции == и !=).

    При передаче объекта класса-обёртки в метод, ожидающий соответствующий примитивный тип.



    1. Что такое continue и break? Расширенная версия?

    Это операторы перехода. При использовании оператора continue запускается новый круг цикла. При использовании оператора break цикл обрывается. Расширенная версия это форма оператора с меткой, с помощью которого можно завершить не внутренний цикл, а внешний.



    1. Чем отличается метод от функции?

    Функция обычно включает в себя все необходимое для своей работы, а взаимодействие с внешним миром осуществляет через входные и выходные параметры, а также возвращаемое значение (использование глобальных переменных скорее исключение, а чаще просто грубая ошибка). Кроме того, функция является самостоятельной единицей и может быть вызвана в любом месте программы без ограничений (ну почти, необходимость подключения библиотек и т.д. оставим в стороне).

    Метод же для своей работы может использовать поля объекта и/или класса, в котором определен, напрямую, без необходимости передавать их во входных параметрах. Это похоже на использование глобальных переменных в функциях, но в отличие от глобальных переменных, метод может получать прямой доступ только к членам класса. Метод привязан к классу, если он статический, или объекту и может быть вызван только через этот класс или объект.



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

    Массив — это структура данных, в которой хранятся элементы одного типа. Его можно представить, как набор пронумерованных ячеек, в каждую из которых можно поместить какие-то данные (один элемент данных в одну ячейку). Доступ к конкретной ячейке осуществляется через её номер.

    В случае с Java массив однороден, то есть во всех его ячейках будут храниться элементы одного типа.

    Длину массива нельзя изменить после его создания.


    1. Отличия for от for each

    Оператор foreach применим к массивам и классам, реализующим интерфейс java.lang.Iterable.

    На каждой итерации цикла программа извлекает следующий элемент коллекции и сохраняет его в итерационной переменной. Цикл выполняется до тех пор, пока не будут получены все элементы коллекции.


    1. Инкременты, декременты, отличия.

    Инкремент увеличивает переменную на единицу, декремент уменьшает переменную на единицу.



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

    Использование объекта внутри самого себя. Рекурсивные методы в java это методы, которые вызывают сами себя.

    Преимущеста

    Преимущество состоит в том, что вам не нужно сохранять состояние на каждой итерации. JVM делает это для вас в виде стека вызовов. Недостатком рекурсивного является то, что он требует больше ресурсов, а его глубина ограничена JVM.


    1. Циклы

    В java существует 4 цикла: while

    do while

    for

    for each

    1. Условные

    В java существует 3 условных оператора: if else

    Switch

    Тернарный оператор


    1. Неизменяемые типы

    Все типы обёртки, BigInteger, BigDecimal и String.


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