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

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

+73

  • Кто проходил: Андрей1
  • Дата прохождения: 11.02.2019
Каким будет результат?
String s1 = "abc"; 
String s2 = new String("abc"); 
String s3 = "abc"; 
System.out.println(s1 == s2); 
System.out.println(s1 == s3); 
System.out.println(s1 == "abc"); 
Ваши ответы
false
true
true
Что будет выведено на экран?
public class Test { 
   public static void main(String[] args) { 
       int f; 
       f = 5; 
       f = ++f + f++; 
       System.out.println(f); 
   } 
} 
Ваши ответы
12
Объяснение:

Дело происходит так:
1. значение f равно 5
2. ++f вычисляется как 6 (значение f равно 6)
3. f++ вычисляется как 6 (значение f становится 7)
4. в f записывается сумма 6 + 6 = 12

Выберите из приведенных все модификаторы, которые применимы для top-level классов (не вложенных).
Ваши ответы
public
Объяснение:

Модификаторы private и protected применимы только к вложенным классам-членам (member class), модификатор transient – только к полям

Перечислите все слова, которые являются ключевыми или зарезервированными в Java.
Ваши ответы
goto
static
Объяснение:

В спецификации написано так: "The keywords const and goto are reserved, even though they are not currently used".
Т.е. goto - это ключевое слово, пусть и неиспользуемое.
Поэтому, в частности, goto не может использоваться в качестве идентификатора, т.е. быть именем пакета, класса, переменной и т.д.
См. первоисточник: http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.9

Каким будет результат выполнения кода:
1: class Foo { 
2:   public static void main(String[] args) { 
3:     Integer i = 42; 
4:     String s = (i < 40) ? "life" : (i > 50) ? "universe" : "everything"; 
5:     System.out.print(s); 
6:   } 
7: } 
Ваши ответы
everything
Какой код нужно вставить на место строки 1, чтобы корректно получить строковое представление переменной l?
public class Test {  
   static public  void main(String args[]) { 
       long l = 0; 
       String s = new String(); 
       // 1 
   } 
} 
Ваши ответы
s = "" + l;
Что напечатает следующий код:
public static void main(String[] args) { 
   Integer i = 10; 
   Integer x = 10; 
   if (x == i) { 
       System.out.print("true"); 
   } else { 
       System.out.print("false"); 
   } 
} 
Ваши ответы
true
Объяснение:

256 Integer objects are created in the range of -128 to 127 which are all stored in an Integer array. So when creating an object using Integer.valueOf or directly assigning a value to an Integer within the range of -128 to 127 the same object will be returned.

Что произойдет в результате компиляции и выполнения кода:
final public class Parent { 
   final public void test() {             
       System.out.println("hello"); 
   } 
} 
 
class Child extends Parent {         //1 
   public void test() {             //2 
       System.out.println("world"); 
   }     
} 
 
class Main {             
   public static void main(String args[]) { 
       Child c = new Child(); 
       c.test(); 
   }     
} 
Ваши ответы
Ошибка компиляции в строке 1
Объяснение:

В данном случае ключевое слово final используется для отмены наследования класса parent и отказа от переопределения метода test()

Дан класс
public class Cycle { 
     public static void main(String[] bicycle) { 
           System.out.println(bicycle[0]); 
     } 
} 
 
и командная строка его запуска
>java Cycle one two 
 
Выберите единственный верный вариант вывода этого приложения.
Ваши ответы
Программа выведет "one" без кавычек
Какой результат выполнения данной программы ?
public class Test { 
   public static void main(String[] args){ 
       int[][] x  = new int[2][5]; 
       int[][] y = new int[2][5]; 
       System.out.println(x[1][3]); 
       System.arraycopy(x, 0, y, 0, x.length); 
       x[1][3] = 55; 
       System.out.println(y[1][3]); 
   } 
}
Ваши ответы
null
55
Объяснение:

Любой N-мерный массив это одномерный массив, элементами которого являются >>ссылки<< на массивы размерности N-1. System.arraycopy копирует как раз эти ссылки.

Каким будет результат компиляции и выполнения данного кода:
public class ByteTest { 
   public static void main(String[] s) { 
       byte b = 8; 
        m(b); 
        m(7); 
   } 
 
   static void m(byte b) { 
       System.out.print("byte"); 
   } 
} 
Ваши ответы
Программа выведет "bytebyte" без кавычек.
Объяснение:

Если в команде присваивания используется константное выражение со значением типа int, попадающим в диапазон byte, то компилятор автоматически сужает его тип. Поэтому команда byte b = 8; компилируется без ошибок. В других ситуациях, например, в вызове метода, такого не происходит. Поэтому на команде m(7); генерируется ошибка компиляции.

Что напечатает следующий код:
class A { 
 public A() { System.out.print("A"); } 
} 
class B { 
 public B() { System.out.print("B"); } 
} 
class C { 
 public C() { System.out.print("C"); } 
} 
public class D extends C {     
 private A objA = new A(); 
 private static B objB = new B();     
 
 public D() { System.out.print("D"); } 
 
 public static void main(String[] args){ 
   new D(); 
 } 
}
Ваши ответы
BACD
Объяснение:

Согласно JLS порядок инициализации объекта следующий: 1. Инициализация static полей во время загрузки класса 2. Инициализация суперкласса 3. Инициализация полей в порядке очередности перед вызовом любого конструктора класса 4. Конструктор класса

Какой результат выполнения программы:
class Tack { 
   static short s = 17; 
   public Tack(short ss) { 
       new Tack(); 
       s *= ss; 
   } 
   public Tack() { ; } 
} 
public class Bridle extends Tack { 
   public Bridle(int s) { System.out.println(s + 1); } 
   public static void main(String[] args) { 
       Bridle b = new Bridle(3); 
   } 
} 
Ваши ответы
Ошибка компиляции
Какой будет результат компиляции и выполнения следующей программы?
import java.util.ArrayList; 
import java.util.List; 
 
public class Test { 
   public static void main(String a[]) { 
       List<Integer> list = new ArrayList<Integer>(); 
       list.add(null); 
       for (Integer i : list) { 
           System.out.println(i); 
       } 
   } 
} 
Ваши ответы
0
Какие строки не вызовут ошибок компиляции?
Ваши ответы
char d = 0x10000;