沈师PTA--JAVA程序设计-第3章习题集(2)--单选题答案版 2021-11-03

R2-1

以下对封装的描述正确的是
(2分)
A.

如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
B.

只能对一个类中的方法进行封装,不能对属性进行封装
C.

封装的意义不大,因此在编码时尽量不要使用
D.
封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性

R2-2

当访问无效的数组下标时,会发生( )。
(2分)
A.

中止程序
B.

直接跳过
C.
抛出异常

D.

系统崩溃

R2-3

下面声明哪个顺序是正确的?( )
(2分)
A.
package, import, class

B.

import, package, class
C.

package, class, import
D.

class, import, package

R2-4

定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为( )
(2分)
A.

24
B.

18
C.
25

D.

17

R2-5

已定义数组:int[] scores = {100,80,50,70,60}; 以下访问不正确的是( )
(2分)
A.

int x = scores[scores.length-1];;
B.
int x = scores[5];;

C.

int x = scores[1];
D.

int x = scores[0];

R2-6

以下二维数组的定义正确的是( )
(2分)
A.
int a[][]=new int[3][]

B.

int a[3][2]={ {1,2},{1,3},{2,3}}
C.

int[][] a=new int[][]
D.

int[][] a=new int[][3]

R2-7

访问修饰符作用范围由大到小是( )
(2分)
A.

private-default-protected-public
B.
public-protected-default-private

C.

private-protected-default-public
D.

public-default-protected-private

R2-8

声明成员变量时,如果不使用任何访问控制符(public, protected, private),则以下哪种类型的类不能对该成员进行直接访问 ( ) .
(2分)
A.

同一包中的子类
B.

同一包中的非子类
C.

同一类
D.
不同包中的子类

R2-9

定义了一维int型数组a[10]后,下面错误的引用是( ) 。
(2分)
A.

a[0]=5*2
B.

a[1]=a[2]*a[0]
C.
a[10]=2

D.

a[0]=1

R2-10

下面关于数组声明和初始化的语句那个有语法错误?( )
(2分)
A.

String a2[]={“string1”,“string1”,“string1”};
B.

int a1[]={3,4,5};
C.

int[][] a4=new int[3][3];
D.
String a3[]=new String(3);

R2-11

下面的( )操作符可以使其修饰的变量只能对同包中的类或子类可见
(2分)
A.
protected

B.

default
C.

private
D.

public

R2-12

给出下面代码,关于该程序以下哪个说法是正确的?( )

public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
System.out.println(arr[0]);
}
}

(2分)
A.

编译时将产生错误
B.

输出空
C.

编译时正确,运行时将产生错误
D.
输出0

R2-13

已定义了一个数组:int[] scores = new int[30]; 如下访问正确的是:( )
(2分)
A.

int len = scores.length();
B.
int len = scores.length;

C.

int len = scores.size;
D.

int len = scores.size();

R2-14

下列关于数组的声明哪一个是错误的。
(2分)
A.

int a[2]={1,2};
B.
int[ ] a={1,2};

C.

int[ ] a=new int[2];
D.

int a[ ]={1,2};

R2-15

下列语句会造成数组new int[10]越界是( )。
(2分)
A.

a[9]
B.

a[9]=10;
C.

a[0] += 9;
D.
for(int i=0;i<=10;i++) a[i]++;

R2-16

以下数组定义正确的是( )。
(2分)
A.

int[] scores = int[30];
B.
int[] score = new int[30];

C.

int primes = {2,3,4,5,7,11};
D.

int[] primes = new{2,3,5,7,11};

R2-17

下面说法正确的是()
(2分)
A.
如果源代码中有package语句,则该语句必须放在代码的第一行

B.

如果源代码中有main方法,则该方法必须被放在代码的第一行
C.

如果某文件的源代码中定义了一个public的接口,接口名和文件名可以不同
D.

如果源代码中有import语句,则该语句必须放在在代码的第一行

R2-18

下面声明数组的写法错误( )。
(2分)
A.

int a[ ];
B.
int[ ][3] a;

C.

int[ ][ ] a;
D.

int[ ] a;

R2-19

如下代码运行后,list2的输出是( )。

class Test {
public static void main(String[] args) {
int[] list1 = {1, 2, 3};
int[] list2 = {1, 2, 3};
list2 = list1;
list1[0] = 0; list1[1] = 1; list2[2] = 2;
for (int i = 0; i < list2.length; i++)
System.out.print(list2[i] + ” “);
}
}

(2分)
A.
0 1 2

B.

1 1 1
C.

1 2 3
D.

0 1 3

R2-20

若int a[][]={ {123,345,334},{1,2},{3,4}}; 则 a[2][1]=( )。
(2分)
A.

3
B.
4

C.

1
D.

2

R2-21

声明了一个数组 double[] list = {3.4, 2.0, 3.5, 5.5}, list[1] 是( )。
(2分)
A.

3.5
B.

3.4
C.

不确定
D.
2.0

R2-22

类中的一个成员方法被下面哪个修饰符修饰时,该方法只能在本类被访问 ( )。
(2分)
A.

default
B.
private

C.

public
D.

protected

R2-23

执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( )
(2分)
A.

x[0]为空
B.

x[9]未定义
C.

x[10]为0
D.
x[9]为0

R2-24

有如下程序代码,执行后输出结果是:( )。

int[] arr1=new int[10];
int[] arr2=new int[arr1.length];
System.out.println(arr1==arr2);

(2分)
A.

true
B.
false

C.

1
D.

0

R2-25

以下语句不能通过编译的是( )。
(2分)
A.
int d=new int[];

B.

int[] a={1,2,3,4};
C.

int b[];
D.

int c[]=new int[3];

R2-26

下列代码的输出是( )。

double[] myList = {1, 5, 5, 5, 5, 1};
double max = myList[0];
int indexOfMax = 0;
for (int i = 1; i < myList.length; i++) {
if (myList[i] >= max) {
max = myList[i];
indexOfMax = i;
}
}
System.out.println(indexOfMax);

(2分)
A.

5
B.

0
C.
4

D.

1

R2-27

下面程序的运行结果是( )

main() {
int x=30;
int[] numbers=new int[x];
x=60;
System.out.println(numbers.length);
}

(2分)
A.
30

B.

20
C.

50
D.

60

R2-28

下列代码的执行结果是( )。

public class Main {
public static void main(String[] args) {
int s = 0;
int myArray[] = {10,20,30,40,50,60,70,80,90,100};
for (int i=0; i<myArray.length;i++)
if (i%2==1) {
s += myArray[i];
}
System.out.println(s);
}
}

(2分)
A.

350
B.

250
C.

200
D.
300

R2-29

有以下程序片段,下列哪个选项不能插入到行1。( )

  1. public class Interesting{
  2.  //do sth
    
  3. }

(2分)
A.

class OtherClass{ }
B.

package mypackage;
C.

import java.awt.*;
D.
public class MyClass{ }

R2-30

关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )
(2分)
A.

只能被同一个包中的类访问
B.

可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
C.

可以被两种类访问和引用:该类本身、该类的所有子类
D.
只能被该类自身所访问和修改

R2-31

以下哪句是错误的?
(2分)
A.

编译器会搜索要import的类的编译结果文件而不是源文件
B.
import是把要import的类的源代码插入到import语句所在的地方

C.

import是告诉编译器要import的包的信息
D.

编译器在编译的时候需要能访问得到要import的类的编译结果文件

R2-32

关于类中成员变量的作用范围,下述说法中正确的是( )。
(2分)
A.
类中所有成员变量在所有成员方法中有效

B.

用private修饰的成员变量可以在main方法中直接使用
C.

用static修饰的成员变量只能在用static修饰的方法中使用
D.

只有用public修饰的变量才能在所有方法中使用

R2-33

Java程序默认引用的包是( )。
(2分)
A.
java.lang包

B.

java.util包
C.

java.awt包
D.

java.text包

    原文作者:小泽同学️
    原文地址: https://blog.csdn.net/qq_58056611/article/details/121128789
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞