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

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

+100

  • Кто проходил: Mikhail
  • Дата прохождения: 04.04.2019
Что будет напечатано в результате выполнения данного кода?
public class Cycle { 
   public static void main(String...args) { 
       int i = 1; 
       do while(i < 1) 
           System.out.println("i = " + ++i); 
       while (i > 1); 
   } 
} 
Ваши ответы
Программа выполнится, но ничего не выведет на экран
Объяснение:

Пониманию исходного кода мешает отстутствие фигурных скобок.
Расставим их:

Какой результат выполнения этой программы ?
import java.util.ArrayList; 
public class Test { 
   public static void main(String[] args) { 
       ArrayList<Integer> array = new ArrayList<Integer>(2); 
       array.add(5); 
       array.add(6); 
       array.add(1, 7); 
       System.out.print(array.indexOf(6)); 
 
       array.remove(1); 
       System.out.println(array.indexOf(6)); 
   } 
}
Ваши ответы
21
Объяснение:

ArrayList array = new ArrayList(2);
в данном случае двойка означает размер конейнера, т.е. всего зарезервировано место под два элемента. В действительности, размер контейнера равен нулю, т.к. в нём пока нет элементов. Это к справке.
Далее:
array.add(5);
array.add(6);
как мы знаем, ArrayList это списочный последовательный контейнер и элементы в нём хранятся в порядке добавления. Т.е.
нулевой элемент - пятёрка
первый элемент - шестерка.
такая форма добавления:
array.add(1, 7);
означает, цифру семь нужно вставить в первый элемент, т.к. этот контейнер последовательный и порядок добавления в него слева направо, то при добавлении элемента, цифра шесть сместиться вправо и станет вторым элементом в контейнере
0 1 2 - элементы в контейнере.
5 7 6 - числа
Далее, array.indexOf(6)
печатаем индекс числа шесть, он равен двойке.
Затем, array.remove(1);
удаляется первый элемент, т.е. семёрка и, шестёрка становится на своё

Какие из перечисленных идентификаторов являются корректными?
Ваши ответы
_cb
abc
if_
Каким будет результат выполнения кода?
public class TestThread extends Thread {  
   public void go() { System.out.println( "Go!" ); }  
   public void run() { System.out.println( "Run!" ); }  
   public void begin() { System.out.println( "Begin!" ); }  
   public void execute() { System.out.println( "Execute!" ); }  
 
   public static void main( String[] args ) {  
       TestThread myTest = new TestThread();  
       myTest.start();  
   }  
} 
Ваши ответы
Run!
Объяснение:

Правильный ответ – Run! Так как при вызове метода
start() запускается метод run(), в котором реализуется код для выполнения в данном потоке.

Каким будет результат компиляции и выполнения данного кода?
public class A { 
   public static void main(String[] args) { 
       for (int i = 0; ++i > 0;) { 
           System.out.println(i); 
       } 
   } 
} 
Ваши ответы
Напечатает все числа от 1 до 231 - 1
Что напечатает следующий код?
public class Test { 
 
   private String name; 
 
   Test(String name) { 
       this.name =  name; 
   } 
 
   public void test(final Test test) {         
       test = new Test("three"); 
   } 
 
   public String toString() { 
       return name; 
   } 
 
   public static void main(String[] args) { 
       Test t1 = new Test("one"); 
       Test t2 = new Test("two"); 
       t1.test(t2); 
       System.out.println(t2); 
   } 
 
} 
Ваши ответы
Ошибка компиляции
Объяснение:

final параметр в методе test, говорит о том что ссылка на объект test не может быть изменена, поэтому строка test = new Test("three") приведёт к ошибке на этапе компиляции.

В результате каких команд на консоль будет выведено число "10" и слово "десять" (порядок их вывода значения не имеет, т. е. в данном вопросе не важно "10 десять" или "десять 10")
Ваши ответы
System.out.println(5 + 5 + " десять");
System.out.println("десять " + (5 + 5));
Объяснение:

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

После выполнения каких строк будет выведен 0, еcли i = 0?
Ваши ответы
System.out.println(i--);
System.out.println(i);
System.out.println(i++);
Объяснение:

Результатом постфиксных операций i++ и i-- будет исходное значение переменной i.
Результатом выражения i + '0' будет число 48 - код символа '0'.

Дан следующий код:
public class Foo { 
   private Foo() { 
       return this;            // 1 
   } 
   public static Foo get() { 
       return new Foo();       // 2 
   } 
   public static void main(String[] args) { 
       Foo foo1 = get();       // 3 
       Foo foo2 = new Foo();   // 4 
   } 
} 
Возникнут ли ошибки компиляции и если да, то в каких строках?
Ваши ответы
Ошибка компиляции в строке 1
Объяснение:

Код не скомпилируется.
Возникнет ошибка компиляции в строке 1 - в конструкторе в операторе return не допускается указывать возвращаемое значение.

Результат выполнения программы :
public class A { 
   public static void main(String[] args) { 
       Boolean f1 = true; 
       Boolean f2 = new Boolean("/false"); 
       String a = "" + 1 + '+' + 1 + '=' + (1 + 1) + " is "; 
       String b = a + f1 + '/' + f2; 
       System.out.println(b); 
   } 
} 
Ваши ответы
1+1=2 is true/false
В переменной типа char могут храниться значения из следующего диапазона
Ваши ответы
От 0 до \uFFFF
Что выведет следующий код?
public class test { 
   static { 
       System.out.println("Bo-Bo!"); 
   } 
 
   public static void main(String[] args) { 
       System.out.println("Hello, World!"); 
   } 
 
   static { 
       System.out.println("Go-Go!"); 
       System.exit(0); 
   }  
} 
Ваши ответы
Bo-Bo!
Go-Go!
Каким будет результат компиляции и выполнения следующего кода:
import java.util.List; 
import java.util.ArrayList; 
 
public class Test { 
   public static void main(String[] args) { 
       List<String> values = new ArrayList<String>() { 
           { 
             add("one"); 
             add("two"); 
             add("three"); 
           } 
       }; 
       System.out.print("values: ");    
       for (String value : values) { 
           System.out.print(value + " "); 
       } 
   } 
} 
Ваши ответы
values: one two three
Объяснение:

Анонимный класс наследуется от ArrayList, вызывается конструктор ArrayList, вызывается инициализатор анонимного класса, вызывается конструктор анонимного класса

Что произойдет после компиляции и выполнения данного кода:
1:  public class Clazz { 
2:      public boolean flags[] = new boolean[2]; 
3:      public static void main(String[] args){ 
4:          Clazz clazz = new Clazz(); 
5:          System.out.println("flags[1] = " + clazz.flags[1]); 
6:      } 
7:  }  
Ваши ответы
На консоль будет выведено "flags[1] = false"
Объяснение:

Поля типа boolean и элементы массивов типа boolean всегда принимают значение false по умолчанию.

Что выведется на консоль?
public class Test {     
   { 
       System.out.println("1"); 
   } 
 
   Test () { 
       System.out.println("2"); 
   } 
 
   static { 
       System.out.println("3"); 
   } 
 
   { 
       System.out.println("4"); 
   } 
 
   public static void main(String[] args) { 
       new Test(); 
   } 
} 
Ваши ответы
3
1
4
2