java习题.doc
《java习题.doc》由会员分享,可在线阅读,更多相关《java习题.doc(26页珍藏版)》请在冰豆网上搜索。
![java习题.doc](https://file1.bdocx.com/fileroot1/2022-10/4/98fcd4f9-8a5c-4efb-9950-36ae02dc2b6a/98fcd4f9-8a5c-4efb-9950-36ae02dc2b6a1.gif)
一、选择题
1.如下哪个字符串是Java中的合法标识符?
(A)
A、fieldnameB、superC、3numberD、#number
Java用标识符(identifier)表示变量名、类名和方法名。
标识符可以由字母、数字和下划线(_)、美元符号($)组合而成,标识符必须以字母、下划线或美元符号开头,不能以数字开头
2.下面哪个语句正确地声明一个整型的二维数组?
(D)
A、inta[][]=newint[][];
B、inta[100][100]=newint[][];
C、int[]a[]=newint[100][100];
D、inta[][]=newint[100][100];
3.为AB类的一个无形式参数且无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为( D )。
A、abstract void method() B、final void method()
C、public void method() D、static void method()
4.已知代码:
Stringgreeting=“Hello”;
Strings=greeting.substring(0,3);System.out.println(s);
运行结果是_____A_____.
A)HelB)ellC)HellD)ello
5.已知代码:
Stringgreeting=“Hello!
”;
Chara=greeting.charAt(4);System.out.println(a);
运行结果是______B____.
A)lB)oC)空格D)!
6.给出如下代码:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
如何使成员变量m被函数fun()直接访问?
()
A、将privateintm改为protectedintm
B、将privateintm改为publicintm
C、将privateintm改为staticintm
D、将privateintm改为intm
7.下列说法不正确的是____A_____。
A)java语言不考虑安全性B)java是跨平台的语言
C)java是面向对象的语言D)java是具有多线各并发机制的语言
8.下列特点中不属于Java的是B
A)多线程
B)多继承
C)跨平台
D)动态性
9.下列说法不正确的是_____A_____。
A)Java语言不支持分布式计算B)Java是跨平台的语言
C)Java是面向对象语言D)Java是具有多线程并发机制的语言
10.java对内存的使用跟踪是____B_____。
A)多线程机制B)垃圾回收机制
C)代码安全检验机制D)异常处理机制
11.Java语言的并发机制是_____A_____。
A)多线程机制 B)垃圾回收机制
C)代码安全检验机制D)异常处理机制
12.关于对象成员占用内存的说法哪个正确?
( )
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
13.下列说法哪个正确?
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
14.下列说法哪个正确?
( )
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
15.关于方法main()的说法哪个正确?
( )
A.方法main()只能放在公共类中
Bmain()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
16. 字符流与字节流的区别在于( )
A.前者带有缓冲,后者没有
B.前者是块读写,后者是字节读写
C.二者没有区别,可以互换使用
D.每次读写的字节数不同
17.以下关于继承的叙述正确的是()。
A、在Java中一个类只能实现一个接口
B、在Java中类只允许单一继承
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
18.下面()函数是publicvoidexample(){...}的重载函数?
A、publicvoidexample(){...}
B、publicvoidexample(intm){...}
C、publicvoidexample2(){...}
D、publicintexample(){...}
19.已知如下代码:
publicclassTest{
publicstaticvoidmain(Stringarg[])
{
longa[]=newlong[6];
System.out.println(a[6]);
}
}
请问哪个语句是正确的?
()
A、程序输出nullB、程序输出0
C、因为long[]数组声明不正确,程序不能被编译
D、程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常
20.关于异常的含义,下列描述中最正确的一个是()。
A、程序编译错误 B、程序语法错误
C、程序运行时的错误 D、程序编译和运行时发生的错误
21.Java源文件和编译后的文件扩展名分别为()。
A、.class和.java B、.java和.class
C、.class和.class D、.java和.java
22.以下有关构造方法的说法,正确的是:
()。
A、一个类的构造方法可以有多个
B、构造方法在类定义时被调用
C、构造方法只能由对象中的其它方法调用
D、构造方法可以和类同名,也可以和类名不同
23.下列流中哪个不属于字节流( )
A.FileInputStream B.BufferedInputStream
C.FilterInputStream D.InputStreamReader
24.设i、j、k为类x中定义的int型变量,下列类x的构造方法中不正确的是()。
A、x(intm){...} B、voidx(intm){...}
C、x(intm,intn){...} D、x(inth,intm,intn){...}
25.关于构造方法,下列说法错误的是()
A、构造方法不可以进行方法重载 B、构造方法用来初始化该类的一个新的对象
C、构造方法具有和类名相同的名称 D、构造方法不返回任何数据类型
26.下列语句序列执行后,i的值是()。
inti=8,j=16;
if(i-1>j)i--;elsej--;
A、15
B、16
C、7
D、8
27.以下由for语句构成的循环执行的次数是()。
for(inti=0;true;i++);
A、有语法错,不能执行
B、无限次
C、执行1次
D、一次也不执行
28.下列数组定义及赋值,错误的是()
A. intArray[];
B. intArray[]={1,2,3,4,5};
C. intArray=newint[3];
D. int[][]a=newint[2][];
intArray[1]=1;
a[0]=newint[3];
intArray[2]=2;
a[1]=newint[3];
intArray[3]=3;
29.下列的哪个赋值语句是正确的?
A)inta=12L;
B)inta=12.0;
C)inta=12.0f;
D)inta=(int)12.0;
30.下列的哪个赋值语句是不正确的?
A.floatf=11.1; B.double d = 5.3E12;
C.float d = 3.14f D.double f=11.1E10f
31.一般的Java源程序文件由以下三部分组成,下列哪个选项不是()
A、package语句(0句或1句) B、接口定义语句(1个或多个接口定义)
C、import语句(0句或多句) D、类定义(1个或多个类定义)
32.定义类头时能使用的修饰符是()。
A、private
B、static
C、abstract
D、protected
33.下列语句序列执行后,k的值是()。
inti=10,j=18,k=30;
switch(j-i)
{case8:
k++;
case9:
k+=2;
case10:
k+=3;
default:
k/=j;
}
A、31 B、32 C、2 D、33
34.关于以下程序段的说明正确的是()
publicclassArrayTest{
publicstaticvoidmain(Stringargs[]){
try{
intx[]=newint[-5];
System.out.println("此行将无法被执行!
");
}catch(NegativeArraySizeExceptione){
System.out.println("exception:
数组下标不能为负数。
");
}
}
}
A、编译通过,输出:
B、编译通过,输出