Автор оригинала: Pankaj Kumar.
Добро пожаловать в основную викторину Java. Java-это объектно-ориентированный язык программирования.
Основная викторина по Java
В этом тесте вы будете протестированы на основные основы Java и концепции OOPS. Также есть несколько фрагментов кода, чтобы проверить ваши базовые навыки программирования на Java.
На некоторые вопросы есть несколько ответов. Вы можете нажать на кнопку ” Раскрыть ответ ” для правильного ответа и объяснения.
Попробуйте и поделитесь им с другими, если вам это нравится.
1. Какой из приведенных ниже способов является допустимым для создания экземпляра массива в java?
A. в моем мире [] = {1, 3, 5}; B. int myArray [] [] = {1,2,3,4}; C. int [] myArray = (5, 4, 3); D. int [] myArray = {“1”, “2”, “3”};
Нажмите, чтобы открыть ответ
Правильный ответ: A int [] myArray = {“1”, “2”, “3”}; недопустимо, поскольку строка не может быть преобразована в int. int [] myArray = (5, 4, 3); недопустимо, поскольку элементы массива должны быть определены в фигурных скобках ({}). int myArray [] [] = {1,2,3,4}; недопустимо, поскольку myArray является двумерным массивом, тогда как в данном случае он определяется как одномерный массив. Компилятор будет жаловаться на несоответствие типов: не удается преобразовать из int в int[].
2. Какое из приведенных ниже ключевых слов зарезервировано в Java?
A. массив B. goto C. null D. int
Нажмите, чтобы открыть ответ
Правильный ответ: B, D goto
и int
являются зарезервированными ключевыми словами в java. массив
и null
не являются ключевыми словами в java.
3. Что произойдет, если мы попытаемся скомпилировать и запустить приведенную ниже программу?
interface Foo{ int x = 10;} public class Test { public static void main(String[] args) { Foo.x = 20; System.out.println(Foo.x); } }
A. Выводит 10 B. Выводит 20 C. Ошибка времени компиляции D. Ошибка времени выполнения, потому что Foo.x является окончательным.
Нажмите, чтобы открыть ответ
Правильный ответ: C По умолчанию любое поле интерфейса является общедоступным, статическим и окончательным. Таким образом, мы не можем изменить is, следовательно, ошибка во время компиляции в операторе Foo.x;
.
4. Каков будет результат приведенной ниже программы?
public class Test { public static void main(String[] args) { char c = 65; System.out.println("c = " + c); } }
A. Ошибка времени компиляции B. Печать” C. Ошибка времени выполнения D. Печать”
Нажмите, чтобы открыть ответ
Правильный ответ: компилятор B Java пытается автоматически преобразовать int в char. Поскольку 65 преобразуется в A, следовательно, вывод будет”. Диапазон значений символов составляет от u0000 до uffff. Таким образом, char;
допустимо, но char;
приведет к ошибке во время компиляции.
5. Что будет выводиться из приведенной ниже программы?
public class Test { public void main(String[] args) { int x = 10*20-20; System.out.println(x); } }
A. Ошибка во время выполнения B. Выводит 180 C. Выводит 0 D. Ошибка во время компиляции.
Нажмите, чтобы открыть ответ
Правильный ответ: ошибка Во время выполнения, потому что основной метод не статичен. Сообщение об ошибке будет Основной метод не статичен в тесте класса, пожалуйста, определите основной метод как: public static void main(String[] args)
6. Каковы допустимые операторы для статического ключевого слова в Java?
A. У нас может быть статический блок в классе. B. Статический блок в классе выполняется каждый раз, когда создается объект класса. C. У нас могут быть реализации статических методов в интерфейсе. D. Мы можем определить статический блок внутри метода.
Нажмите, чтобы открыть ответ
Правильные ответы: A, C У нас может быть статический блок в классе, он выполняется только один раз при загрузке класса. Начиная с java 8 и далее, у нас могут быть реализации статических методов в интерфейсах.
7. Выберите все основные концепции OOPS.
A. Абстракция B. Наследование С. Интерфейс D. Полиморфизм E. Дженерики
Нажмите, чтобы открыть ответ
Правильные ответы: A, B, D Основными понятиями OOPS являются;
- Абстракция
- Инкапсуляция
- Полиморфизм
- Наследование
- Композиция
- Ассоциация
- Агрегация
Подробнее читайте в разделе Концепции OOPS
8. Какие из следующих утверждений верны для наследования в Java?
A. Ключевое слово “расширить” используется для расширения класса в java. B. Вы можете расширить несколько классов в java. C. Частные члены суперкласса доступны для подкласса. D. Мы не можем расширить конечные классы в java.
Нажмите, чтобы открыть ответ
Правильный ответ: D Наследование-одна из основных концепций Java. Вы должны быть знакомы с этим. Пожалуйста, прочитайте следующие статьи, чтобы узнать больше о вариантах ответов – Наследование в Java , Множественное наследование в Java .
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"); } }
A. Ошибка времени компиляции B. Супер C. Подкласс D. Ошибка времени выполнения
Нажмите, чтобы открыть ответ
Правильный ответ: Метод Подкласса foo() не может быть статическим, это приведет к ошибке во время компиляции Этот статический метод не может скрыть метод экземпляра от Super
.
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"); } }
A. Ошибка времени компиляции в строке 6 B. Ошибка времени компиляции в строке 8 C. Ошибка времени компиляции как в строке 6, так и в строке 8 D. Работает нормально и печатает “Подкласс” два раза.
Нажмите, чтобы открыть ответ
Правильный ответ: B Ошибка во время компиляции в строке 8, потому что метод Super class foo() является частным. Сообщение об ошибке Метод foo() из типа Super не виден
.
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()); } } }
A. Ошибка во время компиляции B. Выводит “Привет” C. Ошибка во время выполнения
Нажмите, чтобы открыть ответ
Правильный ответ: Ошибка Во время компиляции, поскольку Исключение IOException уже поймано альтернативным исключением
.
12. Каков будет результат приведенной ниже программы?
public class Test { public static void main(String[] args) { String x = "abc"; String y = "abc"; x.concat(y); System.out.print(x); } }
A. abc B. abc C. ноль
Нажмите, чтобы открыть ответ
Правильный ответ: B x.concat(y);
создаст новую строку, но она не назначена x, поэтому значение x не изменяется.
13. Какие из приведенных ниже исключений являются непроверенными в java?
A. Исключение RuntimeException B. Исключение ClassCastException C. Исключение NullPointerException D. Исключение IOException
Нажмите, чтобы открыть ответ
Правильный ответ: Исключение A, B, C RuntimeException и его подклассы являются непроверенными исключениями. Непроверенные исключения не нужно объявлять в предложении метода или конструктора throws.
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"); } } }
A. Ошибка во время компиляции B. Привет C. Привет, Мир D. Привет, Привет, Мир
Нажмите, чтобы открыть ответ
Правильный ответ: ошибка Во время компиляции Недостижимый блок перехвата для исключения IOException. Он уже обработан блоком catch для исключения
.
15. Какие из следующих утверждений верны для java?
A. JVM отвечает за преобразование байтового кода в машинный код. B. Нам нужен JRE только для запуска программ java. C. JDK необходим для компиляции программ java. D. JRE не содержит JVM
Нажмите, чтобы открыть ответ
Правильный ответ: A, B, C Для полного объяснения прочитайте JDK, JRE и JVM .
16. Можем ли мы иметь два основных метода в классе java?
А. Да Б. Нет
Нажмите, чтобы открыть ответ
Правильный ответ: A Это был сложный вопрос. У нас может быть несколько методов, имеющих имя “main” в java, с помощью перегрузки методов.
17. Какие из следующих утверждений верны в отношении аннотаций в java?
A. ключевое слово @interface используется для создания пользовательской аннотации B. @Override-это встроенная аннотация в java C. Аннотации не могут быть применены к полям в классе. D. @Retention является одной из мета-аннотаций в java. E. Информация об аннотациях Java теряется при компиляции класса.
Нажмите, чтобы открыть ответ
Правильный ответ: A, B, D Для полного объяснения прочитайте Аннотации Java .
18. Какие из следующих утверждений верны относительно перечисления в java?
A. Все перечисления java неявно расширяются java.lang.Перечисление
класс. B. Перечисление Java может реализовывать интерфейсы. С. Мы можем создать экземпляр перечисления, используя новый оператор. D. Перечисления не могут использоваться в операторах switch. E. Константы перечисления неявно статичны и конечны.
Нажмите, чтобы открыть ответ
Правильный ответ: A, B, E Подробнее читайте в Перечисление в Java .
19. Какие из перечисленных ниже встроенных загрузчиков классов в java?
A. Загрузчик классов начальной загрузки B. Загрузчик классов расширений C. Загрузчик классов во время выполнения D. Загрузчик системных Классов
Нажмите, чтобы открыть ответ
Правильный ответ: A, B, D Подробнее читайте в Загрузчики классов в 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. “Вызывается тестовая строка” B. Ошибка во время компиляции C. “Тест@7fh2bd8” (Вызывается метод toString() класса объектов)
Нажмите, чтобы открыть ответ
Правильный ответ: B Мы получим ошибку во время компиляции, потому что мы не можем переопределить метод класса объектов ключевым словом static. Класс объекта имеет метод 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 является:истинным B. ложным C. s1 является:ложным D. истинным
Нажмите, чтобы открыть ответ
Правильный ответ: B Вывод данных операторов будет “ложным”, потому что в java + приоритет оператора больше, чем. Таким образом, данное выражение будет оценено как “s1 is:abc”, т. е. ложно.
Вывод
Надеюсь, вам понравилась Основная Java-викторина. Если вы думаете, что я пропустил некоторые важные области, дайте мне знать, и я добавлю сюда еще несколько сложных вопросов викторины. Следующий тест : Java String Quiz