JAVA各大练习题

JAVA各大练习题

1. 应用程序的main方法中有以下语句,输出结果是什么( A )
String s1=new String(“AAA”);
String s2=new String(“AAA”);
boolean b1=s1.equals(s2);
boolean b2=(s1==s2);
System.out.print(b1+” “+b2);

A. true false
B. false true
C. true true
D. false false

2.创建字符串String s1=new String(“This is a string”);
以下哪个返回值为5? (D)

A. s1.indexOf(“i”);
B. s1.indexOf(“i”,7);
C. s1.indexOf(“is”);
D. s1.lastIndexOf(“is”);

3.已知方法go是一个可抛出NegativeArraySizeException异常方法,则正确的方法声明是(D)?
A.void do() catch NegativeArraySizeException;
B.void do() finally NegativeArraySizeException;
C.void do() throw NegativeArraySizeException;
D.void do() throws NegativeArraySizeException;

4.哪个划线语句有语法错误?(D)
abstract class Speak{
public abstract void speakHello();
}
class Student{
void f(Speak sp) {
sp.speakHello();//A
}
}
public class a54 {
public static void main(String[] args) {
Student st=new Student();
st.f(new Speak(){//B
public void speakHello() {//C
System.out.println(“I am a student,how are you”);
}
})//D
}
}
A.A
B.B
C.B
D.D

5、(D)是为唯一对象而定义的类
A.静态类
B.成员类
C.局部类
D.匿名类

6.设有数组的定义int[]a=new int[3];则下列对数组元素的引用错误的是(C)
A.a[0]
B.a[a.length-1]
C.a[3]

7.在同一个类体中可以有两个同名且返回值类型相同的方法,这种现象称为方法的(D)
A.封装
B.继承
C.覆盖
D.重载

8.在类的定义中构造函数的作用是(C)
A.保护成员变量
B.读取类的成员变量
C.初始化成员变量
D.描述类的特征

9.下列关键字中,哪一个不是用于异常处理语句(B)
A.try
B.break
C.catch
D.Finally

10.类与对象的关系是(A)
A.类是对象的抽象
B.对象是类的抽象
C.对象是类的子类
D.类是对象的具体实例

11.下列哪种文件类型可以在JAVA虚拟机中运行(D)
A…java
B…jre
C…exe
D…class

12.以下哪个选项可以创建一个含有三个元素的二维数组(D)
A.new int[2][3]
B.newe int[3]
C.new int[][3]
D.以上都不对

13.自定义异常类,必须继承以下哪个类? (B)
A.Error
B.Excepteion
C.RuntimeException
D.Throws

14.final不能修饰哪个选项?(B)
A.类
B.接口
C.方法
D.变量

15.JAVA中所有的类都是哪个类的直接或间接子类(A)
A.Object
B.String
C.Root
D.Top

16.(D)不是内部类
A.成员类
B.静态类
C.局部类
D.单件类

17.JAVA的I/O流根据功能层次可以分为(AD)
A.节点流
B.字符流
C.字节流
D.处理流

18. 如果一个类的对象可以被克隆,那么这个类必须实现(B)接口
A.Clone
B.Cloneable

19.下面的程序段创建了()类的对象out,以便将对象x保存到d盘my文件夹下的文件1.txt,则在划横线处处应填入(B)
A.FileInputStream
B.FileOutputStream
C.DataInputStream
D.DataOutputStream

20.抛出自定义异常类对象的关键字是(D)?
A.Catch;
B.Throws;
C.cast;
D.throw;

21.©是输入字节流的最高父类
A.Reader
B.OutputStream
C.InputStream
D.Writer

22.执行下列程序段后,字符串s的值为(D).
StringBuffer s=new StringBuffer();
s.append(456);
s.append(123);
A.456
B.123
C.579
D.456123

23.已知String s=new String(“abc”);则执行语句s.concat(“d”);
后s的值为( A).
A.abc
B.abcd
C.dabc
D.d

24.执行下列是程序段后,a.length*a[0].length的值为(C)
int[][]a=new int[3][];
a[0]=new int[3];
System.out.println(a.length);
}
A.3
B.6
C.9
D.12

25.执行下列程序段,程序的输出是?(D)
try {
int a=200/0;
}catch(Exception e){
System.out.println(“ArithemticException”);
}catch(NullPointerException e) {
System.out.println(“NullPointerException”);
}catch(ArrayIndexOutOfBoundsException e) {
System.out.println(“OutOfBoundsException”);
}
A.ArithemticException
B.NullPointerException
C.OutOfBoundsException
D.程序有语法错误

26.匿名类一定是某个类的子类(A)
A.正确
B.错误

27.接口可分为(C)和友好接口。
A.private
B.protected
C.public
D.static

28.接口中只能有常量,不能有变量(A)
A.正确
B.错误

29.接口中的成员变量都是(AC)
A.public
B.private
C.static
D.orotected

30.final方法不允许子类重写(A)
A.正确
B.错误

31.匿名类的类体内允许出现static类型的成员(B)
A.正确
B.错误

32.已知String s=new String(“abc”);则表达式s.concat(“d”)的值为(B)
A.abc
B.abcd
C.dabc
D.d

33.接口之间不能互相继承(B)
A.正确
B.错误

34.接口之间的方法都是(AD)
A.public
B.static
C.private
D.abstract

35.final类不能被继承(A)
A.正确
B.错误

36.下面哪一个是java中不合法的标识符(D)
A.$persons
B.twoNum
C._myVar
D.*point

37.对于一个Java源文件import,class定义以及package正确的顺序是(A)
A.package,import,class
B.class,import,package
C.import,package,class

38.如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是(C)
A.public
B.protected
C.private
D.static

39.以下关于继承的叙述正确的是(A)
A.在java中类只允许单一继承
B.在java中一个类只能实现一个接口
C.在java中一个类不能同时继承一个类和实现一个接口
D.在java中接口只允许单一继承

40.以下关于构造方法的说法,正确的是(A)
A.一个类的构造方法可以有多个
B.构造方法在类被定义时被调用
C.构造方法只能由对象中的其它方法调用
D.构造方法可以和类同名,也可以和类名不同

41.下列程序存在语法错误,用(B)替换划线语句,程序能通过。
class Tom{
private float(float a,float b)
{
return a*b;
}
}
class Jerry{
void g(){
Tom cat=new Tom();
float sum=cat.f(3.4f,5.6f);
}
}
A.private float f(float a)
B.float f(float a,float b)
C.float f()
D.static private float f(float a,float b)

42.已知下方应用程序存放于文件a69中。下列程序存在语法错误,用(B)替换划线语句,程序能通过。
public class Student{
public void speak(String s) {
System.out.println(s);
}
}
public class a69 {
public static void main(String[] args) {
System.out.println(“这是一个简单的应用程序”);
Student stu=new Student();
stu.speak(“we are studenrs”);
}
A.public class Student
B.class Student
C.class new
D.private class Student

43.下方语句段存在语法错误,问删除哪条语句程序能通过编译(D)。
void f() {
int m=10,sum=0; //A
if(m<9) {
int z=10;
z=2*m+z; //B
}
for(int i=0;i<m;i++) {
sum=sum+i; //C
}
z=i+sum; //D
}

A.A
B.B
C.C
D.D

    原文作者:烟蒂已尽流年殆尽~
    原文地址: https://blog.csdn.net/qq_51467306/article/details/117989566
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞