Главная / Программирование /
Язык программирования Java и среда NetBeans / Тест 7
Язык программирования Java и среда NetBeans - тест 7
Упражнение 1:
Номер 1
Какой фрагмент кода вычисляет сумму всех элементов массива arr
?
Ответ:
 (1)
int[] arr=new int[5];
int sum=0;
for (int i=0; i<5; i++){
sum+=arr[i];
}
 
 (2)
int[] arr=new int[5];
int sum=0;
for (int i=1; i<5; i++){
sum+=arr[i];
}
 
 (3)
int[] arr=new int[5];
int sum=0;
for (int i=0; i<=5; i++){
sum+=arr[i];
}
 
 (4)
int[] arr=new int[5];
int sum=0;
for (int i=1; i<6; i++){
sum+=arr[i];
}
 
Номер 2
Какой фрагмент кода вычисляет произведение всех элементов массива arr2
?
Ответ:
 (1)
int[] arr2=new int[5];
int mul=1;
for (int i=1; i<6; i++){
arr2[i]=i+1;
mul*=arr2[i];
}
 
 (2)
int[] arr2=new int[5];
int mul=1;
for (int i=0; i<=5; i++){
arr2[i]=i+1;
mul*=arr2[i];
}
 
 (3)
int[] arr2=new int[5];
int mul=1;
for (int i=0; i<5; i++){
arr2[i]=i+1;
mul*=arr2[i];
}
 
 (4)
int[] arr2=new int[5];
int mul=1;
for (int i=1; i<5; i++){
arr2[i]=i+1;
mul*=arr2[i];
}
 
Номер 3
В каком случае значение переменной res
после выполнения указанного кода будет нечетным?
Ответ:
 (1)
int[] arr=new int[5];
int res=0;
for (int i=1; i<5; i++){
arr[i]=i+1;
res+=arr[i];
}
 
 (2)
int[] arr=new int[5];
int res=1;
for (int i=1; i<5; i++){
arr[i]=i+1;
res+=arr[i];
}
 
 (3)
int[] arr2=new int[5];
int res=1;
for (int i=0; i<5; i++){
arr2[i]=i+1;
res*=arr2[i];
}
 
Упражнение 2:
Номер 1
Чему будут равны значения элементов массива arr2
после выполнения кода:
int[] arr2, arr1=new int[5];
int sum=0;
for (int i=0; i<arr1.length; i++) {
arr1[i]=i+1;
System.out.println(arr1[i]);
}
arr2=arr1;
arr1[0]*=10;
Ответ:
 (1) arr2[0]=0, arr2[1]=0, arr2[2]=0, arr2[3]=0, arr2[4]=0
 
 (2) arr2[0]=1, arr2[1]=2, arr2[2]=3, arr2[3]=4, arr2[4]=5
 
 (3) arr2[0]=10, arr2[1]=2, arr2[2]=3, arr2[3]=4, arr2[4]=5
 
Номер 2
Чему будут равны значения элементов массива arr1
после выполнения кода:
int[] arr2, arr1=new int[5];
int sum=0;
for (int i=0; i<arr1.length; i++) {
arr1[i]=i+1;
System.out.println(arr1[i]);
}
arr2=arr1;
arr1[0]*=10;
for (int i=2; i<arr2.length; i++) {
arr2[i]*=10;
}
Ответ:
 (1) arr1[0]=10, arr1[1]=2, arr1[2]=3, arr1[3]=4, arr1[4]=5
 
 (2) arr1[0]=10, arr1[1]=2, arr1[2]=30, arr1[3]=40, arr1[4]=50
 
 (3) arr1[0]=10, arr1[1]=20, arr1[2]=30, arr1[3]=40, arr1[4]=50
 
Номер 3
Чему будут равны значения элементы массива arr1
после выполнения кода:
int[] arr2, arr1=new int[5];
int sum=0;
for (int i=0; i<arr1.length; i++) {
arr1[i]=i+1;
System.out.println(arr1[i]);
}
arr2=arr1;
arr1[0]*=10;
for (int i=2; i<arr2.length; i++) {
arr2[i]*=10;
}
Ответ:
 (1) arr1[0]=10, arr1[1]=2, arr1[2]=30, arr1[3]=40, arr1[4]=50
 
 (2) arr1[0]=1, arr1[1]=2, arr1[2]=3, arr1[3]=4, arr1[4]=5
 
 (3) arr1[0]=10, arr1[1]=2, arr1[2]=3, arr1[3]=4, arr1[4]=5
 
Упражнение 3:
Номер 1
Какие утверждения являются верными?
Ответ:
 (1) при присваивании переменных типа массив в языке Java элементов из одного массива копируются в другой массив 
 (2) переменная типа массив в языке Java является ссылочной 
 (3) после создания массивы Java не инициализированы 
 (4) нумерация ячеек массива начинается с нуля 
Номер 2
Какие утверждения являются неверными?
Ответ:
 (1) при присваивании переменных типа массив в языке Java элементов из одного массива копируются в другой массив 
 (2) переменная типа массив в языке Java является ссылочной 
 (3) нумерация ячеек массива начинается с нуля 
 (4) после создания массивы Java не инициализированы 
Номер 3
Каково назначение вспомогательной ссылки circle
в коде:
int n=10;
Circle[] circles=new Circle[n];
Circle circle;
for(int i=0;i<n;i++){
circle=new Circle();
circle.x=40*i;
circle.y= circles.x/2;
circle.r=50;
circle.show();
circles[i]= circle;
};
Ответ:
 (1) позволяет избежать многократного обращения к массиву по индексу 
 (2) существенно повышает быстродействие программы 
 (3) повышает читаемость программного кода 
Упражнение 4:
Номер 1
Каким образом можно задать значения элементов массива?
Ответ:
 (1)
int[] a=new int[4];
a[0]=2;
a[1]=0;
a[2]=0;
a[3]=6;
 
 (2) int[] a=new int[4] {2,0,0,6};
 
 (3) int[] a=new int[] {2,0,0,6};
 
Номер 2
В программе задан массив arr
:
int[][] arr= new int[][]
{
{1,2,3,4},
{2,3,4,5},
{3,4,5,6},
{4,5,6,7},
{5,6,7,8},
{6,7,8,9},
};
В каком случае результат вычисления будет нечетным?
Ответ:
 (1) arr[1][2]+arr[2][1]+arr[3][2]
 
 (2) arr[1][1]+arr[2][2]+arr[3][3]
 
 (3) arr[1][2]+arr[2][1]+arr[3][3]
 
 (4) arr[4][2]+arr[5][2]+arr[5][3]
 
Номер 3
В программе задан массив arr
:
int[][] arr= new int[][]
{
{1,2,3,4},
{2,3,4,5},
{3,4,5,6},
{4,5,6,7},
{5,6,7,8},
{6,7,8,9},
};
В каком случае результат вычисления будет четным?
Ответ:
 (1) arr[1][2]+arr[2][1]+arr[3][2]
 
 (2) arr[1][1]+arr[2][2]+arr[3][3]
 
 (3) arr[1][2]+arr[2][1]+arr[3][3]
 
 (4) arr[5][1]+arr[5][2]+arr[5][3]
 
Упражнение 5:
Номер 1
В каком случае после выполнения указанного кода все значения элеметов массивов a
и b
будут одинаковыми?
Ответ:
 (1)
int[] a=new int[] {2,0,0,6};
int[] b=a.clone();
for (int i=0; i<a.length; i++) {
a[i]+=1;
}
 
 (2)
int[] a=new int[] {2,0,0,6};
int[] b=a;
for (int i=0; i<a.length; i++) {
a[i]+=1;
}
 
 (3)
int[] a=new int[] {2,0,0,6};
int[] b=new int[a.length];
System.arraycopy(a,1,b,1,a.length-1);
 
Номер 2
В каком случае после выполнения указанного кода все значения элеметов массивов a
и b
будут одинаковыми?
Ответ:
 (1)
int[] a=new int[] {2,0,0,6};
int[] b=a;
for (int i=0; i<a.length; i++) {
a[i]+=1;
}
 
 (2)
int[] a=new int[] {2,0,0,6};
int[] b=a.clone();
for (int i=0; i<a.length; i++) {
a[i]+=1;
}
 
 (3)
int[] a=new int[] {2,0,0,6};
int[] b=new int[a.length];
System.arraycopy(a,0,b,0,a.length);
 
Номер 3
В каком случае после выполнения указанного кода все значения элеметов массивов a
и b
будут одинаковыми?
Ответ:
 (1)
int[] a=new int[] {2,0,0,6};
int[] b=new int[a.length];
System.arraycopy(a,1,b,1,a.length-1);
 
 (2)
int[] a=new int[] {2,0,0,6};
int[] b=new int[a.length];
System.arraycopy(a,0,b,0,a.length);
 
 (3)
int[] a=new int[] {2,0,0,6};
int[] b=new int[a.length];
System.arraycopy(a,0,b,0,a.length-1);
 
Упражнение 6:
Номер 1
В каком случае выражение a.equals(a1)
вернет значение false
?
Ответ:
 (1)
int[] a=new int[] {2,0,0,6};
int[] a1=a.clone();
 
 (2)
int[] a=new int[] {2,0,0,6};
int[] a1=a;
 
 (3)
int[] a=new int[] {2,0,0,6};
int[] a1=new int[a.length];
System.arraycopy(a,0,a1,0,a.length);
 
Номер 2
В каком случае выражение a.equals(a1)
вернет значение true
?
Ответ:
 (1)
int[] a=new int[] {2,0,0,6};
int[] a1=a.clone();
 
 (2)
int[] a=new int[] {2,0,0,6};
int[] a1=a;
 
 (3)
int[] a=new int[] {2,0,0,6};
int[] a1=new int[a.length];
System.arraycopy(a,0,a1,0,a.length);
 
Номер 3
В каком случае выражение a.equals(a1)
вернет значение true
?
Ответ:
 (1)
int[] a=new int[] {2,0,0,6};
int[] a1=a;
for (int i=0;i<a1.length;i++) {
a1[i]+=1;
}
 
 (2)
int[] a=new int[] {2,0,0,6};
int[] a1=new int[a.length];
System.arraycopy(a,0,a1,0,a.length);
for (int i=0;i<a1.length;i++) {
a1[i]+=1;
}
 
 (3)
int[] a=new int[] {2,0,0,6};
int[] a1=a.clone();
for (int i=0;i<a1.length;i++) {
a1[i]+=1;
}
 
Упражнение 7:
Номер 2
После выполнения какого фрагмента кода будет выведена строка "s1 равно s2"
?
Ответ:
 (1)
String s1="Вопрос 7";
String s2="Вопрос";
s2+=" 7";
if(s1==s2)
System.out.println("s1 равно s2");
else
System.out.println("s1 не равно s2");
 
 (2)
String s1="Вопрос 7";
String s2="Вопрос 7";
if(s1==s2)
System.out.println("s1 равно s2");
else
System.out.println("s1 не равно s2");
 
 (3)
String s1="Вопрос 7";
String s2="Вопрос";
s2+=" 7";
if(s1.equals(s2))
System.out.println("s1 равно s2");
else
System.out.println("s1 не равно s2");
 
Номер 3
Какие утверждения являются верными?
Ответ:
 (1) строковые переменные являются ссылочными 
 (2) в языке Java строковый и символьный тип совместимы 
 (3) внутри строки запрещено использовать переносы на новую строку 
 (4) строка может не содержать ни одного символа 
Упражнение 8:
Номер 1
После выполнения какого фрагмента кода значение переменной s1
будет равно значению Декабрь является 12-ым месяцем в году
?
Ответ:
 (1)
int iNumber = 12;
String s1 = "Декабрь является " + String.valueOf(iNumber) + "-ым месяцем в году";
 
 (2)
int iNumber = 12;
String s1 = "Декабрь является " + iNumber + "-ым месяцем в году";
 
 (3)
String s1 = "Декабрь является " + 12 + "-ым месяцем в году";
 
 (4)
double iNumber = 12;
String s1 = "Декабрь является " + iNumber + "-ым месяцем в году";
 
Номер 2
В каком случае при выполнении указанного фрагмента кода не возникнет ошибок?
Ответ:
 (1)
String s1 = "Декабрь является 12-ым месяцем в году";
String s2 = s1.substring(16,17);
int n = Integer.parseInt(s2);
 
 (2)
String s1 = "Декабрь является 12-ым месяцем в году";
char ch = s1.charAt(17);
String s2 = String.valueOf(s1.charAt(17)) + String.valueOf(s1.charAt(18));
int n = Integer.parseInt(s2);
 
 (3)
String s1 = "Декабрь является 12-ым месяцем в году";
int n = s1.substring(17,19) + 1;
 
Номер 3
В каком случае при выполнении указанного фрагмента кода возникнет ошибка?
Ответ:
 (1)
String s1 = "Декабрь является 12-ым месяцем в году";
String s2 = s1.substring(16,17);
int n = Integer.parseInt(s2);
 
 (2)
String s1 = "Декабрь является 12-ым месяцем в году";
char ch = s1.charAt(17);
String s2 = String.valueOf(s1.charAt(17)) + String.valueOf(s1.charAt(18));
int n = Integer.parseInt(s2);
 
 (3)
String s1 = "Декабрь является 12-ым месяцем в году";
int n = s1.substring(17,19) + 1;
 
Упражнение 9:
Номер 1
Чему будет равно значение переменной s
после выполнения операции String s=1+2+" и "+1+2;
?
Ответ:
 (1) 12 и 12
 
 (2) 3 и 12
 
 (3) 3 и 3
 
Номер 2
В каком случае значение переменной b
после выполнения кода будет равно true
?
Ответ:
 (1)
String str = Integer.toBinaryString(8);
boolean b = Character.isDigit(str.charAt(0));
 
 (2)
String str = Integer.toBinaryString(8);
boolean b = Character.isLetter(str.charAt(0));
 
 (3)
String str = Integer.toBinaryString(8);
boolean b = Character.isLetterOrDigit(str.charAt(0));
 
Номер 3
В каком случае значение переменной b
после выполнения кода будет равно false
?
Ответ:
 (1)
String str = Integer.toBinaryString(8);
boolean b = Character.isDigit(str.charAt(0));
 
 (2)
String str = Integer.toBinaryString(8);
boolean b = Character.isLetter(str.charAt(0));
 
 (3)
String str = Integer.toBinaryString(8);
boolean b = Character.isLetterOrDigit(str.charAt(0));
 
Упражнение 10:
Номер 1
Какие утверждения являются верными?
Ответ:
 (1) работа с переменными типа StringBuffer
быстрее, чем с переменными типа String
 
 (2) класс StringBuilder
обеспечивает синхронизацию строк 
 (3) изменение значений переменных класса StringBuilder
не приводит к созданию мусора 
 (4) класс StringBuilder
обеспечивает более быструю работу со строками по сравнению с классом StringBuffer
 
Номер 2
Какой класс обеспечивает синхронизацию строк?
Ответ:
 (1) String
 
 (2) StringBuffer
 
 (3) StringBuilder
 
Номер 3
Какие утверждения являются неверными?
Ответ:
 (1) класс StringBuilder
обеспечивает синхронизацию строк 
 (2) изменение значений переменных класса StringBuilder
не приводит к созданию мусора 
 (3) работа с переменными типа StringBuffer
быстрее, чем с переменными типа String
 
 (4) класс StringBuilder
обеспечивает более быструю работу со строками по сравнению с классом StringBuffer
 
Упражнение 11:
Номер 1
Какие ситуации приведут к возникновению исключений?
Ответ:
 (1) попытка записи на защищенный для записи диск 
 (2) деление на нуль 
 (3) отсутствие места на диске 
Номер 2
Какие утверждения являются верными?
Ответ:
 (1) экземплярами класса Error
являются непроверяемые исключительные ситуации, которые невозможно перехватить в блоках catch
 
 (2) класс Throwable
наследуется от класса Exception
 
 (3) экземплярами класса Exception
и всех его потомков являются проверяемые исключительные ситуации 
 (4) класс Error
наследуется от класса Throwable
 
Номер 3
Какие утверждения не являются верными?
Ответ:
 (1) экземплярами класса Error
являются непроверяемые исключительные ситуации, которые невозможно перехватить в блоках catch
 
 (2) экземплярами класса Exception
и его потомков (кроме RuntimeException
) являются проверяемые исключительные ситуации 
 (3) класс Error
наследуется от класса Throwable
 
 (4) класс Throwable
наследуется от класса Exception
 
Упражнение 12:
Номер 1
Какие утверждения являются верными?
Ответ:
 (1) непроверяемые исключения генерируются и обрабатываются системой автоматически 
 (2) для непроверяемых исключений всегда требуется явное возбуждение 
 (3) проверяемые исключения генерируются и обрабатываются системой автоматически 
 (4) для проверяемых исключений всегда требуется явное возбуждение 
Номер 2
Какие утверждения являются неверными?
Ответ:
 (1) непроверяемые исключения генерируются и обрабатываются системой автоматически 
 (2) для непроверяемых исключений всегда требуется явное возбуждение 
 (3) проверяемые исключения генерируются и обрабатываются системой автоматически 
 (4) для проверяемых исключений всегда требуется явное возбуждение 
Номер 3
Что произойдет, если использовать возбуждение исключительных ситуаций вместо блока else
в операторе if
?
Ответ:
 (1) выполнение программы займет больше времени 
 (2) выполнение программы займет меньше времени 
 (3) потребуется больше ресурсов 
 (4) потребуется меньше ресурсов