Что будет выведено в консоли следующим кодом
Перейти к содержимому

Что будет выведено в консоли следующим кодом

  • автор:

Что будет выведено в консоли следующим кодом

Сколько элементов имеет следующий массив?

int[][][] nums = new int[3][2][3];

Массив имеет 18 элементов.

Что будет выведено на консоль в результате выполнения следующего кода:

int[][] nums = < , , >; System.out.println(nums[3][2]);

Консоль ничего не выведет, так как выполнение программы завершится ошибкой, поскольку массив имеет 3 подмассива, то, чтобы обратиться к самому последнему массиву, необходимо использовать индекс 2. А индекс 3 таким образом окажется вне границ массива.

Дан следующий массив

int[][] nums = , < 3, 4, 5 >, < 6, 7, 8, 9, 10 >>;

Каким образом мы можем обратиться к числу 7 в этом массиве?

  1. nums[7]
  2. nums[2][1]
  3. nums[2, 1]
  4. nums[3]
  5. nums[3, 3]
  6. nums[3][3]

Правильный ответ nums[2][1] .

Что будет выведено на консоль в следующем случае и почему?

public class Program < public static void main(String[] args) < int[][] nums = new int[3][3], < 3, 4, 5 >, < 6, 7, 8>>; System.out.println(nums[2][1]); > >

Программа завершится с ошибкой, поскольку определение массива не корректно. Мы могли мы определить массив следующим образом:

int[][] nums = new int[3][3];
int[][] nums =, < 3, 4, 5 >, < 6, 7, 8>>;

Но не совмещать оба способа.

3. Что будет выведено в консоли в результате выполнения следующего кода (и почему):

1. Конструкторы, их виды (преобразования, умолчания, копирования). Деструктор.

Конструкторы.

Базовая инициализация объекта осуществляется автоматически. Например, забо­титься о поиске того места в памяти, в котором сможет уместиться новый объект, не нужно. Однако иногда бывает необходимо, чтобы на стадии инициализации объекта выполнялись какие-то дополнительные задачи, например, инициализация хранимых объектом данных. Для осуществления подобного применяется функция-конструктор.

Все объекты имеют конструктор по умолчанию, который представляет собой не при­нимающий параметров метод с таким же именем, как у самого класса. Определение класса может также включать несколько методов-конструкторов, принимающих пара­метры и отличных от конструктора по умолчанию. Такие конструкторы позволяют создавать экземпляр объекта различными способами, например, предоставляя началь­ные значения для хранимых в объекте данных.

В языке С# конструкторы вызываются с использованием ключевого слова new. Например, создать экземпляр объекта CupOfCoffee с применением конструктора по умолчанию можно было бы следующим образом:

CupOfCoffee myCup = new CupOfCoffee();

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

CupOfCoffee myCup = new CupOfCoffee(«Blue Mountain»);

Конструкторы, подобно полям, свойствам и методам, могут быть общедоступными или приватными. Код, являющийся внешним по отношению к классу, не может созда­вать экземпляр объекта с помощью приватного конструктора; он должен обязательно использовать общедоступный конструктор. Это позволяет, например, заставить поль­зователей классов применять конструктор не по умолчанию (сделав конструктор по умолчанию приватным).

Некоторые классы не имеют общедоступных конструкторов, что делает невозмож­ным создание их экземпляров внешним кодом (такие классы называются не создаваемыми).

public class MyBaseClass

public MyBaseClass (int i)

public class MyDerivedClass : MyBaseClass

public MyDerivedClass(int k);

public MyDerivedClass(int i, int j);

В такой иерархии экземпляр класса MyDerivedClass может создаваться так:

MyDerivedClass myObj = new MyDerivedClass();

Тогда последовательность происходящих событий будет выглядеть следующим об­разом:

  1. Сначала будет выполняться код конструктора System.Object.Object.
  2. Затем будет выполняться код конструктора MyBaseClass.MyBaseClass.
  3. И, наконец, последним будет выполняться код конструктора MyDerivedClass.MyDerivedClass.

Деструкторы. Деструкторы используются в .NET Framework для выполнения очистки после уда­ления объектов. В целом предоставлять код для метода-деструктора не требуется; это делается автоматически. Однако можно предоставлять специфические инструкции, если необходимо, чтобы перед удалением экземпляра объекта выполнялись какие-ни­будь важные операции.

Когда переменная выходит за рамки области видимости, например, она может быть и не доступной из кода, но при этом все равно по-прежнему существовать где-то в памяти. Только после выполнения исполняющей средой .NET ее операции по сбор­ке мусора экземпляр уничтожается полностью.

Не стоит рассчитывать на освобождение деструктором ресурсов, которые используются эк­земпляром объекта, поскольку это может произойти спустя много времени после того, как объект перестанет быть нужным. Если данные ресурсы являются критичными, это чрева­то появлением проблем.

Что будет выведено на консоль в результате выполнения следующего кода?

d – приоритет выполнения вызова методов выше чем у арифметических операций.

Остальные ответы

1237 (Судя по Console.Write C#, но вообще-то принято указывать ЯП)

Что будет опубликовано в консоли в результате выполнения следующего раунда?

Похожие вопросы

Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Программирование на Java — тест 10

&nbsp(2) если метод, вызывающий testSomeValue , перехватывает IndexOutOfBoundsException , то исключения StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException тоже будут перехватываться &nbsp

&nbsp(3) так как в определении метода указано throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException , любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет &nbsp

&nbsp(4) при объявлении метода testSomeValue необходимо указывать возбуждаемые исключения&nbsp
Номер 2

Есть следующая иерархия наследования: java.lang.Object | +--java.lang.Throwable | +--java.lang.Exception | +--java.lang.RuntimeException | +--java.lang.IndexOutOfBoundsException | +--java.lang.StringIndexOutOfBoundsException | +--java.lang.ArrayIndexOutOfBoundsException В методе testSomеValue могут быть возбуждены исключения StringIndexOutOfBoundsException и ArrayIndexOutOfBoundsException, при этом они не обрабатываются в блокеtry – catch. Какое из перечисленных ниже утверждений будет верным?

&nbsp(1) определение метода testSomеValue должно включать throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException &nbsp

&nbsp(2) если метод, вызывающий testSomeValue , перехватывает StringIndexOutOfBoundsException , то исключение ArrayIndexOutOfBoundsException тоже будет перехватываться &nbsp

&nbsp(3) так как в определении метода указано throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException , любой вызывающий его метод может перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет &nbsp

&nbsp(4) при объявлении метода testSomeValue можно указывать возбуждаемые исключения&nbsp
Номер 3

Есть следующая иерархия наследования: java.lang.Object | +--java.lang.Throwable | +--java.lang.Exception | +--java.lang.RuntimeException | +--java.lang.IndexOutOfBoundsException | +--java.lang.StringIndexOutOfBoundsException | +--java.lang.ArrayIndexOutOfBoundsException В методе testSomеValue могут быть возбуждены исключения StringIndexOutOfBoundsException и ArrayIndexOutOfBoundsException, при этом они не обрабатываются в блокеtry – catch. Какие из перечисленных ниже утверждений будут верными?

&nbsp(1) определение метода testSomеValue может включать throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException &nbsp

&nbsp(2) если метод, вызывающий testSomeValue , перехватывает IndexOutOfBoundsException , то исключение StringIndexOutOfBoundsException тоже будет перехватываться &nbsp

&nbsp(3) так как в определении метода указано throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException , любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет &nbsp

&nbsp(4) при объявлении метода testSomeValue надо обязательно указывать возбуждаемые исключения&nbsp
Упражнение 8: Номер 1

Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример. Exception | +--LengthException | +--TooLongException | +--TooShortException 1 class BaseMeasurer < 2 int measureLength(Dimension d) throws LengthException3 > 4 class DerivedMeasurer extends BaseMeasurer < 5 ___ < 6 >7 > Какие из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно откомпилировался?

&nbsp(1) int measureLength(Dimension d) throws LengthException &nbsp
&nbsp(2) int measureLength(Dimension d) throws Exception &nbsp
&nbsp(3) int measureLength(Dimension d) throws TooLongException &nbsp
&nbsp(4) int measureLength(Dimension d) &nbsp
Номер 2

Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример. Exception | +--LengthException | +--TooLongException | +--TooShortException 1 class BaseMeasurer < 2 int measureLength(Dimension d) throws TooLongException3 > 4 class DerivedMeasurer extends BaseMeasurer < 5 ___ < 6 >7 > Какое из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно откомпилировался?

&nbsp(1) int measureLength(Dimension d) throws LengthException &nbsp
&nbsp(2) int measureLength(Dimension d) throws Exception &nbsp
&nbsp(3) int measureLength(Dimension d) throws TooLongException &nbsp
&nbsp(4) int measureLength(Dimension d) throws TooShortException &nbsp
Номер 3

Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример. Exception | +--LengthException | +--TooLongException | +--TooShortException 1 class BaseMeasurer < 2 int measureLength(Dimension d) throws TooShortException3 > 4 class DerivedMeasurer extends BaseMeasurer < 5 ___ < 6 >7 > Какое из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно откомпилировался?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *