Результаты прохождения теста Java основы пользователем glazko1

Результат прохождения теста "Java основы" - Пройден

+108

  • Кто проходил: glazko1
  • Дата прохождения: 12.03.2019
Какие из приведенных выражений будут истинными при выполнении кода:
String a = new String("hello"); 
String b = new String(a); 
String c = a; 
char[] d = { 'h', 'e', 'l', 'l', 'o' }; 
Ваши ответы
(a == c)
a.equals(b)
Выберите из приведенных единственный верный вариант вывода приложения при запуске его командой "java Test 1 two 3".
public class Test { 
   static public void main(String[] args) { 
       try { 
           int k = Integer.parseInt(args[1]); 
           System.out.println(args[k]); 
       } 
       catch (Exception e) { 
           System.out.println(e); 
       } 
   } 
} 
Ваши ответы
Будет выведено NumberFormatException
Можно ли наследоваться от класса java.lang.String?
Ваши ответы
Нет
Объяснение:

Нет, так как класс String объявлен как final.

Какой будет результат компиляции и выполнения следующего кода?
public class Test { 
   public static void main(String[] args) { 
       for (final int i : new int[] { 1, 2, 3 }) { 
           System.out.println(i + 1); 
       } 
   } 
} 
Ваши ответы
2
3
4
Объяснение:

Этот цикл for разворачивается компилятором в примерно такую конструкцию:

Что произойдет в результате выполнения следующего кода?
class A {} 
class B extends A {} 
 
public class Test {  
   static public  void main(String args[]) { 
       B b = new B(); 
       A a = b; 
       if (a.hashCode() == b.hashCode()) 
           System.out.print("Passed"); 
   } 
} 
Ваши ответы
В консоль выведется строка "Passed"
Объяснение:

Ссылки a и b указывают на один и тот же объект, поэтому в консоль выведется строка "Passed". Экземпляру класса A можно присвоить экземпляр класса B в силу полиморфизма.

Какие из следующих фрагментов кода являются правильным кодом Java?
Ваши ответы
Integer int1 = new Integer (41); 
int1 -= 33; 
String A = "Test2"; 
A += "55"; 
Объяснение:

В отличие от C/C++, в Java в качестве операторов может использоваться ограниченное количество арифметических выражений: присваивание, инкремент/декремент (++/--), вызов метода, создание объекта. Всё остальное недопустимо.
Например, "Math.abs(1);" - корректно, а "Math.abs(1) + Math.abs(2);" - уже ошибка.

Что произойдет при попытке запустить/откомпилировать следующий программный код?
1.import static java.lang.System.*; 
2.public class A { 
3.    public static void main(String[] args){ 
4.        B b1 = new B("one","two"); 
5.        B b2 = new B("one", "two"); 
6.        B b3 = b1; 
7.        out.println(b1 == b2); 
8.        out.println(b1 == b3); 
9.        out.println(b2 == b3); 
10.       out.println(b1.equals(b2)); 
11.       out.println(b1.equals(b3)); 
12.       out.println(b3.equals(b2)); 
13.  } 
14.} 
 
1.class B { 
2.    public B(String prop1, String prop2){ 
3.        this.prop1 = prop1; 
4.        this.prop2 = prop2; 
5.    } 
6.    private String prop1 = null; 
7.    private String prop2 = null; 
8.} 
Ваши ответы
false
true
false
false
true
false
Объяснение:

Оператор == проверяет, находятся ли объекты в одной и той же области памяти. Тогда, логично, что строки 7 и 9 возвращают false. Так как b3 и b1 указывают на один и тот же объект, то 8-я строка возвращает true.
Для строк 10, 11 и 12 выполняются аналогичные операции, так как метод equals() не переопределен в классе B.

Определите, какой результат получится при выполнении приведенного кода, если программа запустится с помощью строки java Class1 Hello world !!!
public class Class1 
{ 
  public static void main(String [] args) { 
     System.out.print(args[0] + args[1]); 
     System.out.println(args[1]); 
   } 
}
Ваши ответы
Helloworldworld
Какие из следующих методов определены в классе Object?
Ваши ответы
notify()
wait()
Какие модификаторы позволяют обращаться к полю/методу публичного класса верхнего уровня из других классов верхнего уровня, находящихся в том же пакете?
Ваши ответы
по умолчанию (package-private)
public
Что будет выведено в консоль?
class A 
{ 
   { 
       System.out.print("5"); 
   } 
 
   static { 
       System.out.print("3"); 
   } 
 
   public A() { 
       System.out.print("4"); 
   } 
} 
 
public class B extends A { 
   { 
       System.out.print("2"); 
   } 
 
   static { 
       System.out.print("6"); 
   } 
 
   public B() { 
       System.out.print("1"); 
   } 
 
   public static void main(String[] args) { 
       new B(); 
   } 
} 
Ваши ответы
623541
Какая максимальная длина имени переменной допустима в Java в соответствии со спецификацией?
Ваши ответы
256 символов
Что произойдет если выполнить данный код:
class Test { 
   List<Integer> list; 
   Test(){ 
       list = new ArrayList<Integer>(); 
       someVoid(list); 
   } 
   void someVoid(List<Integer> l){ 
       l.add(0); 
       l=null; 
   } 
   public static void main(String[] args) { 
       Test test=new Test(); 
       System.out.println("Size is: "+test.list.size()); 
   } 
} 
Ваши ответы
Каков результат выполнения этой программы:
class MyLink {  
   public MyLink() { 
       str = "New"; 
   } 
   public String str; 
} 
 
public class Test { 
   public static void main(String[] args) { 
       MyLink b1 = new MyLink(); 
       MyLink b2 = b1; 
       b2.str = "My String"; 
       System.out.println(b1.str); 
 
       String a1 = "Test"; 
       String a2 = a1; 
       System.out.println(a2); 
       a1 = "Not a Test"; 
       System.out.println(a2); 
   } 
}
Ваши ответы
My String
Test
Not a Test
Скомпилируется ли данный код? Если да, что будет являться результатом его выполнения?
public class Autoboxing { 
   public static void main(String[] args) { 
       Integer oInt1 = null; 
       Integer oInt2 = 0; 
       final int int1 = oInt1; 
       final int int2 = oInt2; 
       System.out.println(int1 == int2); 
   } 
} 
Ваши ответы
Ошибка компиляции
Объяснение:

Возникнет java.lang.NullPointerException в 5-й строке, поскольку компилятор преобразует выражение