java复习期末考试试卷_第1页
java复习期末考试试卷_第2页
java复习期末考试试卷_第3页
java复习期末考试试卷_第4页
java复习期末考试试卷_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章java入门

纲要:

java程序的命名规则

java程序开发过程(Application和Applet)

java程序执行过程

习题:

1、程序代码如下

publicclasstl_l{

publictl_l(){

classtl_2

1)程序问件应命名为(A)

Atl_l.javaBtl_2.javaCt.javaDx.java

2)欲编译以上程序,应在cmd窗口键入()

Ajavactl_lBjavactl_l.javaCjavatl_2.javaDjavatl_2

3)编译该源程序会生成()文件

A.obj文件B.java文件C.exe文件D.class文件

4)编译生成的文件名为()(不含文件扩展名)

Atl_lBtl_2Ctl_l和tl_2Dt

5)编译生成的文件为和

2、程序如下

publicclasstl_l{

voidmain()

System.out.println("成功");

}

1)执行该程序,如下说法正确的是()

A无法运行成功

B输出成功

2)以下是java程序入口main方法的是()

Avoidmain(Stringargs[J)

System.out.println("成功");

Bstaticvoidmain(Stringargs[])

System.out.println("成功");

Cpublicstaticvoidmain(Stringargs[])

(

System.out.println("成功)

)

Dpublicstaticvoidmain(stringargs[])

(

System.out.println("成功");

)

3、程序如下

importjava.awt.*;

importjava.applet.*;

publicclasstl_lextendsApplet{

publicvoidpaint(Graphicsg)

{

g.drawString(nhello",0,50);

)

)

1)关于以上程序说法正确的是

A无需编译直接执行

B可用java.exe程序解释执行

C需先编译生成tl_l.class文件,嵌在html文件中由浏览器或者AppletViewer执行

D以上说法均不正确

2)给出以上程序执行之详细步骤,包括html文档

第二章java程序基础

纲要:

java程序结构

java字符界面下输入输出

java图形界面下输入输出

java八种基本数据类型关键字和常量表示形式以及变量定义

java运算符及其使用规则

分支结构

循环结构

解说:

java程序结构

publicclasst_t2f

类体中只能放

变量的定义和

函数的定义

<方法体中可以

放功能语句,

不可放方法淀

义以及类的流

]--------------------------------------------A7

例1类体中只能放变量定义语句和函数定义模块

nublicclasstt2I

intx=6;变量符值和函数功

x=7;

Systern.out.println("errn);能调用语句均不可

ptHJn^TatT^OKnnaTnrSTnn^rgsnT■"I旧时立米林山

(

System.out.println("hello");m

]______________________________

inty=Integer.parseInt(H56u);

5ystem.out.pnntln(err

X

java字符界面下输入输出

•输出

System.out.println(,,hello,');

•输入:

System.in.read()

•缓冲输入;

BufferedReaderbin=newBufferedReader(newInputStreamReader(System.in))

Stringstr=bin.readLine();

例1显示输出“hello”

publicclasst_t2{解释执行时,虚拟机

自动调用该类的

publicstaticvoidmain(Stringargs[])main方法,从main

方法中第一条语句

M/二旦U一反

示输出语句,将要显示的字符串放到println。方法的参

数中,即能显示输出

)

)

例2接受用户键盘输入5个整数,寻找最大数

正常

java图形界面下输入输出

•输入组件:文本框JtextField或TextField对象

•输出组件:标签Label或者Jlabel对象

运用Graphics类方法将输出内容绘制出来

例1:

publicclasstl_lextendsJFrameimplementsActionListene”/定义tl_l类用于描述界面,并且该

类对象能够处理Action事件

JTextFieldjt1;〃文本框用于输入

JLabelj11;〃标签用于输出

publictl_l()

(

jtl=newJTextField(6);〃把文本框造出来

jll=newJLabel("输出为”);〃把标签造出来

this.setLayout(newFlowLayout());〃把当前界面的组件布局方式修改为流式布局即按

照组件原大小以及组件添加的次序布局

this.add(jl1);〃先把标签放到界面上

this.add(jtl);〃再把文本框放到界面上

jtl.addActionListener(this);〃响音文本框上的action事件

)

publicvoidactionPerformed(ActionEventevt)//Action事件处理方法,内容根据事件处理的

需要而写,比如本例在相应文本框Action事件时要把文本框输入的内容放到

{

Stringstr=jtI.getText();〃获得文本框中输入的内容

jll.setText(str);//把内容放到标签上

}

publicstaticvoidmain(Stringargs[])

{

newtl_l().setVisible(true);〃创建窗口并显示

)

程序执行过程

main()-»tl_l()

在文本框中按回车时执行actionPerformed()

例2:

publicclasst_t2extendsJFrame{

publict_t2(){

this.setSize(400,300);〃设置窗口大小400x300

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);〃设置窗口关闭操作

)

publicvoidpaint(Graphicsg)〃绘制窗口

(

super.paint(g);//绘制背景

g.drawString("hello”,5,50);〃绘制字符串

)

publicstaticvoidmain(Stringargs[])

{

newt_t2().setVisible(true);〃创建窗口并显示

}

)

程序执行过程

main()->t_t2()->paint()

java八种基本数据类型关键字和常量表示形式以及变量定

整数:byteshortintlong

小数:floatdouble

字符:char

布尔:boolean

常量:

A整数:

数制:数的计数方式,有十进制、八进制(067)、十六进制(0x67)

类型:数的存储长度

byte,short,int型常量可以是67,067,0x67,

long型常量一般在数后加1,如67L,056L,0X67L

>小数:

科学计数法:数的表示方式

double型常量:如4.5,4.5d,4.5D,4.5e-3D,4.5E3d

float型常量:如4.5f,4.5e-3f

变量

A合法标志符:

1.由字母、下划线、美元符号、数字组成

2.数字不能放在第一位

3.不能和关键字相同

例1:

1、下列符号中不能作为Java标识符的是(D)o

(A)abc(B)$strl(C)_pore(D)45six

2、java语言中,整型常数123占甫的存储字节数是()。

(A)1(B)2(D)4(D)8

3、java语言中,实型数45.67占用的存储字节数是()。

(A)l(B)2(D)4(D)8

A变量赋值

类型自动转换

>类型强制转换

数之间可强制转换,其他类型不可随便强制转换

intx=(int)561;

long12=(long)4.5f;

inti=(int)"55";

Integerin=newInteger("56");

inti2=(int)in;X

分支结构

if(条件)语句

else语句

switch(表达式)

case值1:语句组1

case值2:语句组2

OOOO

default:语句组n

注意:1)表达式的值必须是byteintshort或char型

2)case后为常值表达式

例1:试判定以下程序执行结果

inti=1;

switch(i){

case0:

System.out.println(',zero,');

break;

case1:

System.out.println(nonen);

case2:

System.out.println("two");

default:

System.out.println(ndefaultn);

循环结构

while(条件)

循环体(每一次所要做的事)

do{

循环体(每一次所要做的事)

}while(条件);

for(表达式1;表达式2;表达式3)

循环体(每一次所要做的事)

例1:以下由do-while语句构成的循环执行的次数是(B)。

intk=0;

do{++k;}while(k<1);

A.一次也不执行B.执行1次

C.无限次D.有语法错,不能执行

例2:下列语句序列执行后,k的值是(D)。

intj=8,k=15;

for(inti=2;i!=j;i++)

{j-=2;k++;}

A.18B.15C.16D.17

第三章类

纲要

类定义

对象实例化

构造函数定义及其使用

修饰符的使用

类定义

关键字:class

格式:

I修饰符[class类名[extends父类名]{implements接口名]

(

属性声明;

方法声明;

对象实例化

类名新建对象名=new声底叫(参数);

TextFieldIl=newTextField."11”)________

创建实例对象

时必须给出该

类构造函数的

参数

构造函数定义及其使用

>构造函数名与类名同名,缺省形式:A(){}

>构造函数没有返回类型

>构造函数主要是完成对象的初始化工作

>构造函数在构造类对象时被系统自动调用执行,不可被显式调用执行

例1:classjuxing

(

intx;

inty;

intS()

{returnx*y;---------------------

-------------有缺省构造

}函数

juxingjl=newjuxing()f\./就juxing()

例2:

x=xl;

y=yi;

juxingjl=newjuxing(2,3h

类中没有

juxingjl=newjuxing();、juxing

形如juxing()

的构造函数了

修饰符的使用

>访问控制符:不可混用

public:所有类

protected:本类+包中类+子类

private:本类

缺省:包中类

>其他修饰符

属性修饰符:

A:访问控制符:publicprotectedprivate

B:staticfinalvolatile

1)A中几种修饰符不可同时修饰类的属性

2)B中final与volatile不可共存

方法修饰符:

A:访问控制符:publicprotectedprivate

B:staticfinalnativesynchronizedabstract

类的修饰符rpublicabstractfinal

l)abstract1jfinal不可同时用来修饰类

1)A中几种控制符不可共存

2)abstract与final不可共存

3)abstract与static不可存

4)abstract与private不可共存

5)abstract与native不可共存

6)abstract方法必须在abstract类中

7)static方法只能处理static属性

例1:下列哪个类声明是正确的?

A)abstractfinalclassHI{•••}B)abstractprivatemove(){}

C)protectedprivatenumber;D)publicabstractclassCar{•••}答:D

例2:给出如下代码:

classTest{

privateintm;

publicstaticvoidfun(){

//somecode...}}如何使成员变量m被函数fun()直接访问?

A、将privateintm改为protectedintm

B、将privateintm改为publicintm

C、将privateintm改为staticintm

D、将privateintm改为intm

答:C

第四章继承与多态

纲要:

继承关系声明

属性隐藏

方法覆盖和重载

构造函数的继承和重教

继承关系声明

关键字:extends

格式:

classsubextendsfather

)

l)extends关键字表示继承

2)直接父类只能有一个(单继承)

3)父类可以别的类的子类(多重继承)

例1、在如下源代码文件Test.java中,哪个是正确的类定义?

A^publicclasstest{publicintx=0;publictest(intx){this.x=x;}}

B、publicclassTest{publicintx=0;publicTest(intx){this.x=x;}}

C、publicclassTestextendsTl,T2{publicintx=0;publicTest(intx){this.x=x;}}

D、publicclassTestextendsT1{publicintx=0;publicTest(intx){this.x=x;}}

E^protectedclassTestextendsT2{publicintx=0;publicTest(intx){this.x=x;}}答:B,D

属性隐藏(自行体会实验七)

方法覆盖和重载

>覆盖要求2个方法分别位于父类和子类中

>覆盖要求2个方法的返回类型、方法名和参数表都一样

>覆盖要求子类方法的访问权限不小于被覆盖的那个

>静态方法只能覆盖父类的静态方法,不能覆盖父类的非静态方法

>重载要求2个方法同名,参数表一定不同,其他无要求

例1:下面哪几个函数是publicvoidexample。{…}的重载函数?

A、publicvoidexample(intm){...}

B、publicintexample(){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论