y:
x
C)、x>y?
(x+y):
(x-y)D、x==y?
y:
x
29、下列语句执行后,变量a、c的值分别是()。
intx=182;
inta,c;
c=x/100;
a=x%10;
A、1,2B、2,1C、1.82,2D、100,82
30、应用程序的main方法中有以下语句,则输出的结果是()。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
A、12.5B、120.5C、12D、“12.5”
二、填空题
1、开发与运行Java程序需要经过的三个主要步骤为、
和。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用字节内存空间,这样,无论是中文字符还是英文字符,都是占
用字节内存空间。
3、设x=2,则表达式(x++)/3的值是。
4、若x=5,y=10,则x=y的逻辑值分别为和。
5、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
方法是不能被当前类的子类重新定义的方法。
6、创建一个名为MyPackage的包的语句是,
该语句应该放在程序的位置为:
。
7、在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系。
8、如果将类MyClass声明为public,它的文件名称必须是才能正常编译。
9、Java程序中的单行注释符是,多行注释符是。
10、Java中布尔类型的常量有两种,它们是和。
11、Java中用于定义小数的关键字有两个:
和,后者精度高于前者。
12、Java中用于两个数相等比较的运算符是:
,用于不相等比较的运算符是。
13、导入mypackage包中的所类的命令是。
14、假设x=13,y=4,则表达式x%y!
=0的值是,其数据类型是。
15、以下程序段的输出结果是
intx=5,y=6,z=4;
if(x+y>z&&x+z>y&&z+y>x)
System.out.println("三角形");
else
System.out.println("不是三角形");
16、定义类的保留字是,定义接口的保留字是。
17、构造方法是一种特殊的成员方法,构造方法名与相同。
18、Java语言只允许单继承,指每个类只能有一个。
19、Java源程序的扩展名是,经过编译后的程序的扩展名是。
20、创建类的对象时,使用运算符___________给对象分配内存空间。
21、定义类的构造方法不能有返回值类型,其名称与_____名相同。
22、Java语言中关键字_____表示双精度类型。
23、若有类定义:
classBextendsA{
…
}
则类B是类A的______。
24、接口中的成员只有静态常量和______。
25、在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。
三、写出下面程序的运行结果
1、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
ABs=newAB("Hello!
","IloveJAVA.");
System.out.println(s.toString());
}
}
classAB{
Strings1;
Strings2;
publicAB(Stringstr1,Stringstr2)
{
s1=str1;
s2=str2;
}
publicStringtoString()
{
returns1+s2;
}
}
运行结果:
2、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("a="+a+"\nb="+b);
}
}
classSubClassextendsSuperClass
{intc;
SubClass(intaa,intbb,intcc)
{
super(aa,bb);
c=cc;
}
}
classSubSubClassextendsSubClass
{inta;
SubSubClass(intaa,intbb,intcc)
{super(aa,bb,cc);
A=aa+bb+cc;
}
voidshow()
{
System.out.println("a="+a+"\nb="+b+"\nc="+c);
}
}
运行结果:
3、给出以下程序的输出结果。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
System.out.println(c.name+"is"+c.age+"yearsold!
");
}
}
结果为:
四、读程序填空题
1.publicclassSum{
publicstaticvoidmain(String[]args){
intj=10;
System.out.println("jis:
"+j);
calculate(j);
System.out.println("Atlast,jis:
"+j);
}
staticvoidcalculate(intj){
for(inti=0;i<10;i++)
j++;
System.out.println("jincalculate()is:
"+j);
}
}
输出结果为:
jis:
(1)
jincalculate()is:
(2)
Atlastjis:
(3)
答案:
(1)
(2)
(3)
2.按要求填空
abstractclassSuperAbstract{
voida(){…}
abstractvoidb();
abstractintc(inti);
}
interfaceAsSuper
{
voidx();
}
abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper
{
publicvoidb(){…}
abstractStringf();
}
publicclassInheritAbstractextendsSubAbstract{
publicvoidx(){…}
publicintc(inti){…}
publicStringf(){…}
publicstaticvoidmain(Stringargs[]){
InheritAbstractinstance=newInheritAbstract();
instance.x();
instance.a();
instance.b();
instance.c(100);
System.out.println(instance.f());
}
}
在以上这段程序中:
抽象类有:
SuperAbstract和
(1) (写出类名)
非抽象类有:
(2) (写出类名)
接口有:
(3) (写出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)
答案:
(1)
(2)
(3)
(4)
(5)
3.按注释完成程序
publicclassLeaf{
privateinti=0;//此属性值用于检验
Leafincrement(){//定义方法increment(),返回值是Leaf类的对象
i++;
return
(1);//将当前对象的地址作为返回值返回
}
voidprint(){
System.out.println("i="+i);
}
publicstaticvoidmain(Stringargs[]){
Leafx=
(2);//创建Leaf类的对象x
x.increment().increment().increment().print();
}//多次调用方法increment(),返回的都是x的地址,i值表示调用次数
}
输出结果为i=(3)
答案:
(1)
(2)
(3)
4. 阅读程序,给出结果:
//AbstractClassDemo.java源代码如下:
abstractclassShape{//定义抽象类Shape和抽象方法display
abstractvoiddisplay();
}
classCircleextendsShape{
voiddisplay(){//实现抽象类的方法
System.out.println("Circle");
}
}
classRectangleextendsShape{
voiddisplay(){//实现抽象类的方法
System.out.println("Rectangle");
}
}
classTriangleextendsShape{
voiddisplay(){//实现抽象类的方法
System.out.println("Triangle");
}
}
publicclassAbstractClassDemo{
publicstaticvoidmain(Stringargs[]){
(newCircle()).display();//定义无名对象来调用对应的display方法
(newRectangle()).display();
(newTriangle()).display();
}
}
输出结果是?
答案:
(1)
(2)(3)