игра брюс 2048
Главная / Программирование / Программирование на Java / Тест 7

Программирование на Java - тест 7

Упражнение 1:
Номер 1
Укажите количество преобразований, которые будут сделаны в следующем коде:
                long a = 3;
                a = 5 + 'A' + a;
            

Ответ:

 (1) 0 

 (2) 1 

 (3) 2 

 (4) 3 

 (5) 4 


Номер 2
Укажите количество преобразований, которые будут сделаны в следующем коде:
                long a = 3;
                a = 5 + 'A' + a;
                System.out.print("a = " + a);
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 


Номер 3
Укажите количество преобразований, которые будут сделаны в следующем коде:
                long a = 3;
                a = 5 + a;
                System.out.print("a = " + a);
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 


Упражнение 2:
Номер 1
Какие утверждения относительно преобразования примитивных типов верны?

Ответ:

 (1) расширение - это переход от менее емкого типа к более емкому 

 (2) расширение является небезопасным преобразованием 

 (3) тип boolean можно привести к типу byte 

 (4) тип byte можно привести к типу int без потери данных 

 (5) тип byte можно привести к типу char без потери данных 


Номер 2
Какие утверждения относительно преобразования примитивных типов верны?

Ответ:

 (1) сужение - это переход от менее емкого типа к более емкому 

 (2) преобразование от типа char к типу byte является сужающим 

 (3) при сужении целочисленного типа к более узкому целочисленному все старшие биты, не попадающие в новый тип, просто отбрасываются 

 (4) тип byte можно привести к типу int без потери данных 

 (5) компилятор может осуществить сужающее преобразование самостоятельно 


Номер 3
Какие варианты кода будут выполнены без ошибок?

Ответ:

 (1) int a = b; boolean c = (boolean)a;  

 (2) byte b = 3; int a = b;  

 (3) int a = 2; byte c = a;  

 (4) int a = 2; float c = (float)a;  


Упражнение 3:
Номер 1
Будет ли скомпилирован следующий пример:
                byte b = 100 - 100;
                b = 100 + 200;
                b = 100 * 100;
            

Ответ:

 (1) пример не будет скомпилирован, будет выдано сообщение об ошибках в 1-й и 2-й строках 

 (2) пример не будет скомпилирован, будет выдано сообщение об ошибках во 2-й и 3-й строках 

 (3) пример не будет скомпилирован, будет выдано сообщение об ошибках в 1-й и 3-й строках 

 (4) пример не будет скомпилирован, будет выдано сообщение об ошибках в 1-й, 2-й и 3-й строках 

 (5) пример будет скомпилирован 


Номер 2
Укажите результат выполнения следующего кода?
                long a = 111111111111L;
                double f = a;
                long b = 11111L;
                double d = b;
                System.out.println( a == (long) f);
                System.out.println( b == (long) d);
            
            

Ответ:

 (1) true true  

 (2) true false  

 (3) false true  

 (4) false false  

 (5) будет выведено сообщение об ошибке 


Номер 3
Укажите результат выполнения следующего кода?
                long a = 111111111111L;
                float f = a;
                long b = 11111L;
                float d = b;
                System.out.println( a == (long) f);
                System.out.println( b == (long) d);
            
            

Ответ:

 (1) true true  

 (2) true false  

 (3) false true  

 (4) false false  

 (5) будет выведено сообщение об ошибке 


Упражнение 4:
Номер 1
Какие утверждения относительно преобразования ссылочных типов верны?

Ответ:

 (1) преобразование от null-типа к любому объектному типу является расширяющим 

 (2) преобразование от класса A к классу B, если A наследуется от B является сужающим 

 (3) можно преобразовать ссылку одного типа к ссылке другого типа даже если они не являются родителем и наследником 

 (4) всегда можно обращаться к объекту, порожденному от наследника, по типу его родителя 


Номер 2
Какие преобразования не вызовут ошибку компиляции?

Ответ:

 (1) Object o = (String)null; String s = o;  

 (2) Object o = (String)null; String s = (String)o;  

 (3) Object o = null; String s = (String)o;  

 (4) Object o = null; String s = o;  


Номер 3
Какие значения могут участвовать в преобразовании к строке?

Ответ:

 (1) выражения примитивного типа 

 (2) выражения ссылочного типа 

 (3) значение null 


Упражнение 5:
Номер 1
Пусть классы Wolf и Rabbit являются наследниками классаAnimal. Корректен ли следующий пример?
                
                    Wolf w = new Wolf();
                    Animal a = (Animal)w;
                    Rabbit r = (Rabbit)a;
                
            

Ответ:

 (1) пример не будет откомпилирован, ошибка в первой строке 

 (2) пример не будет откомпилирован, ошибка во второй строке 

 (3) пример будет откомпилирован, но возникнет ошибка времени исполнения  

 (4) пример полностью корректен 


Номер 2
Укажите результат выполнения следующего кода?
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeChild1();
                        ((SomeClass)c).print();
                        ((SomeChild1)c).print();
                        ((SomeChild2)c).print();
                    }
                    public void print() {
                        System.out.println("SomeClass");
                    }
                }
                class SomeChild1 extends SomeClass {
                    public void print() {
                        System.out.println("SomeChild1");
                    }
                }
                class SomeChild2 extends SomeClass {
                    public void print() {
                        System.out.println("SomeChild2");
                    }
                }
            

Ответ:

 (1) SomeClass SomeChild1 SomeChild2  

 (2) SomeClass SomeClass SomeClass  

 (3) SomeClass и сообщение об ошибке 

 (4) SomeChild1 SomeChild1 и сообщение об ошибке 

 (5) SomeClass SomeClass и сообщение об ошибке 


Номер 3
Укажите результат выполнения следующего кода?
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeChild2();
                        ((SomeClass)c).print();
                        ((SomeChild1)c).print();
                        ((SomeChild2)c).print();
                    }
                    public void print() {
                        System.out.println("SomeClass");
                    }
                }
                class SomeChild1 extends SomeClass {
                    public void print() {
                        System.out.println("SomeChild1");
                    }
                }
                class SomeChild2 extends SomeClass {
                    public void print() {
                        System.out.println("SomeChild2");
                    }
                }
            

Ответ:

 (1) SomeClass SomeChild1 SomeChild2  

 (2) SomeClass SomeClass SomeClass  

 (3) SomeClass и сообщение об ошибке 

 (4) SomeChild1 и сообщение об ошибке 

 (5) SomeChild2 и сообщение об ошибке 


Упражнение 6:
Номер 1
Какие из следующих присвоений корректны?

Ответ:

 (1) SomeClass c = 1;  

 (2) Object o = 1;  

 (3) int i = 1;  

 (4) String s = 1;  

 (5) byte b = (byte) 1;  


Номер 2
Какие из следующих присвоений корректны?

Ответ:

 (1) short s = (short)(2 + 3);  

 (2) byte b2 = 200;  

 (3) byte c = (int)150 + 'a';  

 (4) char c = (byte)5 + 'a';  

 (5) byte c = (char)5 + 'a';  


Номер 3
Какие из следующих присвоений корректны?

Ответ:

 (1) byte c = (char)150;  

 (2) byte c = (char)50;  

 (3) byte c = 'a';  

 (4) byte c = (char)150 + "a";  

 (5) byte c = (long)50;  


Упражнение 7:
Номер 1
Укажите результат выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeClass();
                        c.f1(1, 1);
                    }
                    public void f1(byte b, char c) {
                        System.out.println("1");
                    }
                    public void f1(byte b, byte c) {
                        System.out.println("2");
                    }
                    public void f1(char b, char c) {
                        System.out.println("3");
                    }
                    public void f1(char b, byte c) {
                        System.out.println("4");
                    }
                }
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) возникнет ошибка компиляции 


Номер 2
Укажите результат выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeClass();
                        c.f1(1, 1);
                    }
                    public void f1(int b, long c) {
                        System.out.println("1");
                    }
                    public void f1(long b, int c) {
                        System.out.println("2");
                    }
                    public void f1(int b, int c) {
                        System.out.println("3");
                    }
                    public void f1(long b, long c) {
                        System.out.println("4");
                    }
                }
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) возникнет ошибка компиляции 


Номер 3
Укажите результат выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeClass();
                        c.f1(1, 1);
                    }
                    public void f1(Integer i1, Integer i2) {
                        System.out.println("1");
                    }
                    public void f1(Integer i1, int i2) {
                        System.out.println("2");
                    }
                    public void f1(int b, Integer c) {
                        System.out.println("3");
                    }
                    public void f1(long b, long c) {
                        System.out.println("4");
                    }
                }
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) возникнет ошибка компиляции 


Упражнение 8:
Номер 1
Значение какого типа будет хранить переменная b после инициализации?
                byte b = 1 + 2;
            
            

Ответ:

 (1) char 

 (2) byte 

 (3) short 

 (4) int 


Номер 2
На объект какого типа будет ссылаться переменная c?
public class SomeClass {
 public static void main(String[] args) {
        SomeClass c = new SomeClass2();
 }
}
class SomeClass2 extends SomeClass {}


Ответ:

 (1) Object 

 (2) SomeClass 

 (3) SomeClass2 

 (4) пример не будет скомпилирован 


Номер 3
Укажите результат выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeClass2();
                        SomeClass2 c2 = new SomeClass2();
                        c2.print();
                        c.print();
                    }
                }
                class SomeClass2 extends SomeClass {
                    public void print() {
                        System.out.println("message");
                    }
                }
            
            

Ответ:

 (1) message message  

 (2) message и сообщение об ошибке 

 (3) message message и сообщение об ошибке 

 (4) сообщение об ошибке 

 (5) пример не будет скомпилирован 




Главная / Программирование / Программирование на Java / Тест 7