Тест на знание Java

1 / 16

Как называется код между фигурными скобками?

Не верно!

Код между фигурными скобками называется блоком.


Не верно!

Код между фигурными скобками называется блоком.


Не верно!

Код между фигурными скобками называется блоком.


Верно!

Код между фигурными скобками называется блоком.


Каково значение arr[1].length в следующем массиве?

 
int[][] arr = { {1, 2, 3, 4, 5}, { 6, 7, 8, 9, 10} };
Верно!

arr[1] обращается ко второй строке двумерного массива, которая содержит 5 элементов.


Не верно!

arr[1] обращается ко второй строке двумерного массива, которая содержит 5 элементов.


Не верно!

arr[1] обращается ко второй строке двумерного массива, которая содержит 5 элементов.


Не верно!

arr[1] обращается ко второй строке двумерного массива, которая содержит 5 элементов.


В чем разница между char и Character?

Верно!

char – это примитивный тип, а Character – класс-оболочка. Класс оболочка – это класс, который служит оболочкой для примитивных типов данных. Так как экземпляры этих классов являются объектами, они имеют ряд полезных методов.


Не верно!

char – это примитивный тип, а Character – класс-оболочка. Класс оболочка – это класс, который служит оболочкой для примитивных типов данных. Так как экземпляры этих классов являются объектами, они имеют ряд полезных методов.


Не верно!

char – это примитивный тип, а Character – класс-оболочка. Класс оболочка – это класс, который служит оболочкой для примитивных типов данных. Так как экземпляры этих классов являются объектами, они имеют ряд полезных методов.


Не верно!

char – это примитивный тип, а Character – класс-оболочка. Класс оболочка – это класс, который служит оболочкой для примитивных типов данных. Так как экземпляры этих классов являются объектами, они имеют ряд полезных методов.


Какие из этих операторов можно использовать для объединения двух или более объектов String?

Верно!

Оператор + используется для объединения строк. Например, выражение «Hello» + « world» равно «Hello world».


Не верно!

Оператор + используется для объединения строк. Например, выражение «Hello» + « world» равно «Hello world».


Не верно!

Оператор + используется для объединения строк. Например, выражение «Hello» + « world» равно «Hello world».


Не верно!

Оператор + используется для объединения строк. Например, выражение «Hello» + « world» равно «Hello world».


От какого класса наследуют все классы Java?

Верно!

Класс Object является суперклассом для всех других классов в Java.


Не верно!

Класс Object является суперклассом для всех других классов в Java.


Не верно!

Класс Object является суперклассом для всех других классов в Java.


Не верно!

Класс Object является суперклассом для всех других классов в Java.


Какой результат выведет следующая программа?

 
public class Main
{
    public static void main(String args[]) 
    {
        float num = 5.0f;
        System.out.println("A is equal to " + num/0.0f);
    }
}
Верно!

В отличие от целых чисел, деление значений с плавающей запятой на ноль никаких исключений не вызывает. Арифметика чисел с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «Infinity» (Бесконечность), когда положительное число делится на ноль.


Не верно!

В отличие от целых чисел, деление значений с плавающей запятой на ноль никаких исключений не вызывает. Арифметика чисел с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «Infinity» (Бесконечность), когда положительное число делится на ноль.


Не верно!

В отличие от целых чисел, деление значений с плавающей запятой на ноль никаких исключений не вызывает. Арифметика чисел с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «Infinity» (Бесконечность), когда положительное число делится на ноль.


Не верно!

В отличие от целых чисел, деление значений с плавающей запятой на ноль никаких исключений не вызывает. Арифметика чисел с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «Infinity» (Бесконечность), когда положительное число делится на ноль.


Какой результат выведет следующая программа?

 
public class Main
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3, 4, 5};
        int arr2[] = {1, 2, 3, 4, 5};
        if (arr1 == arr2)
            System.out.println("Equal");
        else
            System.out.println("Not equal");
    }
}
Верно!

Массивы в Java реализованы как объекты. В приведенной выше программе arr1 и arr2 – это ссылки, указывающие на разные объекты с одинаковым содержимым. Оператор == не сравнивает содержимое объектов, а сравнивает только ссылки.


Не верно!

Массивы в Java реализованы как объекты. В приведенной выше программе arr1 и arr2 – это ссылки, указывающие на разные объекты с одинаковым содержимым. Оператор == не сравнивает содержимое объектов, а сравнивает только ссылки.


Какой результат выведет следующая программа?

 
public class Main 
{ 
    public static void main(String[] args) 
    { 
        System.out.print("Hello");
        while(1)
        {
            System.out.print(" world");
            break;
        }
    } 
}
Не верно!

Возникнет ошибка компиляции, поскольку 1 используется в условии цикла. В отличие от C++, Java не позволяет неявно преобразовывать целочисленные значения в boolean.


Не верно!

Возникнет ошибка компиляции, поскольку 1 используется в условии цикла. В отличие от C++, Java не позволяет неявно преобразовывать целочисленные значения в boolean.


Не верно!

Возникнет ошибка компиляции, поскольку 1 используется в условии цикла. В отличие от C++, Java не позволяет неявно преобразовывать целочисленные значения в boolean.


Верно!

Возникнет ошибка компиляции, поскольку 1 используется в условии цикла. В отличие от C++, Java не позволяет неявно преобразовывать целочисленные значения в boolean.


Какой результат выведет следующая программа?

 
public class Main
{
    public static void main (String[] args) 
    {
        String str1 = "Hello";
        String str2 = "Hello";
        if (str1 == str2)
            System.out.println("Equal");
        else
            System.out.println("Not equal");
    }
}
Не верно!

Поскольку строки неизменяемы в Java, для увеличения эффективности производительности и экономии памяти используется интернирование строк (string interning). Интернирование строк – это метод, при котором сохраняется только одна копия каждого различного строкового значения. Следовательно, обе ссылки (str1 и str2) указывают на одну и ту же ячейку памяти.


Верно!

Поскольку строки неизменяемы в Java, для увеличения эффективности производительности и экономии памяти используется интернирование строк (string interning). Интернирование строк – это метод, при котором сохраняется только одна копия каждого различного строкового значения. Следовательно, обе ссылки (str1 и str2) указывают на одну и ту же ячейку памяти.


Какой результат выведет следующая программа?

 
public class Main
{
    void print(String str)
    {
        System.out.println(str);
    }
    public static void main (String[] args) 
    {
        print("Hello");
    }
}
Не верно!

Вызов нестатических методов из статических функций запрещен, поскольку нестатические методы связаны с экземплярами класса.


Верно!

Вызов нестатических методов из статических функций запрещен, поскольку нестатические методы связаны с экземплярами класса.


Не верно!

Вызов нестатических методов из статических функций запрещен, поскольку нестатические методы связаны с экземплярами класса.


Не верно!

Вызов нестатических методов из статических функций запрещен, поскольку нестатические методы связаны с экземплярами класса.


Какой результат выведет следующая программа?

 
public class Main 
{
    public static void main(String[] args) 
    {
        int num = 0;
        for (int i = 0; i < 100; i++)
            num = num++;
        System.out.println(num);
    }
}
Верно!

Программа выведет 0. В утверждении «num = num++» используется постфиксный оператор инкремента. Поэтому порядок действий следующий: сохранить значение числа во временной переменной, увеличить ее значение на единицу и присвоить переменной num.


Не верно!

Программа выведет 0. В утверждении «num = num++» используется постфиксный оператор инкремента. Поэтому порядок действий следующий: сохранить значение числа во временной переменной, увеличить ее значение на единицу и присвоить переменной num.


Не верно!

Программа выведет 0. В утверждении «num = num++» используется постфиксный оператор инкремента. Поэтому порядок действий следующий: сохранить значение числа во временной переменной, увеличить ее значение на единицу и присвоить переменной num.


Не верно!

Программа выведет 0. В утверждении «num = num++» используется постфиксный оператор инкремента. Поэтому порядок действий следующий: сохранить значение числа во временной переменной, увеличить ее значение на единицу и присвоить переменной num.


Предскажите результат.

 
public class Main
{
    public static void main(String[] arr)
    {
        System.out.println("Main.main(String[] arr) is called");
    }
    public static void main()
    {
        System.out.println("Main.main() is called");
    }
}
Не верно!

Java не запрещает перегрузку функции main. Но имеющая String[] в качестве аргумента функция main всегда служит точкой входа в программу.


Верно!

Java не запрещает перегрузку функции main. Но имеющая String[] в качестве аргумента функция main всегда служит точкой входа в программу.


Не верно!

Java не запрещает перегрузку функции main. Но имеющая String[] в качестве аргумента функция main всегда служит точкой входа в программу.


Не верно!

Java не запрещает перегрузку функции main. Но имеющая String[] в качестве аргумента функция main всегда служит точкой входа в программу.


Какой результат выведет следующая программа?

 
class A 
{
    public void print() 
    {
       System.out.println("A.print() is called");
    }
}
  
class B extends A 
{
    public void print() 
    {
       System.out.println("B.print() is called");
    }
}
  
public class Main 
{
    public static void main(String[] args)
    {
        A var = new B();
        var.print();
    }
}
Верно!

var является ссылкой типа A, которая указывает на объект B. Динамический полиморфизм гарантирует, что вызывается метод объекта производного класса.


Не верно!

var является ссылкой типа A, которая указывает на объект B. Динамический полиморфизм гарантирует, что вызывается метод объекта производного класса.


Не верно!

var является ссылкой типа A, которая указывает на объект B. Динамический полиморфизм гарантирует, что вызывается метод объекта производного класса.


Не верно!

var является ссылкой типа A, которая указывает на объект B. Динамический полиморфизм гарантирует, что вызывается метод объекта производного класса.


Какой результат выведет следующая программа?

 
public class Main 
{
    static boolean foo1()
    {
        System.out.print("foo1()");
        return true;
    }
    static boolean foo2()
    {
        System.out.print("foo2()");
        return false;
    }
    public static void main(String[] args)
    {
        boolean bool;
        bool = foo1()||foo2();
        System.out.print(" ");
        bool = foo1()&&foo2();
        System.out.print(" ");
        bool = foo2()||foo1();
        System.out.print(" ");
        bool = foo2()&&foo1();
    }
}
Не верно!

Java использует короткую схему (short-circuiting) вычисления логических выражений. Это означает, что выражение будет вычисляться только до тех пор, пока истинность или ложность всего выражения не будет однозначно определена. В результате последние части логического выражения могут не вычисляться. Например, при оценке «A && B», если A ложно, тогда всё выражение всегда ложно, вне зависимости от значения B.


Верно!

Java использует короткую схему (short-circuiting) вычисления логических выражений. Это означает, что выражение будет вычисляться только до тех пор, пока истинность или ложность всего выражения не будет однозначно определена. В результате последние части логического выражения могут не вычисляться. Например, при оценке «A && B», если A ложно, тогда всё выражение всегда ложно, вне зависимости от значения B.


Не верно!

Java использует короткую схему (short-circuiting) вычисления логических выражений. Это означает, что выражение будет вычисляться только до тех пор, пока истинность или ложность всего выражения не будет однозначно определена. В результате последние части логического выражения могут не вычисляться. Например, при оценке «A && B», если A ложно, тогда всё выражение всегда ложно, вне зависимости от значения B.


Не верно!

Java использует короткую схему (short-circuiting) вычисления логических выражений. Это означает, что выражение будет вычисляться только до тех пор, пока истинность или ложность всего выражения не будет однозначно определена. В результате последние части логического выражения могут не вычисляться. Например, при оценке «A && B», если A ложно, тогда всё выражение всегда ложно, вне зависимости от значения B.


Какой результат выведет следующая программа?

 
class A 
{
    static public void print() 
    {
       System.out.println("A.print() is called");
    }
}
  
class B extends A 
{
    static public void print() 
    {
       System.out.println("B.print() is called");
    }
}
  
public class Main 
{
    public static void main(String[] args)
    {
        A var = new B();
        var.print();
    }
}
Верно!

Динамический полиморфизм не используется при вызове статических методов.


Не верно!

Динамический полиморфизм не используется при вызове статических методов.


Не верно!

Динамический полиморфизм не используется при вызове статических методов.


Не верно!

Динамический полиморфизм не используется при вызове статических методов.


Какой результат выведет следующая программа?

 
public class Main
{
    public static void main (String[] args) 
    {
        float real = 0.0f/0.0f;
        if (real == real)
            System.out.println("Equal");
        else
            System.out.println("Not equal");
    }
}
Верно!

Переменная real не равна самой себе. Как такое возможно? Арифметика с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «NaN» (от английского “Not a Number” – не число), когда ноль делится на ноль. В спецификации также указано, что NaN не равно никакому значению с плавающей запятой, включая само себя.


Не верно!

Переменная real не равна самой себе. Как такое возможно? Арифметика с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «NaN» (от английского “Not a Number” – не число), когда ноль делится на ноль. В спецификации также указано, что NaN не равно никакому значению с плавающей запятой, включая само себя.


Не верно!

Переменная real не равна самой себе. Как такое возможно? Арифметика с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «NaN» (от английского “Not a Number” – не число), когда ноль делится на ноль. В спецификации также указано, что NaN не равно никакому значению с плавающей запятой, включая само себя.


Не верно!

Переменная real не равна самой себе. Как такое возможно? Арифметика с плавающей запятой реализована в соответствии со стандартом IEEE 754, который требует возвращения специального значения «NaN» (от английского “Not a Number” – не число), когда ноль делится на ноль. В спецификации также указано, что NaN не равно никакому значению с плавающей запятой, включая само себя.


Далее
0 из 16

Поздравляем с прохождением теста! А теперь предлагаем почитать статьи по программированию на Python на нашем сайте PythonTurbo!

Интересно, хочу посмотреть