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

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

+86

  • Кто проходил: ilya201177
  • Дата прохождения: 05.12.2018
Что будет выведено на экран следующим кодом?
public class test { 
   public static void main(int[] args){ 
       System.out.println("Hi, World!"); 
   } 
 
   public static void main(String... args){  
       System.out.println("Hello, World!"); 
   } 
} 
Ваши ответы
Hello, World!
Что будет, если единственный конструктор объекта объявлен как final?
Ваши ответы
Конструктор не может быть объявлен как final
Объяснение:

Единственные модификаторы, разрешенные для конструкторов: public, protected, private.

Что произойдет, если скомпилировать и запустить следующий код:
byte b1 = 127; 
b1 +=1; 
Ваши ответы
b1 = -128
Какой будет результат выполнения программы:
public class BooleanTest { 
  static boolean test1(int val) { 
       System.out.println("test1("+ val +")"); 
       System.out.println("результат: " + (val < 10)); 
       return val < 10; 
   } 
 
   static boolean test2(int val) { 
       System.out.println("test2("+ val +")"); 
       System.out.println("результат: " + (val < 20)); 
       return val < 20; 
   } 
 
   static boolean test3(int val) { 
       System.out.println("test3("+ val +")"); 
       System.out.println("результат: " + (val < 30)); 
       return val < 30; 
   } 
 
   public static void main(String[] args) { 
      if(test1(0) && test2(20) && test3(20)) 
          System.out.println("Выражение истинно"); 
      else 
          System.out.println("Выражение ложно"); 
   } 
} 
Ваши ответы
test1(0)
результат: true
test2(20)
результат: false
Выражение ложно
Объяснение:

Оператор && вычисляет операнды слева направо до тех пор, пока не сможет однозначно определить истинность всего выражения.
Поэтому в данном примере вызываются только два метода:
test1(0) – true
test2(20) – false
а в вызове test3() уже необходимости нет, поскольку вне зависимости от его результата уже ясно, что значение всего выражения будет false.

Выберите все пары методов в одном классе, которые друг с другом несовместимы.
Ваши ответы
void get() {}
int get() {}
public int get() {}
private int get() {}
void get(int x) {}
void get(int y) {}
Что произойдет при попытке скомпилировать и запустить данный код?
public class PrintTest { 
   public static void main(String[] args) { 
       System.out.println("1" + 2 + 3); 
   } 
} 
Ваши ответы
123
Скомпилируется ли следующий пример:
public class StartClass {     
   private final String DUMMY = "DUMMY"; 
 
   public static void main(String[] args) { 
       System.out.println(DUMMY); 
   } 
} 
Ваши ответы
нет
Объяснение:

Из статического контекста нельзя обращаться к нестатическому.

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

Терминальные переменные должны инициализироваться в каждом конструкторе класса

Определена следующая переменная строкового типа.
String s = "abc"; 
 
Какие из перечисленных ниже операций допустимы?
Ваши ответы
s += s + s; 
Объяснение:

Строковое преобразование (String conversion) в языке Java осуществляется неявно и только в одном случае: при конкатенации (склеивании) строки и не-строки.
Например, допустимой будет такая конструкция:
s = "" + (46 >> 2); // пустая строка + число
В этом случае число будет неявно преобразовано в строку.

В каком порядке должны размещаться следующие операторы?
Ваши ответы
1. Package statement
2. Imports
3. Class or interface definitions
Что будет результатом компиляции и выполнения данного кода?
public class Test extends A { 
   public int i = 1; 
   public static void main(String... args) { 
       System.out.print(new Test().i); 
       System.out.print(new A().i); 
       System.out.print( ((A)new Test()).i ); 
   } 
} 
 
class A { 
   public int i = 2; 
} 
Ваши ответы
122
Объяснение:

Поля не перезаписываются

Определите, какой результат получится при выполнении приведенного кода, если программа запустится с помощью строки 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
Какой результат выполнения данного кода:
System.out.println( 0.1d ); 
Ваши ответы
0.1
Объяснение:

Большинство дробных чисел не могут быть точно представлены с помощью типа double. Например, 0.1 в двоичном виде представляется в виде бесконечной двоичной дроби, а так как в памяти компьютера хранится только ограниченное количество разрядов, то бесконечный "хвост" отбрасывается и полученное значение чуть-чуть отличается от 0.1.
Такой способ представления дробных чисел учитывается при выводе на экран, и отображается "правильное" значение.
Если воспользоваться другим способом представления дробных чисел, можно получить другой результат.
Например, команда System.out.println(new BigDecimal(0.1)); выведет реальное представление числа в памяти: 0.1000000000000000055511151231257827021181583404541015625

Какой результат выполнения следующего кода:
public class MainClass { 
   public static void main(String args[]) { 
       int k = 2; 
       int m = 10; 
       int s =  1 >> k++ + ++m - --k - m-- << 1; 
       System.out.println("s = " + s); 
       System.out.println("k = " + k); 
       System.out.println("m = " + m); 
   } 
} 
Ваши ответы
s = 2
k = 2
m = 10
Какой будет результат выполнения кода:
class A {  
   private int counter = 0;  
   public static int getInstanceCount() { 
       return counter; 
   }  
   public A() { 
       counter++; 
   } 
} 
public class B { 
   public static void main(String ar[]) { 
       A a1 = new A(); 
       A a2 = new A(); 
       A a3 = new A(); 
       System.out.println(A.getInstanceCount()); //1 
   } 
}    
Ваши ответы
В консоль будет выведено 3
Объяснение:

Нельзя использовать в статическом методе нестатические поля класса.