一、选择题1.Java语言与其它语言相比,独有的特点是(C)
A、面向对象 B、多线程C、平台无关D、可扩展性
2.下面哪个不是Java语言的关键字()
A、default B、number C、abstract D、package
3.下面语句正确的是()
A、x+1=5 B、i++=1 C、a++b=1 D、x+=1
4、设A为已知定义的类名,下列声明A类的对象a的语句
A、float A a B、public a=A() C、A a=new int () D、A a=new A()
5、如果类的方法没有返回值,该方法的返回类型应是:
A、void B、null C、abstract D、default
6、下列对继承的说法,正确的是()
A、子类能继承父类的所有方法和状态
B、子类继承父类的非私有方法和状态
C、子类只能继承父类的public方法和状态
D、子类只能继承父类的方法
7、能单独和finally语句一起使用的块是
A、try B、catch C、throw D、throws
8、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()
A、ArithmeticException B、NumberFormatException
C、Exception D、ArrayIndexOutOfBoundException
9、以下对选择语句描述错误的是
A、根据某一条件重复执行一部分代码直到满足终止条件为止
B、可以根据条件控制程序流程,改变程序执行的顺序
C、选择语句可以嵌套使用
D、当条件满足时就会执行相应的语句
10、为初始化其成员变量,每个类都定义的方法是
A、方法 B、main()方法 C、构造方法 D、对象
11、为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为
A、 、 static void method()
B、public void method
C、 、 protected void method()
D、abstract void method()
12、下面是findSum(int m.int n)方法的定义,方法调用findSum(1,5)的返回结果是
Int findSum(int m.int n)
Int sum=0;
For(int i=m;i<=n;i++)
Sum+=i;
A、1 B、5 C、10 D、15
13、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以
A、让该类不使用任何关键字。
B、使用private关键字
C、使用protected关键字
D、使用void关键字
14、下列关于修饰符混用的说法,错误的是
A、abstract不能与final并列修饰同一个类
B、abstract类中不应该有private的成员
C、abstract方法必须在abstract类中
D、static方法中能处理非static的属性
15、应用程序的main方法中有以下语句,则输出的结果
String s1=new String(”xyz”);
String s2=new String(”xyz”);
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
16、程序Demo.java编译运行后输出的结果是:
Public class demo
Int x=1;
Int y;
Public static void main(String args[])
Int z=2;
Demo t=new Demo();
System.out.printin(t.x+t.y+z);
A.、3 B、12 C、1 D、 //t.y默认值为0
17、下列对接口的说法,正确的是
A、接口与抽象类是相同的概念
B、实现一个接口必须实现接口的所有方法
C、接口之间不能有继承关系
D、一个类只能实现一个接口
18、下面的程序输出的结果是
Public class A implements B
Public static void main(string args[])
int i;
A a1=newA();
i=a1.k;
System.out.printin(“i=”+i);
Interface B
{
Int k=10
}
A、i=0 B、i=10 C、程序有编译错误 D、i=true
19、以下会产生信息丢失的类型转换是
A、float a=10 B、int a=(int)8846.0 C、byte a=10; int b=-a D、double d=100;
20、Scanner类定义在以下哪个包中
A、java.lang B、java.util C、javax.swin D、java.awt
21、下列叙述错误的是
A、java提供了丰富的类库
B、java很好的利用了网络资源
C、java支持多线程
D、java不支持TCP/IP协议
22、编译java程序的命令文件是
A、java.exe B、javac.exe C、 D、applet.exe
23、将类的成员的访问权限设置为默认的,则该成员能被
A、同一包中的类访问 B、其它包中的类访问
C、所有的类访问 D、所有的类的子类访问
24、容器panel缺省使用的布局编辑策略是
A、Border Layout B、Flow Layout C、GridLayout D、Card Layout
25、下列关于修饰符混用的说法,错误的是
A、abstract不能与final并列修饰同一个类
B abstract 类中不应该有private的成员
C abstract 方法必须在abstract类中
D staic方法中能处理非static的属性
26.执行语句“int a=’2’”后,a的值是【 】
A 2 B 50 C 49 D 0
27.main方法是java Application 程序执行的入口点,关于main方法的方法头以下哪个选项是合法的【】
A public static vold main ()
B public static vold main(string【】args)
C public static vold main (string[]arg)
D public static vold main(string arg[])
28. 以下定义一维数组的语句中,正确的是:【 】
A] int a [10]
B int a []=new [10]
C int a []
int a []=new int [10]
D int a []={1,2,3,4,5}
29 定义类中成员变量时不可能用到的修饰是【 】
A final B void C protected D static
二. 填空题
1. 根据程序的构成和运行环境的不同,java源程序分为两大类:application程序和---Applet-----程序。
2 ------构造函数-----是一个特殊的方法,它用来定义对象的最初状态。
3. 在子类中使用关键字------super--------做前缀可调用被子类覆盖的父类中的方法。
4 object 类是java 所有类的------基类或祖先类-------。
5 同一类中多个方法具有相同的方法名,不同的参数列表称为方法的----重载------。
6 接口是一种只能包含有抽象方法或-----常量------的特殊抽象类。
7 如果一个try程序段中有3个catch语句,则这些catch语句最多会执行----1----次。
8 单击按钮引发的事件是---ActionListener---------。
9 在一个java 源文件中定义了3个类,编译该java源文件时会产生------1---个字节码文件。
10 运行下列程序段后,c 的取值为-----------。
Int a=100, b=50, c;
Char oper =’+’;
Switch(oper)
Case ‘+’
C=a+b;
Break;
Case ‘+’
C=a+b;
Break;
Default;
C=a+b;
Break;
}
11.创建类的对象时,使用运算符_____new______-给对象分配内存空间。
12. 在子类中使用关键字___extends________继承父类中的属性方法。
13. 表示包的关键字是_______package____-。
14 java语言中关键字 interface 用来定义一个____接口_______。
15 同一个类中多个方法具有相同的方法名,不同的参数列表称为方法的_____重载______。
16 int a[]={1,2},则数组a 中元素的最大下标是_____1______。
17. -___Object________类是所有java 包中的类,用户自定义类的直接或间接父类。
18. java 小程序的源文件名为 appleta java ,为运行该小程序,应将小程序嵌入网页文件中,其中html的关键代码如下,请将其补充完整;
APPLET CODE= “___appleta.class________”
.19.在一个java源文件中定义了5个类,编译java源文件时会产生____1_______个字节码文件。
20 如果子类A中的show ()的名字,返回值类型和参数类表与它的父类B中的show()完全一样,则称子类中的show()方法___覆盖________了父类的同名方法。
三、判断题
1、访问当前类的对象中的成员必须使用关键字super作为前缀。
2、每个javaApplication应用程序可以包括多个方法,但必须有且只有一个main()方法。
3、当一个方法在运行过程中产生一个异常,则这个方法会终止,整个程序一定终止运行。
4、在java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
5、如果parent是父类Parent的对象,而child是子类child的对象,则语句parent=child是正确的。
6、java的字符类型采用的是Unicode编码,但所占字节由具体硬件环境决定。
7、java程序的源文件名称与主类(公共类)的名称相同,后缀是java。
8、如果某源文件包含package语句,则该语句可以放在import语句之后。
9、java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
10、由继承性可知,程序中子类拥有的可直接访问的成员数目一定大于等于父类拥有的成员数目。
11、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
12、为了区分类中重载的不同方法,要求返回值数据类型不同。
13、如果某源文件包含package语句,则该语句必须是第一个非注释行。
14、如果类的方法没有返回值,该方法的返回值类型应当是abstract。
15、try块后必须有catch块。
16、用户不能调用构造方法,只能通过new关键字自动调用。
17、所有异常类的父类都是Throwable。
18、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
19、Color类中的常量blue表示蓝色。
20、java的屏幕坐标是以像素为单位,容器的右下角被确定为坐标的起点。
四、改错题
1、class Student
{ int a=10
Static int geta()
{ return a;}
}
2、class Ta
{ private String name;
Ta(String name){this.name=name;}
}
Class Tal extends Ta
{Tal(){}
}
3、public class Myclass
{ public static void main(String args[])
{System.out.printin(MyClass.y);}
}
Class MyClass1
{ int y=10;}
4、class Hip
{ final int f=10;
Double d;
Abstract void method();
}
5、class Reader
{ int data1;
Reader1(a)
{data1=a;}
}
Class Reader1 extends Reader
{int data2;
Reader1(d)
{data2=d;
Super(d);
}
}
五、程序阅读
1、
Public class Test
{ public static void main(string args[])
{ superclass x=new subsubclass(10,20,30);
X show();
}
}
Class superclass
{ int a,b;}
Void show();
{ system.out.printin(”a=”+a+”\\nb=”+b);}
Class subclass extends superclass
{int c;
Subclass(int aa,int bb,int cc)
{ super(aa,bb);
C=cc;
}
}
Class subsubclass extends subclass
{ int a;
Subsubclass(int aa,int bb,int cc)
{ super(aa,bb,cc);
A=aa+bb+cc;
}
Void show()
{ system.out.printin(“a=”+a+”\\nb=”+b+”\\nc=”+c);}
}
输出结果为:________________
_________________
_________________
2、public class A
{ public static void main(string args[])
{ double d=123,4;
B b=new B();
b.decrement(d);
system.out.printin(d);
}
}
Class B
{public void decrement(double decme)
{decme=decme-1.0;}
}
结果为:____________
3、public class test
{public static void main(string args[])
{try
{int x[ ]={4,5,6};
Int k=integer.parseint(args[0]);
System.out.printin(x[k]);
System.out.printin(”try结束!”);
}
Catch(Arrayindexoutofboundsexceptione)
{ system.out.printIn(“执行catch”);}
Finally{system.out.printin(“执行finally”);}
System.out.printIn(“程序结束!”);
}
}
若在命令行编译程序后,键入下面的内容运行该程序:
Java Test 2
则程序输出的结果:6try结束!______________
______________
______________
______________