047471604Java语言程序设计一.docx

上传人:b****4 文档编号:27118691 上传时间:2023-06-27 格式:DOCX 页数:111 大小:557.22KB
下载 相关 举报
047471604Java语言程序设计一.docx_第1页
第1页 / 共111页
047471604Java语言程序设计一.docx_第2页
第2页 / 共111页
047471604Java语言程序设计一.docx_第3页
第3页 / 共111页
047471604Java语言程序设计一.docx_第4页
第4页 / 共111页
047471604Java语言程序设计一.docx_第5页
第5页 / 共111页
点击查看更多>>
下载资源
资源描述

047471604Java语言程序设计一.docx

《047471604Java语言程序设计一.docx》由会员分享,可在线阅读,更多相关《047471604Java语言程序设计一.docx(111页珍藏版)》请在冰豆网上搜索。

047471604Java语言程序设计一.docx

047471604Java语言程序设计一

4747Java语言程序设计

(一)

第一章Jave语言基础

1.1Java语言的特点

领会Java语言的特点、关键字

1010-11.Java语言采用多种机制来保证可移植性,其中最主要的是______。

虚拟机

1110-11.Java语言是一种____强类型语言___语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误。

1.2Java应用程序和小应用程序

识记Java应用程序与小应用程序的特点和区别

11.一个应用程序必须在某个类中定义的方法是______。

main()

1201-11.能在浏览器上执行的Java程序被称为小应用程序。

1.3Java程序的开发过程

11.Java程序的字节码文件的扩展名是_________。

Class

1001-11.Java的编译程序先将Java源程序翻译成与机器无关的__________。

字节码

1101-11.Java源文件的扩展名是_____.java____。

1210-11.如果Java源文件中有多个类,那么只能有一个__public____类。

1404-11.类Testll经Java编译程序编译后,产生的文件是______。

Test11.class

1.4标识符和关键字

简单应用:

Java程序的标识符命名规则、注释、基本数据类型

标识符可以用来标识文件名、变量名、类名、接口名和成员方法名等,其构造规则如下:

1)标识符由Java字母和Java数字组成;

2)首字符必须是Java字母;

3)除去关键字、false、true和null;

4)所有标识符是区分大小写的。

注释:

1)行注释//

2)块注释/*….*/

3)文档注释/**…*/

1404-1.以下标识符中,不是Java语言关键字的是

A.waitB.newC.longD.switch

1.下述字符组合不能作为Java程序标识符的是(   )

A.Aa12B.大xC.y小D.5x

1.下面供选字符序列中,不属于Java语言关键字的是()

A.gotoB.nullC.falseD.native

1.在下述字符串中,不属于Java语言关键字的是(C)

A.floatB.newC.javaD.return

1110-1.下面供选字符序列中,不属于Java语言关键字的是()

A.throwB.synchronizedC.protectD.try

1010-1.以下是关于Java语言关键字的叙述,其中正确的是()

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;System.out.println(x>>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;

System.out.println("obj1.m=''+obj1.m);

System.out.println("obj1.n="+obj1.n);

System.out.println("obj2.m="+obj2.m);

System.out.println("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′smethod2()

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);System.out.println("Name:

"+name);

System.out.println("BirthYear:

"+birthYear);

System.out.println("Flower:

"+flower);

}

}

classPineTreeextendsTree{

publicbooleanconiferous=true;

PineTree(Stringn,booleanf,inty,booleanc){super(n,f,y);coniferous=c;}

publicvoidprintTree(Stringstr){

super,printTree(str);

System.out.println("Coniferous:

"+coniferous);

}

}

classTest32{

publicstaticvoidmain(String[]args){

TreefOb=newTree("MayFlower",true,1980);

PineTreesOb=newPineTree("Pine",false,2000,true);

fOb.printTree("fOb:

");sOb.printTree("sOb:

");

fOb:

Name:

MayFlower

BirthYear:

1980

Flower:

true(2分)

sOb:

Name:

Pine

BirthYear:

2000

Flower:

false

Coniferous:

true(2分)

}

}

 

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接口

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1