047471604Java语言程序设计一Word文件下载.docx
《047471604Java语言程序设计一Word文件下载.docx》由会员分享,可在线阅读,更多相关《047471604Java语言程序设计一Word文件下载.docx(89页珍藏版)》请在冰豆网上搜索。
A.关键字可以用来描述类的成员类型,但是不能描述普通变量
B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成
C.关键字不可以用作变量、方法、类或标号的标识符
D.break和main都是Java语言的关键字
0开头表8进制常量,数字只能(0-7)
1.5基本数据类型
1.下列字符组合不能作为Java整型常量的是()
A.078B.0x3ACBC.5000D.0x3ABC
1.在Java语言中,用于标记回车符的转义字符是
A.\bB./bC.\nD./n
1001-12.表达式¨
23&
18’’的值是__________。
2318
1101-1.在Java语言中,int类型数据的长度是()
A.1个字节B.2个字节C.4个字节D.8个字节
11.在Java语言中,双精度型变量在内存中占____8______个字节。
1101-l4.布尔类型数组元素的默认初值是____false_____。
第2章运算和语句
选择 填空 简答 程序填空
2.1数据运算
识记:
常用运算符的定义、包声明语句(package)和导入语句(import)
领会:
条件运算和其他运算
2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为(B)
A.byte→int→short→long→float→double
B.byte→short→int→long→float→double
C.byte→short→int→float→long→double
D.short→byte→int→long→float→double
1404-2.以下数据类型转换中,必须进行强制类型转换的是
A.int→charB.short→longC.float→doubleD.byte→int
2.以下程序代码的输出的结果是( )
intx=53;
System.out.println(1.0+x/2);
A.27.0B.27.5C.1.026D.1.026.5
1404-12.表达式“45&
20”的十进制值是______。
4101100&
010100
2.设有定义inti=6;
,则执行语句“i+=i-1;
’’后,i的值为
A.10B.11C.12D.13
1210-12.运算符‘‘<
”、“*”和“&
&
”按优先级从高到低的顺序排列为__*<
&
____。
21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。
(x=2)!
=(y=3)或(x=2&&y!
=3)||(x!
=2&&y!
=3)
12.构造一个Java表达式:
y/x>
5,并且x!
=0。
这个表达式是_________。
y/x>
5&
x!
=0
1101-12.表达式-4>
>
l的十进制值是______-2___。
(解法:
-4/(2的一次幂))
21.请写出表示year年是闰年的Java表达式。
闰年的条件是:
每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。
(year%4==0)&
(year%4!
=0)||(year%400==0)简答
12.用条件运算符构造一个表达式:
goal等于10时,表达式的值为“对了!
”,否则,表达式的值为“错了!
”。
1010-2.执行以下代码,输出结果是()
intx=5,y=7,u=9,v=6;
System.out.println(x>
y?
x+2:
u>
v?
u-3:
v+2);
A.8B.6C.7D.true
2.以下程序代码的输出结果是()
intx=73;
1);
A.36B.36.5 c.37D.true
1110-2.以下程序代码的输出的结果是()
doublex=25.6;
System.out.println((int)x<
<
1);
A.48B.50C.51D.52
1201-2.表达式“-1>
1”的十进制值是()
A.-2B.231-1C.-(231-1)D.232-1
12.在Java语言中,逻辑右移运算符为____>
______。
2.2语句
阅读简单程序的功能和输出结果,编写简单的程序
综合应用:
Java语言语句的书写形式和语句的语义,算术运算符、自增自减运算符、关系运算符和逻辑运算符
1210-2.以下关于Java语句的说法正确的是
A.continue语句必须出现在多路按值选择结构或循环结构中
B.return语句可以出现在方法体的外面
C.编译系统会把单独的分号看成是空语句
D.break语句的作用是提早结束当前轮次循环
1001-21.请写出一段if语句,判断一个整数n是否为偶数。
如果是偶数,输出“Yes.”;
否则,输出“No.”。
If(n%2==0){System.out.println(“Yes”);
}else{System.out.println(“No”);
}
1110-12.在Java语言中,package_____语句用于表示出现在该文件中的所有类都属于这个程序包。
1010-21.请使用for循环语句计算S=1+
的值。
doubles=0.0
for(inti=1;
s<
=10;
i++)s+=1.0/I;
1404-21.已知变量n,请写出使用for语句计算
的代码。
1101-21.请写一个if语句,判断整数n是否同时满足“被3除余2,被7除余1”的条件,满足时输出“OK”,否则输出“NO”。
1110-21.请使用for循环语句实现计算
2.以下程序代码的输出结果是()
intx=10;
while(x>
7)
{System.out.print("
*"
);
x--;
A.**B.***C.*D.****
1101-2.在switch语句中,switch后面括号内的表达式的类型不能是()
A.byteB.longC.charD.int
1010-12.程序包声明的格式是______。
12.import语句的格式是______。
12、import包名.类名;
1201-21.请写出以下程序段的执行结果。
intc=0,d,n=3758;
while(n>
0){if((d=n%l0)>
c)c=d;
n/=10;
System.out.println("
结果="
+c);
执行结果:
结果=8
21.请写出下面程序段的执行结果。
intn=90;
intk=2;
System.out.print(n+″=〞);
while(k<
=n){
if(k==n){System.out.println(n);
break;
elseif(n%k==0){System.out.print(k+″*″);
n=n/k;
)
elsek++;
}90=2*3*3*5
27.方法intmaxDigit(intn)的功能是找出十进制整数n各位中最大的一位数字。
例如,n=23765,该方法的返回值是7。
staticintmaxDigit(intn){
intc=0,d;
参考答案:
n%10
returnc
while(n>0){
d=_______;
if(d>c)c=d;
n/=10;
________;
}
27.方法intsigmaDigit(intn)的功能是求出十进制整数n的各位数字之和。
例如,n=1234,该方法的返回值是10。
staticintsigmaDigit(intn)
{intsum=0,d;
while(n>
0){
d=n%10;
_________;
sum+=d
n/=10;
_________;
returnsum
1010-27.方法booleanisPrime(intn)的功能是判断正整数n(n>
1)是否为质数。
staticbooleanisPrime(intn){
inti;
if(n==2)returntrue;
if(n%2==0)returnfalse;
for(i=3;
i*i<
=n;
i+=2)
if(_________)break;
if(_________)returntrue;
returnfalse;
1101-27.方法intnumberOfDigits(intn)的功能是计算十进制正整数n的位数。
intnumberOfDigits(intn){
intc=0:
do{n/=10;
}while(_________);
returnc;
第3章面向对象编程基础
选择 填空 简答 分析程序运行结果
识记:
类的内存模型,final、abstract、super、this的用法,Applet程序结构和执行过程。
领会:
抽象、对象、消息、类、继承、封装、接口、多态等面向对象的基本概念。
简单应用:
访问权限的设置,Applet类的init()、strart()、stop()、destroy()、paint()、repaint()等方法。
综合应用:
类的声明、成员变量(实例变量、类变量)和方法(实例方法、类方法)、构造方法、方法重载,对象的声明、创建和使用,接口的声明和使用。
3.1面向对象的基本概念
13.在面向对象语言中,对象之间的交互通过______实现。
相互发送消息
1110-13.在Java程序系统中,对象之间的交互通过相互发送_____消息__实现
13.类是对一组相同对象的描述,类概括了同类对象的共有性质:
_________。
(P40)数据(属性)和方法(函数)
1404-3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是
A.函数调用B.模块C.继承D.结构化
1010-13.当联编推迟至运行时间实现时,该联编过程称为______。
动态联编
3.在以下供选择的概念中,不属于面向对象语言概念的是(B)
A.消息 B.模块 C.继承D.多态性
1101-22.请写出在面向对象系统中,类和对象的关系。
1110-3.在以下供选择的概念中,不属于面向对象语言概念的是()
A.类B.函数C.动态联编D.抽象
13.在Java语言中,通过扩展原有的类,声明新类的机制被称为___继承_____。
3.2Java的类和对象
22.请写出在类的方法的定义之前,加上修饰字public、private的区别。
Public修饰的方法为公用方法,任何类的方法都可以访问他
Private修饰的方法,本类内部可以访问
1010-3.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是()
A.public B.private C.protectedD.<
无修饰>
1201-22.什么是方法重载,如何正确区分重载?
方法重载是指在一个类中定义多个有相同名字的方法。
区分方法:
根据这些方法或参数不同或者按顺序参数的类型不同来区分。
1101-13.在定义成员变量时,用关键字___static______修饰的是类变量。
3.参照以下Java代码,以下四个叙述中最确切的是( )
classA{intx;
staticinty;
voidfac(Strings){Syatem.out.println("字符串:
"+s);
A.x、y和s都是成员变量B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数D.x、y和s都是实例变量
1201-3.Java语言中,在类定义时用final关键字修饰,是指这个类()
A.子类必须实现父类未实现的方法B.没有具体实现代码
C.必须要有实例D.不能被继承
1210-3.不能被再继承的类是
A.final类B.abstract类C.public类D.用户自定义类
1404-13.如果类A继承和扩展类B,则子类A和超类B之间的关系是__isa____。
1201-12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的引用代码可以写成super.x。
1201-14.设u和v是类A的两个对象,则逻辑表达式“u==v”的意义是引用相同的对象。
0901-32.阅读下列程序,请写出该程序的输出结果。
classA{
intx,y;
标识:
类的内存模型
A(inta,intb){
x=a;
y=b;
publicclasssample{
publicstaticvoidmain(Stringargs[]){
Apl,p2;
p2=newA(12,15);
p1=p2;
p2.x++;
System.out.println("
p1.x="
+p1.x);
}p1.x=13
3.设类U声明,及对象u和v的定义如下:
classU{
intx,inty;
理解引用和对象实体很重要
U(inta,intb){x=a;
y=b;
voidcopy(Ua){x=a.x;
y=a.y;
Uu=newU(1,2),v=newU(2,3);
在以下供选择的代码中,可能引起系统回收内存的是()
A.u.x=v.y;
u.y=v.x;
B.u=v;
C.u.copy(v);
D.v.copy(u);
1010-32.阅读下列程序,请写出该程序的输出结果。
考点:
实例变量和类变量
publicclassA{
intm=5;
staticintn=3;
publicstaticvoidmain(String[]args){
Aobj1=newA();
Aobj2=newA();
objl.m*=2;
objl.n*=4;
obj2.m+=1;
obj2.n+=6;
obj1.m='
'
+obj1.m);
obj1.n="
+obj1.n);
obj2.m="
+obj2.m);
obj2.n="
+obj2.n);
22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。
继承――父子类间的赋值兼容
Personp1=newStudent();
Personp2=newUndergraduate();
Students1=newPerson();
Students2=newUndergraduate();
Undergraduateug1=newPerson();
Undergraduateug2=newStudent();
Objectob=newStudent();
(P57)Students1=newPerson();
Undergraduateug1=newPerson();
Undergraduateug2=newStudent();
[解析]本题考核知识点是类之间的is-a关系。
在两个相关的类之间,可能会有is-a和has-a关系。
若类A是继承扩展类B,则子类A和超类B之间是is-a关系,即类A是一个类B。
这种情况下,A类对象一定可以是B类类型,因为B类的所有成员A类也有。
也就是子类对象可以是超类类型。
语句B
b=newA()是正确的,Aa=newB()是错误的。
1001-32.阅读下列程序,请写出该程序的输出结果。
classParent{
privatevoidmethod1(){System.out.println("
Parent′smethod1()"
publicvoidmethod2(){System.out.println("
Parent′smethod2()"
method1();
classChildextendsParent{
publicvoidmethod1(){System.out.println("
Child′smethod1()"
publicstaticvoidmain(Stringargs[]){Parentp=newChild();
p.method2();
此处应注意Parent类的method1()是私有方法,不能被继承,若为public则是覆盖则结果为
Parent′smethod2()
Child′smethod1()
Parent′smethod1()
32.阅读下列程序,请写出该程序的输出结果。
多重继承子类对象的构造
classTree{
privateStringname;
publicbooleanflower;
publicintbirthYear;
Tree(Stringn,booleanf,inty){name=n;
flower=f;
birthYear=y;
publicvoidsetName(Stringn){name=n;
publicStringgetName(){returnname;
publicvoidprintTree(Stringstr){
System.out.println(str);
Name:
"
+name);
BirthYear:
+birthYear);
Flower:
+flower);
classPineTreeextendsTree{
publicbooleanconiferous=true;
PineTree(Stringn,booleanf,inty,booleanc){super(n,f,y);
coniferous=c;
super,printTree(str);
Coniferous:
+coniferous);
classTest32{
publicstaticvoidmain(String[]args){
TreefOb=newTree("
MayFlower"
true,1980);
PineTreesOb=newPineTree("
Pine"
false,2000,true);
fOb.printTree("
fOb:
sOb.printTree("
sOb:
Name:
MayFlower
BirthYear:
1980
Flower:
true(2分)
sOb:
Pine
2000
false
Coniferous:
3.以下关于抽象类及抽象方法的说法中,不正确的是
A.抽象方法只能出现在抽象类中B.抽象类必须有抽象方法
C.有抽象方法的类一定是抽象类D.抽象方法没有实现的代码
13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。
Final
3.Java语言中,在类定义时用final关键字修饰,是指这个类()
A.不能被继承B.在子类的方法中不能被调用
C.能被别的程序自由调用D.不能被子类的方法覆盖
1001-13.如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。
(P57)Has-a
3.3接口
100