Поиск по сайту:

Основная викторина по Java


Добро пожаловать в викторину Core Java. Java — это объектно-ориентированный язык программирования.

Основная викторина по Java

В этом тесте вы будете проверены по основам Core Java и концепциям OOPS. Также есть несколько фрагментов кода, чтобы проверить ваши базовые навыки программирования на Java.

Некоторые вопросы имеют несколько ответов. Вы можете нажать на кнопку «Показать ответ», чтобы увидеть правильный ответ и объяснение.

Попробуйте и поделитесь с другими, если вам это нравится.

1. Что из нижеперечисленного является допустимым способом создания массива в java?

A. intmyArray []={1, 3, 5};

Правильный ответ: А

int [] myArray={\1, \2, \3}; недопустимо, так как String нельзя преобразовать в int.

int [] myArray=(5, 4, 3); недействителен, так как элементы массива должны быть определены в фигурных скобках ({}).

int myArray [] []={1,2,3,4}; недействителен, потому что myArray — это двумерный массив, тогда как в данном случае он определяется как одномерный массив. Компилятор сообщит о несоответствии типов: невозможно преобразовать из int в int[].

2. Какие из приведенных ниже зарезервированных ключевых слов в Java?

А. массив

**Правильный ответ: Б, Г

3. Что произойдет, если мы попытаемся скомпилировать и запустить приведенную ниже программу?

interface Foo{ int x = 10;}

public class Test { 
    public static void main(String[] args) { 
        Foo.x = 20; 
        System.out.println(Foo.x); 
    }
}

А. Распечатывает 10

**Правильный ответ: С

4. Что выведет приведенная ниже программа?

public class Test {
	public static void main(String[] args) {
		char c = 65;
		System.out.println("c = " + c);
	}
}

А. Ошибка времени компиляции

**Правильный ответ: Б

5. Что выведет нижеприведенная программа?

public class Test { 
    public void main(String[] args) {
        int x = 10*20-20; 
        System.out.println(x); 
    }
}

А. Ошибка выполнения

Правильный ответ: А

Ошибка выполнения, поскольку основной метод не является статическим. Сообщение об ошибке будет следующим: Основной метод не является статическим в классе Test, определите основной метод следующим образом: public static void main(String[] args)

6. Каковы допустимые операторы для ключевого слова static в Java?

О. В классе может быть статический блок.

**Правильные ответы: А, С

7. Выберите все основные концепции ООП.

А. Абстракция

Правильные ответы: А, Б, Д

Основные концепции ООП:

  1. Абстракция
  2. Инкапсуляция
  3. Полиморфизм
  4. Наследование
  5. Композиция
  6. Ассоциация
  7. Агрегация

Подробнее читайте в OOPS Concepts

8. Какие из следующих утверждений верны для наследования в Java?

A. Ключевое слово \extend используется для расширения класса в java.

**Правильный ответ: D

9. Что будет на выходе нижеприведенной программы?

package com.journaldev.java;

public class Test {
	public static void main(String[] args) {
		Super s = new Subclass();
		s.foo();
	}
}

class Super {
	void foo() {
		System.out.println("Super");
	}
}

class Subclass extends Super {
	static void foo() {
		System.out.println("Subclass");
	}
}

А. Ошибка времени компиляции

**Правильный ответ: А

10. Что будет на выходе нижеприведенной программы?

package com.journaldev.java;

public class Test {
	public static void main(String[] args) {
		Subclass s1 = new Subclass();
		s1.foo(); // line 6
		Super s = new Subclass();
		s.foo(); // line 8
	}
}

class Super {
	private void foo() {
		System.out.println("Super");
	}
}

class Subclass extends Super {
	public void foo() {
		System.out.println("Subclass");
	}
}

А. Ошибка времени компиляции в строке 6

**Правильный ответ: Б

11. Что выведет приведенная ниже программа?

import java.io.IOException;

public class Test {
	public static void main(String[] args) {
		try {
			throw new IOException("Hello");
		} catch (IOException | Exception e) {
			System.out.println(e.getMessage());
		}
	}
}

А. Ошибка времени компиляции

Правильный ответ: А

Ошибка времени компиляции, поскольку исключение IOException уже перехвачено альтернативным исключением.

12. Что выведет приведенная ниже программа?

public class Test {
	public static void main(String[] args) {
		String x = "abc";
		String y = "abc";
		x.concat(y);
		System.out.print(x);
	}
}

А. abcabc

**Правильный ответ: Б

13. Какие из нижеперечисленных исключений в java являются непроверенными?

А. Исключение среды выполнения

**Правильный ответ: A, B, C

14. Что выведет приведенная ниже программа?

package com.journaldev.java;

import java.io.IOException;

public class Test {
	public static void main(String[] args) {
		try {
			throw new Exception("Hello ");
		} catch (Exception e) {
			System.out.print(e.getMessage());
		} catch (IOException e) {
			System.out.print(e.getMessage());
		} finally {
			System.out.println("World");
		}
	}
}

А. Ошибка времени компиляции

**Правильный ответ: А

15. Какие из следующих утверждений верны для Java?

О. JVM отвечает за преобразование байтового кода в машинный код.

Правильный ответ: А, В, С

Для полного объяснения прочитайте JDK, JRE и JVM.

16. Можем ли мы иметь два основных метода в классе Java?

А. Да

Правильный ответ: А

Это был сложный вопрос. У нас может быть несколько методов с именем «main» в java через перегрузку метода.

17. Какие из следующих утверждений об аннотациях в Java верны?

A. Ключевое слово @interface используется для создания пользовательской аннотации

**Правильный ответ: A, B, D

18. Какие из следующих утверждений о Enum в Java верны?

A. Все перечисления java неявно расширяют класс java.lang.Enum.

**Правильный ответ: A, B, E

19. Что из нижеперечисленного является встроенным в Java загрузчиком классов?

А. Загрузчик классов Bootstrap

Правильный ответ: А, Б, Д

Подробнее читайте в Classloaders в Java.

20. Что выведет приведенная ниже программа?

package com.journaldev.util;

public class Test {
	public static String toString() {
		System.out.println("Test toString called");
		return "";
	}

	public static void main(String args[]) {
		System.out.println(toString());
	}
}

A. \Вызван тест toString

Правильный ответ: Б

Мы получим ошибку времени компиляции, потому что мы не можем переопределить метод класса Object с помощью статического ключевого слова. Класс Object имеет метод toString(). Вы получите ошибку времени компиляции: «Этот статический метод не может скрыть метод экземпляра от объекта».

21. Что выведет приведенная ниже программа?

public class Test {
	public static void main(String[] args) {
		String s1 = "abc";
		String s2 = "abc";
		System.out.println("s1 == s2 is:" + s1 == s2);
	}
}

A. s1 == s2 равно:true

Правильный ответ: Б

Вывод данных операторов будет «ложным», потому что в java + приоритет оператора больше, чем оператор ==. Таким образом, данное выражение будет оценено как «s1 == s2 is:abc» == \»abc», т.е. false.

Заключение

Надеюсь, вам понравилась викторина Core Java. Если вы считаете, что я упустил некоторые важные области, дайте мне знать, и я добавлю сюда еще несколько сложных вопросов викторины.

Следующая викторина: Викторина по строкам Java