Java复习题6.docx
《Java复习题6.docx》由会员分享,可在线阅读,更多相关《Java复习题6.docx(17页珍藏版)》请在冰豆网上搜索。
Java复习题6
《Java程序设计》复习题18.06
一、单项选择题
1.以下是合法的变量名的是(D)。
A、doubleB、6xC、computer.nameD、avg123
2.表达式(18+4*7)/3%4的值是(B)。
A、48B、3C、1D、0
3.下面(A)是Java的关键字。
A、doubleB、stringC、sumD、args
4.分析如下所示的Java代码,编译运行后的输出结果是(B)。
publicstaticvoidmain(String[]args){
inta=100;
while(a%2==0)
{
System.out.print(a);
a=a/2;
}
}
A、1002561B、10050C、100D、25
5.在Java应用程序中,商品价格类型的数据最好使用(D)数据类型的变量存储。
A、intB、StringC、charD、double
6.在Java中,要向控制台打印输出“WelcometoYangzhou!
”并自动换行,可以实现此功能语句是(C)。
A、System.print(“WelcometoYangzhou!
”)
B、System.out.print(“WelcometoYangzhou!
”);
C、System.out.println(“WelcometoYangzhou!
”);
D、System.println(“WelcometoYangzhou!
”);
7.属于main()方法的返回类型是(C)。
A、publicB、staticC、voidD、main
8.设有如下程序段。
inti=1;
while(i>0){
i=i+1;
}
下面描述中正确的是(B)。
A、while循环执行10次B、死循环,将一直执行下去
C、循环一次也不执行D、循环将执行一次
9.下列数组的初始化正确的是(C)。
A、int[]score=newscore[4];B、intscore[4]={85,80,90,78};
C、int[]score=newint[]{85,80,90,78};D、intscore={22,80,15,26};
10.Java用来定义一个新类时,所使用的关键字为(A)。
A、classB、publicC、structD、package
11.Java程序是由(A)公司开发的?
A、SunB、IBMC、AppleD、Microsoft
12.编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A、.javaB、.classC、.htmlD、.exe
13.对象的特征在类中表示为变量,称为类的(B)。
A、对象B、属性C、方法D、数据类型
14.下面对形参的说法哪个是正确的?
(C)
A、必须有多个B、至少有一个C、可以没有D、只能是简单变量
15.在Eclipse中,(C)视图显示输出结果。
A、包资源管理器B、导航器
C、控制台D、问题
16.在Java中,使用类的步骤包括以下三步,它们的先后顺序是(B)。
1.定义类2.创建类的对象3.访问对象的属性和方法
A、213B、123C、321D、231
17.在java中,多行注释使用(A)符号开头。
A、/*B、*/C、*D、//
18.在Java中,Java源程序文件的扩展名为(D)。
A、.docB、.txtC、.pptD、.java
19.给定如下Java代码片段,编译运行时,结果是(C)。
int[]a={1,2,3,4,5};
for(intcount=0;count<5;count++)
System.out.print(a[count++]);
A、运行时出现异常B、输出:
12345C、输出:
135D、输出:
24
20.某Java类的main()方法如下所示,则编译运行该类的输出结果是(B)。
publicstaticvoid(String[]args){
for(inti=0;i<10;i++){
if(i%2!
=0)
continue;
System.out.print(i);
}
}
A、13579B、02468C、.97531D、86420
21.开发Java程序的步骤包括运行、编写、编译,它们的先后顺序是(B)。
A、运行—编写—编译B、编写—编译—运行
C、编译—编写—运行D、编写—运行—编译
22.在Java中,使用(B)关键字导入包。
A、packageB、importC、classD、new
23.在Java类中,使用以下(D)声明语句来定义公有的int型常量MAX。
A、publicintMAX=100;B、finalintMAX=100;
C、.publicstaticintMAX=100;D、publicstaticfinalintMAX=100;
24.在Java中,下面对于构造函数的描述正确的是(D)。
A、类必须显式定义构造函数B、构造函数的返回类型是void
C、构造函数和类有相同的名称,并且不能带任何参数D、一个类可以定义多个构造函数
25.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为(C)。
A、隐藏B、重写C、重载D、封装
26.下列选项中关于Java中封装的说法错误的是(D)。
A、封装就是将属性私有化,提供公有的方法访问私有属性
B、属性的访问方法包括setter方法和getter方法
C、setter方法用于赋值、getter方法用于取值
D、类的属性必须进行封装,否则无法通过编译
27.使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是(A(C))。
A、在赋值和取值方法中,加入对属性的存取限制B、使用赋值和取值方法访问属性
C、编写main方法创建对象,调用赋值和取值方法访问属性D、编写常规方法访问属性
28.分析如下所示的Java代码,其中this关键字的意思是(B)。
publicclassTest{
privateStringname;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;//this关键字所在行
}
}
A、name属性B、Test类的内部指代自身的引用
C、Test类的对象引用Test类的其他对象D、指所在的方法
29.在Java语言中,下列关于类的继承的描述,正确的是(B)。
A、一个类可以继承多个父类B、一个类可以具有多个子类
C、子类可以使用父类的所有方法D、子类一定比父类有更多的成员方法
30.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(A)。
A、C不仅继承了B中的公有成员,同样也继承了A中的公有成员
B、C只继承了B中的成员
C、C只继承了A中的成员
D、C不能继承A或B中的成员
31.下列选项中,关于java的抽象方法和抽象类说法错误的是(D)。
A、抽象类和抽象方法都通过abstract关键字来修饰
B、abstract可以用来修饰类和方法,但不能用来修饰构造方法
C、抽象类中可以没有、有一个或多个抽象方法,但不可以全部方法都是抽象方法
D.子类必须重写父类所有的抽象方法才能实例化,否则子类还是抽象类
32.下列选项中关于Java中super关键字的说法错误的是(B)。
A、super关键字是在子类对象内部指代其父类对象的引用
B、.super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C、子类可以通过super关键字调用父类的方法
D、子类可以通过super关键字调用父类的属性
33.以下关于Object类说法错误的是(B)。
A、一切类都直接或间接继承自Object类B、接口亦继承Object类
C、Object类中定义了toString()方法D、Object类在java.lang包中
34.以下哪种计算机语言是面向对象的?
(C)。
A、BASICB、PASCALC、JAVAD、C
35.JAVA虚拟机是(C)。
A、一种操作系统B、一台虚拟处理机
C、编译后的JAVA程序和硬件系统之间的接口D、游戏系统
二、填空题
1.每个包中都定义了异常类,而所有的异常类都直接或间接地继承于(Exception)类。
2.在Java语言中,允许使用已经存在的类作为基础创建新的类,这种技术称为(继承)。
3.Java中所有的类都是通过直接或间接地继承(Object)类得到的。
4.跨平台特性是指一个应用程序能够运行于不同的操作系统平台。
Java采用(虚拟机)技术支持跨平台特性。
5.下面代码:
doubled=3.14;inta=(int)d;System.out.pirntln(a);输出结果为(3)。
6.每个JAVA应用程序可以包括许多方法,但必须有且只能有一个(main)方法。
7.在Java中定义了两个类来封装对字符串的操作,它们分别是String类和(StringBuffer)类。
8.在Java中,可以使用关键字(new)来创建类的实例对象。
9.使用关键字(static)修饰的变量,被声明为静态成员变量。
静态变量可通过(类的对象)访问,也可以通过(类名)访问静态变量。
10.定义在类中的变量被称为(成员变量),定义在方法中的变量被称为(局部变量)。
11.开发一个Java应用程序的基本步骤是:
(编写),编译和运行。
12.永远不会退出的循环称为(死循环)。
13.在Java语言中,布尔常量只有(true)和false两个值。
14.Java中的数据类型分为两类:
(基本数据类型)和引用数据类型。
15.Java语言的各种数据类型之间提供两种转换:
自动类型转换和(强制类型转换)。
16.Java中提供包来管理类,创建包使用关键字(package),导入包使用关键字(import)。
17.构造方法必须满足(方法名和类型相同)、(没有返回类型)两个语法规则。
18.如果子类想使用父类中的成员,可以通过(super)引用父类的成员。
19.异常的捕获通常由try、catch两部分组成,(try)代码块用来存放可能发生的异常,(catch)代码块用来处理产生的异常。
20.面向对象程序设计的重点是(类)的设计,(类)是用来创建对象的模板。
三、程序阅读填空题
1.判断一个年份是否为闰年,请补全程序代码。
(注意不能增减原有程序的行数,且每一空行只能填一条语句。
)
publicclassLeap_boolean
{
publicstaticvoidmain(Stringargs[])
{
intyear=2001;
booleanleap=false;
leap=;
System.out.println(year+"isaleapyear?
:
"+leap);
}
}
参考答案:
(year%400==0)||(year%100!
=0)&&(year%4==0)
2.给定Java程序Child.java的代码如下所示,编译运行该类的结果是parentchild,请补全程序代码。
(注意不能增减原有程序的行数,且每一空行只能填一条语句。
)
classParent{
Parent(){
System.out.print("parent");
}
}
publicclassChildextendsParent{
Child(Strings){
System.out.println(s);
}
publicstaticvoidmain(String[]args){
}
}
参考答案:
Childchild=newChild("child");
3.阅读下面的程序代码,输出结果为。
classCircle{
floatradius;
finalfloatPI=3.14f;
Circle(floatr){
radius=r;
}
floatarea(){
returnPI*radius*radius;
}
}
publicclassJpro{
publicstaticvoidmain(Stringargs[]){
Circlet=newCircle(0.5f);
System.out.println("圆面积是:
"+t.area());
}
}
参考答案:
圆面积是:
0.785
4.给定Java程序Example.java的代码如下所示,编译运行该类的结果是。
publicclassExample{
publicstaticvoidmain(String[]args){
Strings1="itcast";
System.out.println(s1.replace("it","cn"));
System.out.println(s1);
StringBuffers2=newStringBuffer("itcast");
System.out.println(s2.replace(1,3,"cn"));
System.out.println(s2);
}
}
参考答案:
cncast
itcast
icnast
icnast
5.阅读下面的程序代码,输出结果为。
publicclassTest{
publicstaticvoidmain(String[]args){
inti=0;
do{
if(i%3==0){
System.out.print("$");
}else{
System.out.print("#");
}
i++;
}while(i<5);
}
}
参考答案:
$##$#
6.编译运行如下代码,输出结果是。
classShape{
publicvoiddraw(){
System.out.println("DrawaShape");
}
}
classCircleextendsShape{
publicvoiddraw(){
System.out.println("DrawaCircle");
}
}
publicclassFInherit{
publicstaticvoidmain(String[]args){
Shapes=newShape();
Shapec=newCircle();
s.draw();
c.draw();
}
}
参考答案:
DrawaShape
DrawaCircle
7.给性别赋值,运行结果如下图所示,请补全程序代码。
(注意不能增减原有程序的行数,且每一空行只能填一条语句。
)
classPerson{
privateStringname="";//姓名
privateintage=0;//年龄
privateStringsex="男";//性别
publicvoidsetSex(Stringsex)throwsException{
if("男".equals(sex)||"女".equals(sex))
this.sex=sex;
else{
}
}
}
publicclassTest{
publicstaticvoidmain(String[]args){
Personperson=newPerson();
try{
person.setSex("Male");
}catch(Exceptione){
e.printStackTrace();
}
}
}
参考答案:
thrownewException("性别必须是“男”或者“女”!
");
四、程序设计题
1.有一个整数数列:
45,32,7,69,87,55,16,通过键盘任意输入一个整数,猜测数列中是否存在此数,若存在输出“猜对了!
”,否则输出“Sorry!
”,创建类GuessData实现程序。
参考代码:
importjava.util.*;
publicclassGuessData{
publicstaticvoidmain(String[]args){
int[]list=newint[]{45,32,7,69,87,55,16};//创建数组并赋值
Scannerinput=newScanner(System.in);
System.out.print("请输入一个整数:
");
intguess=input.nextInt();//接受从键盘输入整数
booleanisCorrect=false;//设置标志位
for(inti=0;iif(guess==list[i]){
isCorrect=true;//数列存在此数
break;
}
}
if(isCorrect){
System.out.println("猜对了!
");
}else{
System.out.println("Sorry!
");
}
}
}
2.创建类RTriAngle,从控制台输入直角三角形的高度(行数),每行*的数目依次为1,3,5,7等。
运行结果如下图所示。
参考代码:
importjava.util.Scanner;
publicclassRTriAngle{
publicstaticvoidmain(String[]args){
introws=0;//三角形行数
System.out.print("请输入直角三角形的行数:
");
Scannerinput=newScanner(System.in);
rows=input.nextInt();
//打印直角三角形
for(inti=1;i<=rows;i++){
for(intj=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.print("\n");
}
}
}
3.编程实现:
从键盘接收两门课的分数,计算两门课的总成绩并输出。
编程要求:
(1)创建成绩计算类ScoreCalc,编写calcTotalScore方法计算总成绩并输出总成绩
(2)编写测试类TestScoreCalc,进行验证
(3)程序运行结果如图所示:
参考代码:
importjava.util.*;
classScoreCalc{
intjava;//Java成绩
intc;//C#成绩
/**
*计算总成绩
*/
publicvoidcalcTotalScore(){
inttotal=java+c;
System.out.println("总成绩是:
"+total);
}
/*
*成绩测试类TestScoreCalc
*/
}
PublicclassTestScoreCalc{
publicstaticvoidmain(String[]args){
ScoreCalcsc=newScoreCalc();
/*接收成绩*/
Scannerinput=newScanner(System.in);
System.out.print("请输入Java成绩:
");
sc.java=input.nextInt();
System.out.print("请输入C#成绩:
");
sc.c=input.nextInt();
/*计算并输出成绩*/
sc.calcTotalScore();
}
}
4.编写程序,要求如下:
(1)创建类Student,具有属性:
姓名(name)、年龄(age),访问权限修饰符均为私有;具有方法:
setName()方法用来设置姓名,setAge()方法用来设置年龄,introduction()方法用来在控制台输出该学生的姓名和年龄。
(2)编写测试类StudentTest进行测试:
初始化一个Student对象,并调用该Student对象的setName()方法、setAge()方法和introduction()方法。
(3)程序运行结果如图所示:
参考代码:
classStudent{
privateStringname;//姓名
privateintage;//年龄
publicvoidsetName(Stringname){
this.name=name;
}
publicvoidsetAge(intage){
this.age=age;
}
publicvoidintroduction(){
System.out.println("大家好!
我是"