Что будет выведено в консоли следующим кодом
Сколько элементов имеет следующий массив?
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 в этом массиве?
- nums[7]
- nums[2][1]
- nums[2, 1]
- nums[3]
- nums[3, 3]
- 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();
Тогда последовательность происходящих событий будет выглядеть следующим образом:
- Сначала будет выполняться код конструктора System.Object.Object.
- Затем будет выполняться код конструктора MyBaseClass.MyBaseClass.
- И, наконец, последним будет выполняться код конструктора MyDerivedClass.MyDerivedClass.
Деструкторы. Деструкторы используются в .NET Framework для выполнения очистки после удаления объектов. В целом предоставлять код для метода-деструктора не требуется; это делается автоматически. Однако можно предоставлять специфические инструкции, если необходимо, чтобы перед удалением экземпляра объекта выполнялись какие-нибудь важные операции.
Когда переменная выходит за рамки области видимости, например, она может быть и не доступной из кода, но при этом все равно по-прежнему существовать где-то в памяти. Только после выполнения исполняющей средой .NET ее операции по сборке мусора экземпляр уничтожается полностью.
Не стоит рассчитывать на освобождение деструктором ресурсов, которые используются экземпляром объекта, поскольку это может произойти спустя много времени после того, как объект перестанет быть нужным. Если данные ресурсы являются критичными, это чревато появлением проблем.
Что будет выведено на консоль в результате выполнения следующего кода?
d – приоритет выполнения вызова методов выше чем у арифметических операций.
Остальные ответы
1237 (Судя по Console.Write C#, но вообще-то принято указывать ЯП)
Что будет опубликовано в консоли в результате выполнения следующего раунда?
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Программирование на Java — тест 10
 (2) если метод, вызывающий testSomeValue , перехватывает IndexOutOfBoundsException , то исключения StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException тоже будут перехватываться  
 (3) так как в определении метода указано throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException , любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет  
 (4) при объявлении метода testSomeValue необходимо указывать возбуждаемые исключения 
Номер 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
. Какое из перечисленных ниже утверждений будет верным?
 (1) определение метода testSomеValue должно включать throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException  
 (2) если метод, вызывающий testSomeValue , перехватывает StringIndexOutOfBoundsException , то исключение ArrayIndexOutOfBoundsException тоже будет перехватываться  
 (3) так как в определении метода указано throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException , любой вызывающий его метод может перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет  
 (4) при объявлении метода testSomeValue можно указывать возбуждаемые исключения 
Номер 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
. Какие из перечисленных ниже утверждений будут верными?
 (1) определение метода testSomеValue может включать throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException  
 (2) если метод, вызывающий testSomeValue , перехватывает IndexOutOfBoundsException , то исключение StringIndexOutOfBoundsException тоже будет перехватываться  
 (3) так как в определении метода указано throws StringIndexOutOfBoundsException , ArrayIndexOutOfBoundsException , любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет  
 (4) при объявлении метода testSomeValue надо обязательно указывать возбуждаемые исключения 
Упражнение 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 вместо знаков подчеркивания, чтобы код успешно откомпилировался?
 (1) int measureLength(Dimension d) throws LengthException  
 (2) int measureLength(Dimension d) throws Exception  
 (3) int measureLength(Dimension d) throws TooLongException  
 (4) int measureLength(Dimension d)  
Номер 2
Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример.Exception | +--LengthException | +--TooLongException | +--TooShortException 1 class BaseMeasurer < 2 int measureLength(Dimension d) throws TooLongException3 > 4 class DerivedMeasurer extends BaseMeasurer < 5 ___ < 6 >7 > Какое из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно откомпилировался?
 (1) int measureLength(Dimension d) throws LengthException  
 (2) int measureLength(Dimension d) throws Exception  
 (3) int measureLength(Dimension d) throws TooLongException  
 (4) int measureLength(Dimension d) throws TooShortException  
Номер 3
Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример.Exception | +--LengthException | +--TooLongException | +--TooShortException 1 class BaseMeasurer < 2 int measureLength(Dimension d) throws TooShortException3 > 4 class DerivedMeasurer extends BaseMeasurer < 5 ___ < 6 >7 > Какое из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно откомпилировался?