JAVA复习.docx
《JAVA复习.docx》由会员分享,可在线阅读,更多相关《JAVA复习.docx(48页珍藏版)》请在冰豆网上搜索。
JAVA复习
第一套:
第一题(2分)
表达式9*4/-5%5的值为【】
答案:
-2
第二题
类型数据不可以做类型转换
答案:
boolean
第三题
在Java语言中,类在按照程序设计所需要的常用【】和接口封装成【】
答案:
1.方法2.包
第四题
访问限定符有public、【】、private和default等。
答案:
protected
第五题
Continue语句必须用于【】中
答案:
循环语句
判断
1.被private修饰的成员变量,只能被该自身访问和修改
答案:
Y
2.字符串”\’a\’”的长度是3
答案:
Y
3.为了不允许其他子类继承,简单数据类型的包装类都被声明了private属性
答案:
N
4.在Java语言中,所有的类都是Object的子类
答案:
Y
5.运算符的优先级顺序从高到低依次是~、<<、>>、&。
答案:
Y
单选
1.下面选项中不属于面向对象的程序设计特征是
A多态性
B类比性
C继承性
D封装性
答案:
B
2.Java语言与c++相比,最突出的特点是
A面向对象
B有类库
C高性能
D跨平台
答案:
D
3.在执行Java程序时,将应用程序连接到调试器的选项是
A-D
B-mx
C-debug
D-vexbosegs
答案:
C
4.在下列Java语言的包中,提供图形界面的包是
Ajava.io
Bjavax.swing
C
Djava.rmi
答案:
B
5.下列叙述中,错误的是
AJava提供了丰富的类库
BJava最大限度的利用了网络资源
CJava不支持TCP/IP协议
DJava支持多线程
答案:
C
多选题
1.下列哪些属于Java的数据类型
A接口
B无符号整数类型
C整数类型
D浮点数类型
答案:
ACD
2.下列哪些属于Java语言的流程控制语句
A赋值语句
B分支语句
C跳转语句
D循环语句
答案:
BCD
3.下列运算符中,哪些可以和字符类型数据组合成相应的运算表达式?
A++
B&&
C+
DACD
4.关于类的说法中,正确的是
A一般类体的域包括常量、变量、数组等独立的实体
B类中的每个方法都由方法头和方法体组成
CJava程序可以有多个类,但公共类只有一个
DJava可以有多个公共类
答案:
ABC
5.下列哪些是Java语言中的保留字
Aif
Bsizeof
Cprivate
Dnull
答案:
ACD
*程序填空
1.功能:
定义一个学生类Progl,包括姓名、学号、数学成绩、外语成绩、计算机成绩属性,以及初始化各属性的构造方法、计算学生平均成绩的算法、显示学生成绩成绩单的方法
ImportJava.awt.*;
publicclassProgl
{
Stringname;
longno;
doublemath;
doubleEnglish;
doublecomputer;
/************************SPACE***********************/
Progl(【】s,longn,doublem,doublee,doublec)
{
name=s;
no=n;
math=m;
english=e;
computer=c;
}
/************************SPACE***********************/
Public【】average()
{
Return(math+english+computer)/3;
}
/************************SPACE***********************/
publicvoidprint【】
{
System.out.println(“姓名:
”+name);
System.out.println(“学号:
”+no);
System.out.println(“数学成绩:
”+math);
System.out.println(“外语成绩:
”+english);
System.out.println(“计算机成绩:
”+computer);
}
publicstaticvoidmain(String[]args)
{
Proglb=newProgl(“李利”,20030101,78,67,89);
b.print();
/************************SPACE***********************/
System.out.println(“平均分:
”+b.【】);
}
}
答案:
1:
String
2:
double
3:
()
4:
average()
程序填空
2.功能:
从命令行传入3个整数,求三个整数的和、积、最大值、最小值
/************************SPACE***********************/
importjava.io.*;
publicclassProgl
{
publicstaticvoidmain(String[]args)
{
/************************SPACE***********************/
Intn=args.【】;
/************************SPACE***********************/
If(【】)
System.out.println(“请输入三个整数!
”);
else
{
Inta,b,c;
a=Interger.parseInt(args[0]);
b=Interger.parseInt(args[1]);
c=Interger.parseInt(args[2]);
System.out.println(“和:
”+(a+b+c));
System.out.println(“积:
”+(a*b*c));
/************************SPACE***********************/
System.out.println(“最大值:
”+Math.max(c,【】));
System.out.println(“最大值:
”+Math.min(c,【】));
}
try
{System.in.read();}
Catch(IOExeptione)
{}
}
}
答案:
1:
length
2:
n<3
3:
Math.max(a,b)
4:
Math.min(a,b)
3.功能:
将改程序文件自己的内容以顺序读写方式显示在屏幕上
importjava.io.*;
publicclassProgl
{
publicstaticvoidmain(【】)
{
Try
{
FileInputStream【】=newFileInputStream(“./Progl.java”);
Inteof=0;
While(-1!
=(【】=gFI.read()))
System.out.print((char)eof);
}
【】(IOExceptione)
{
System.out.println(“IOException!
”);
System.exit
(1);
}
}
}
答案:
1:
String[]args
2:
gFI
3:
eof
4:
catch
程序填空
4.编写Application,求从命令行传入任意多个整数的平均值
功能:
编写application,调用以下两个自定义两个方法:
方法abc()参数为int类型,返回值为double型数组,功能为生成随机的double数组,数组元素值在10-20之间,数组元素个数从参数传入;方法printA()的参数double数组,功能为将参数数组在命令行分行打印输出。
importjava.io.*;
publicclassProgl
{
publicstaticvoidmain(String[]args)
{
doubled[];
d=【】(5);
printA(d);
try
{
System.in.read();
catch(IOExceptione)
{}
}
staticvoidprintA(double[]array)
{
for(inti=0;i<【】;i++)
{
System.out.println(“\t”+array[i]);
}
}
staticdouble[]abc(intn)
{
double[]data=【】[n];
for(inti=0;i{
data[i]=10+10*Math.random();
}
return【】;
}
}
答案:
1abc
2array.length
3newdouble
4data
程序设计
题目:
请编写一个Applet,其功能为:
在Applet窗口中画中心在坐标(80,80),长半轴为
60,短半轴为50,边框为绿色的椭圆。
并在中心显示黑色的字符串:
这是椭圆
/***********************************************/
Importjava.awt.*
Importjava.applet.*
publicclassProglextendsApplet
{
publicvoidpaint(Graphicsg)
{
/*********Program***********
/**********End**********
}
}
答案:
g.setColor(newColor(0,255,0));
g.drawOval(20,30,120,100);
g.setColor(newColor(0,0,0));
g.drawString(“这是椭圆”,56,82);
程序设计
题目:
编写Applet,通过paint()方法在鼠标左键按下时,在(60,60)位置处显示一副图像,图像名称为a.gif,显示的高、宽为80、80;鼠标左键释放时,在(60,60)位置处,显示另一幅图像,图像名称为b.gif,显示的高、宽为80,80。
两个图像与嵌入该小应用程序的网页在同一目录。
importjava.awt.*;
importjava.applet*;
importjava.awt.event.*;
publicclassProglextendsAppletimplementsMouseListener
{
inti;
Imagepic1,pic2;
publicvoidinit()
{
pic1=getImage(getDocumentBase(),”a.gif”);
pic2=getImage(getDocumentBase(),”b.gif”);
addMouseListener(this);
}
publicvoidpaint(Graphicsg)
{
/*********Program***********
/**********End**********
}
publicvoidmouseClicked(MouseEvente){}
publicvoidmousePressed(MouseEvente)
{
i=1;
repaint();
}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmouseReleased(MouseEvente)
{
i=2;
repaint();l
}
}
答案:
if(i==1)
g.drawImage(pic1,60,60,80,80,this);
if(i==2)
g.drawImage(pic2,60,60,80,80,this);
第二套:
一、填空题
1.continue语句必须用于(循环语句)中。
2.Java语言中的(类)是程序的基本单位。
3.(final)保留字用于定义常值变量,声明改变量以后不会改变。
4.方法头的关键字(void)用来表示方法不返回任何值。
二、判断题
1.在Java语言中,所有类都是Object的子类。
(Y)
2.运算符的优先级顺序从高到低依次是~、<<、>>、&。
(Y)
3.双精度数强制转换成单精度数后,其数值数度会提高。
(N)
4.按照运算符的操作的数目划分,算数运算符的++属于一元运算符。
(Y)
5.抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法可以在所有类的定义中定义。
(N)
三、单项选择题
1.Java语言与C++语言相比,最突出的特点是(D)
A.面向对象B.有类库C.高性能D.跨平台
2.下列叙述中,错误的是(D)
A.Java中,方法的重载是指多个方法可以共享同一个名字
B.Java中,用abstract修饰的类称为抽象类,它不能实例化
C.Java中,构造方法可以有返回值
D.Java中,接口是不包含成员变量和方法实现的抽象类
3.在结构化的程序设计中,模块化分的原则是(C)
A.各模块的规模应尽量大
B.各模块应包含尽量多功能
C.规模内具有高内聚度、模块间具有耦合度
D.各模块之间的联系应尽量的紧密
4.下列叙述中,正确的是(B)
A.Java中的线程没有优先级
B.一个进程可包含多个线程
C.一个线程可以包含多个进程
D.线程与进程在概念上是不相关的
5.下列叙述中,错误的是(C)
A.Java提供了丰富的类库
B.Java最大限度的利用了网络资源
C.Java不支持TCP/IP协议
四、多选题
1.关于接口的说法中真确的是(ABD)
A.接口所有的方法都是抽象的
B.接口所有的方法一定都是public属性的
C.用于定义接口的关键字是implements
D.接口是Java中特殊类,包含常量和抽象方法
2.下列哪些属于Java的数据类型(ACD)
A.接口B.无符号整数类型C.整数类型D.浮点数类型
3.关于类的说法中,正确的是(ABC)
A.一般类体的域包括常量、变量、数组等独立的实体
B.类中的每个方法都由方法头和方法体组成
C.Java程序中可以有多个类,但公共类只有一个
D.Java可以有多个公共类
4.下列哪些是不合法的标识符(ABC)
A.12ClassB.+voidC.-5D._black
5.下列哪些是Java语言中的保留字(ACD)
A.ifB.sizeofC.privateD.null
五、程序填空
1.功能:
编写应用程序,从命令行传入一个包含十个字符的字符串,与程序中给定的字符串“bacdbcabca”依次比较,统计其字符相等的数目。
输出命令行输入的字符串,并把与程序中的字符不相等的字符替换为“@”,同时输出字符相等的数目。
答案:
(1)args[0].length()
(2)str.length()
(3)str.charAt(x)
(4)n++或++n或n=n+1或n+=1或n=1+n
2.功能:
从键盘上输入10个double型数,求出和值及平均值。
答案:
(1)a[i]=Double
(2)average
(3)doublea[]
(4)returns
3.功能:
定义一个复数Progl,包括实部与虚部两个属性,以及设置虚部的构造方法,复数求和方法,复数求差方法,复数求积方法,显示复数方法。
(1)image=1
(2)returnbt
(3)bt.image
(4)add(b)
4.功能:
编写Application,求从命令行传入任意多个整数的最小值。
答案:
(1)args.length
(2)ArrayMin(x)
(3)Min
(4)Array[i]六、程序设计
1.题目:
请编写一个Applet,其功能为:
在键盘上输入一个字符串,然后将该串照原样显示在屏幕上。
答案:
***********************
if(e.target==in)
p2.setText(in.getText());
repain();
returntrue;
****************************
2.题目:
请编写一个Applet,其功能为:
在窗口中接受用户输入的一个整数,然后将它以浮点形式输出。
答案:
**********************
Add(p);
Add(in);
Add(out);
****************************
第三套:
填空
1.方法头的关键字【】用来表示方法不返回任何职。
答案:
void
2.表达式9*4/-5%5的值为【】
答案:
-2
3.类是变量和【】的集合体
答案:
算法
4.访问限定符有public、【】、private和default等
答案:
protected
5.保留字用于定义常值变量声明该变量以后不会改变
答案:
final
判断
1.continue有的作用是退出循环,并从紧接着该循环有的第一条有开始继续执行
答案:
N
2.字符串”\’a\’”的长度为3.
答案:
Y
3.在Java语言中,所有类都是Object的子类
答案:
Y
4.双精度强制转换成单精度后,其数值度会提高
答案:
N
5.为了不允许其他子类继承,简单数据类型的包装类都被声明了private属性
答案:
N
单选
1.在下列Java语言的包中,提供图形界面的包是
Ajava.io
Bjavax.swing
C
Djava.rmi
答案B
2.下列叙述中,错误的是
Ajava中,方法的重载是指多个方法可以共享一个名字
BJava中,用abstract修饰的类成为抽象类,它不会实例化
CJava中,构造方法可以有返回值
DJava中,接口不包含成员变量和方法实现的抽象类
答案:
D
3.下面选项中不属于面向对象的程序设计特征是
A多态性
B类比性
C继承性
D封装性
答案:
B
4.下列叙述中正确的是
A算法的效率只与问题的规模有关,而与数据的存储结构无关
B算法的时间复杂度是指执行算法所需要的计算工作量
C数据的逻辑结构与存储结构一一对应的
D算法的时间复杂度与空间复杂度一定相关
答案:
B
5.Java语言与C++语言相比,最突出的特点是
A面向对象
B有类库
C高性能
D跨平台
答案D
多选题
1.下列运算符中,哪些可以和字符类型数据组合成相应的运算表达式?
A++
B&&
C+
D--
答案:
ACD
2.下列哪些是Java语言中的保留字
Aif
Bsizeof
Cprivate
Dnull
答案:
ACD
3.关于类的说法中,正确的是
A一般类体的域包括常量、变量、数组等独立的实体
B类中的每个方法都由方法头和方法体组成
CJava程序中可以有多个类,但公共类只有一个
DJava可以有多个公共类
答案:
ABC
4.下列哪些属于面向对象程序设计的基本要素
A类
B方法
C安全
D对象
答案:
ABD
5.下面关于Java语言中的方法说法正确的是
AJava中的方法的参数传递调用是传值调用,而不是地址调用
B方法体是对方法的实现,包括变量声明和Java的合成语句
C如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法
D类的私有方法不能被其子类直接访问
答案:
ABD
程序填空
1.编写Application,求从命令行传入任意多个整数的平均值
importjava.io.*;
publicclassProgl
{
publicstaticvoidmain(String[]args)
{
intn=args.length;
if(n==0)
System.out.println("Pleaseinputintnumbers!
");
else
{
intx[]=【】[n];
for(inti=0;ix[i]=Integer.parseInt(args[i]);
System.out.println("ave="+【】);
}
}
staticdoubleArrayAve(intarray[])
{
int【】;
for(inti=0;i<【】;i++)
sum+=array[i];
return(double)sum/array.length;
}
}
答案:
1:
newint
2:
ArrayAve(x)
3:
sum=0
4:
array.length
2.功能:
编写应用程序,该类中有一个方法sort()参数和返回值类型均为字符串数组,从命令行传入多个字符串,调用方法sort()对该字符串数组按字母顺序排序
importjava.io.*;
publicclassProgl
{
publicstaticvoidmain(String[]args)
{
if(args.length>0)
{
Stringstr[]=newString[【】];
str=【】(args);
for(inti=0;iSystem.out.println(str[i]);
}
}
staticString[]sort(Stringstr[])
{
String[]s=newString[str.length];
s=str;
Stringtemp;
for(inti=0;ifor(intj=i+1;j<【】;j++)
{
if(s[i].compareTo(s[j])>0)
{
temp=s[i];
【】;
s[j]=temp;
}
}
return