java编程基础复习题
发布时间:2024-11-18
发布时间:2024-11-18
java入手的好题
“Java程序设计基础”课程习题
一、填空
1. Java程序分两类___applet___和application,Java Application 类型的程序,程序从_main_____开始执行。
2. 定义一个Java类时,通过关键字_extends_____指明该类的父类。一个类可以有____1__个父类。
3. 用public修饰的类称为__公共类____。用public修饰的类成员称为公有成员。被说明为public的内容可以被__所有的其他类____ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。
4. 用___private___ 修饰的类成员称为私有成员。私有成员只能在__本类 ____ 中使用。
5. 如果子类定义的成员变量与父类的成员变量同名,称为___覆盖___ ,要表明使用子类的成员变量,可以在成员变量前加上关键字___this___ 。
6. __Object____ 类是Java类库中所有类的父类。
7. Java字符使用___16___ 位的字符集,该字符集成为___UTF-16___ 。
8. 当子类中定义的方法与父类方法同名时,称子类方法_重载_____ 父类方法,子类默认使用自己的方法。使用父类的同名方法,必须用关键字__super____ 说明。
9. Java源程序文件名的后缀是__。java____,Java字节码文件名的后缀是__。class____。
10. Java类名的第一个字母通常要求__大写____。
11. Java程序由_类定义_____组成,每个程序有一个主类,Java程序文件名应与___主___类的名称相同。
12. Java__application____类型的程序需要main()方法,程序从__main方法____开始执行。
13. 布尔型数据类型的关键字是__boolean____ ,占用位数是__1____ ,有____true__ 和_false_____ 两种值。整型数可以采用__八进制____ 、__十进制____ 和__十六进制____ 三种进制表示。
14. 八进制整数以数字__o____ 开头。十六进制整数以__0x____ 开头。
15. int整型数占用___32___ 位内存。long整型数占用____64__ 位内存。
16. 127L表示
17. 根据占用内存长度将浮点常量分为____float__ 和___double___ 两种。
18. 单精度浮点常量占用
19. 在Java语言中,字符串“ABC\tD\b\n”中包括
20. 数学关系4<x<9对应的Java表达式是__x>4&&x<9____ 。数学关系x>3且x<=10对应的Java表达式是______ 。数学关系x>3或x<-10对应的Java表达式是______ 。
21. 逻辑表达式true&&false&&true的结果是__false____ 。
22. _new_____ 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的构造方法为对象__初始化____。
23. 省略访问修饰符的类只能被同__一个包____中的类使用,称之具有__包级____访问特性。
24. 用public修饰的类称为___公共类___。用public修饰的类成员称为公共成员。被说明为public的内容可以被___所有的其他类___ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过__import____ 语句引入。
25. 用___private___ 修饰的类成员称为私有成员。私有成员只能在__本类____ 使用。
26. 在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为_重载____ 。
java入手的好题
27. 如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在
成员变量前加上关键字__this____。
28. 在java.1ang包中提供了两个字符串类,分别是____String__ 和__StringBuffer____ 。
字符串类提供的求字符串长度的方法是___length___ 。
29. 数学类Math属于__java。lang____ 包。数学类提供的常量和函数都是____static__ 类
型,无需建立数学类对象,可以直接通过类名引用数学类的常量和函数。例如,引用圆周率π的方法是___Math。PI___ 。
二、判断
1. ++i执行后,i值不变,表达式的值也不变。(false )
2. 浮点型数据的默认类型为float类型。(false )
3. 设计一般类和主类时,可以有多个一般类,但只能有一个主类。( ture)
4. 类必须通过创建对象来引用。( false)
5. private声明的变量,不能被其它类引用。( ture)
6. StringBuffer类和String类没有区别。 ( false)
7. println ( )和print()没有区别。 ( false)
8. JavaApplication和JavaApplet没有区别。 ( false)
9. Java程序由类组成。 ( ture )
10. Java程序由函数组成。 ( false)
11. 字符$不能作Java标识符的第一个字符。 ( false)
12. 一个数组中能够存储不同类型的数据。 ( ture )
13. 二维数组需要用两个下标才能确定数组元素。 ( ture )
14. 在Java语言中,定义数组后就可以使用。 ( false )
15. Java提供了许多系统定义类,用户可以直接使用。( ture )
16. final类可以有子类。( false )
17. 没有分配内存空间的对象不能使用。 ( false )
18. final类型的变量是符号常量,其值不能改变。 (ture )
19. 不可以为类定义多个构造方法。( false )
20. 一个类不能既是子类又是父类。 ( false )
21. 子类可以继承父类的所有成员。 (false )
22. 子类只能继承父类成员,不能修改父类成员。 ( false )
23. Java语言只支持类的单继承,不支持类的多继承。 (ture )
24. 在类中定义同名方法时,可以依靠返回值区别同名方法。 ( false )
25. Boolean和boolean没有区别。 (x)
三、选择题
1.为AB类的一个无形式参数、无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A)static void method() B)public void method()
C)final void method() D)abstract void method()
3.不能用new运算符创建对象的类是( B )。
A.静态类 B.抽象类 c.最终类 D.公有类
4.在子类中重新编写父类方法的做法称为(B )。
A.方法重载 B.方法覆盖 C.方法继承 D.方法重用
java入手的好题
5.对于构造方法,下列叙述正确的是( C )。
A.构造方法是类的一种特殊方法,它的方法名可以任意取 B.构造方法的返回类型只能是void型 C.如果类中定义了构造方法,系统就不再提供默认构造方法 D.类中必须定义构造方法
6.为类定义多个名称相同,但参数不同的方法的做法称为( A)。
A.方法重载 B.方法覆盖 C.方法继承 D.方法重用
7.对于构造方法,下列叙述正确的是( D )。
A)构造函数不允许重载
B)用户不能直接调用构造方法,只能由new运算符调用它
C)父类对象不可以用子类构造方法实例化
D)构造方法是实现对象初始化的唯一方法
8.类的两种基本成分是( A )和成员方法。
A)成员变量 B)包 C)对象 D)接口
9.定义接口的关键字是( C )。
A.extends B.class C.interface D.public
10.“/*thelastone*/”是下列( D )语句。
A)表达式语句 B)条件语句 C)循环语句 D)注释语句
11.当用户退出浏览器时,Applet程序调用的方法是(D )。
A.stop() B.init() C.start() D.destroy()
12.paint()方法有一个固定的参数,该参数的类型是( D )。
A.applet B.Applet C.graphics D.Graphics
13.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。
A. import java.awt.* ; B. import java.applet.Applet ;
C. import java.io.* ; D. import java.awt.Graphics ;
14.对象之间的交互是通过传递( B )来实现的。
A)对象 B)方法 C)类 D)消息
15. Java Applet中,用来向Applet窗口输出字符或图形的常用方法为( A )。
A)paint B)init C)draw D)play
16.推出Java语言的公司是( D )。
A.IBM B.Applet C.Microsoft D.Sun
17.与Java语言相近的语言是(B )。
A.BASIC B.C++ C.FORTRAN D.PASCAL
18.System.out.print(12+3)的输出结果是( A ) 。
A. 15 B. 123 C.“123” D.“15”
19.System.out.print(“ 12”+3)的输出结果是( C ) 。
A. 15 B. 123 C.“ 123” D.“ 15”
20.在Java语言中,字节数据类型的关键字和默认值是( D ) 。
A.byte和0 B.byte和1 C.boolean和true D.boolean和false
21.一个字符类型数据占用的二进制位数是(B ) 。
A. 8 B. 16 C. 32 D. 64
22.表示单精度和双精度浮点常量的字母分别是( B ) 。 .
A.C和D B.F和D C.B和D D.L和D
java入手的好题
23.指出下面哪些是合法的标识符( B ) 。
A.3persons B.TwoUsers C.*point D.this
24.指出下面哪些是将一个十六进制值赋值给一个1ong型变量( D ) 。
A.1ong number=3451。
B.1ong number=0345
C.1ong number=0345L
D.1ong number=0x345L
25.下面的哪些声明是合法的( A ) 。
A.1ong 1=4990.5D;
B.int i=4L;
C.float f=1.1;
D.double d=34.4;
26.1.23E2表示的数据是( C ) 。
A 1.23×2 B.1.23×10
C.1.23×102 D.0.123×102
27.在Java语言中,只有整型数据才能进行的运算是( C ) 。
A.* B./ C.% D.+
28.执行下面语句后,a,b和c的值分别是( C ) 。
int a=2; int b=(a++)*3; int c=(++a)*3; A. 2 6 6 B.4 9 9 -2
C. 4 6 12 D. 3 9 9
29.根据下面的代码:
if(x>0){System.out.println(“第一”);}
else if(x>-3){System.out.println(“第二”);}
else{System.out.println(“第三”);}
判断x的取值在什么范围内时将打印字符串“第二”( ) ?D
A.x>0
B.x>-3
C.x<= 一3
D.x<=0&x>一3
30.用于修饰类的访问修饰符是( A ) 。
A. public B. private C。 protected D. statk
31.用abstract修饰的类称为( B ) 。
A,静态类 B.抽象类 C.最终类 D.公有类
32.用final修饰的类称为( C) 。
A.静态类 B.抽象类 c.最终类 D.公有类
33.不能用new运算符创建对象的类是( B ) 。
A.静态类 B.抽象类 c.最终类 D.公有类
34.如果希望方法不能在子类中更改,定义方法时要使用的修饰符是( B ) 。
java入手的好题
A.static B.final C.abstract D.native
35.如果希望直接通过类名访问方法,在定义方法时要使用的修饰符是( A ) 。
A.static B.final C.abstract D.native
36.为类定义多个名称相同,但参数不同的方法的做法称为( A )。
A.方法重载 B.方法覆盖 C.方法继承 D.方法重用
37.在子类中重新编写父类方法的做法称为( B )。
A.方法重载 B.方法覆盖 C.方法继承 D.方法重用
38.定义接口的关键字是( C )。
A.extends B.class C.interface D.public
39.要引入applet包中的所有类,应使用的语句是( D )。
A.import java.applet.Applet B.import java.applet.Applet;
C.import java.applet.* D.import java.applet.*;
40.当启动Applet程序时,首先调用的方法是( D )。
A.stop() B.init() C.start() D.destroy()
41.当用户退出浏览器时,Applet程序调用的方法是( D)。
A.stop() B.init() C.start() D.destroy()
42.在Applet程序占用的屏幕上显示文字、图形等信息,应使用的方法是( A )。
A.paint() B.init() C.start() D.destroy()
43.paint()方法有一个固定的参数,该参数的类型是( D)。
A.applet B.Applet C.graphics D.Graphics
44.执行下面的程序段后,向量v的序列是( D )。
Vector v=new Vector(10); v.addElement(”C++”); v.addElement (”Java”); V.addElement(”Basic”);
V.SetElementAt(“SQL—SeVer”,2);
v.removeElementAt(0);
A.”C++” ”Java” ”SQL-Sever” B.”C+十” ”Java” ”Basic”
C.”Java” “SQL-Sever” D.”Java” ”Basic” ”SQL-Sever”
45.提供println()方法和print()方法的类是( B )。
A.PrintStream B.System
C.InputStream D.DataOutputStream
四、简答题
1. 写出java异常处理的格式,并简要说明。
抛出异常:使用Throw语句抛出异常
自定义异常:用extends关键字创建自己的异常类
2. 比较两个字符串的方法有哪些?每个方法的返回值各是什么数据类型?
3. 在HTML文件中如何向嵌入的Applet程序传递参数,Applet程序又如何获得这些参数?
4. Java对标识符有什么规定?下列标识符中哪些是Java合法的标识符?
2Myclass new name %xy3 —name _name
myphone $s~avy
5. Java字符采用的国际标准编码是什么?有何特点?
java入手的好题
Unicode编码(万国码) 特点:便于东方字符和西方字符处理,这样与其他语言相比,java处理多种语言的能力大大加强
6. 类与对象的关系是什么?如何创建和使用对象?
将具有相同属性的及相同行为的一组对象称为类,对象是类的具体化。。
对象声明:
类名 对象名=new 类名();
对象调用:
访问属性:对象名。属性名;
访问方法:对象名。方法名();
7. static方法如何调用?非static方法如何调用?
在java中,静态域(类变量)可以通过类名直接访问,也可以通过实例对象来访问,两种方法的结果是相同的。
Static方法内部不能直接调用肥静态方法,可以在调用之前实例化非静态方法所在的类,再用类点方法来调用。。
8. 在已有类的基础上派生新类有什么好处?
可以继承父类已有的代码,并加入自己的新代码
9. 什么是类成员方法的重载?重载的作用是什么?
重载是指在一个类里面可以有多个方法名字相同的不同方法。
重载的作用就是传递不同的参数实现相同的效果。
10. 什么是成员方法的覆盖?覆盖的作用是什么?
子类重新定义与父类通明的方法,称为对父类方法的覆盖。定义与父类相同的方法之后,在父类中相同的方法在子类中是不存在的
作用:可以是程序更加简洁,代码更少
11. 什么是多态?实现多态的方法有哪些?
是指允许一个借口访问动作的通用类的性质。一般的,多太性的慨念长被解释为“一个借口,多种方法。”
实现多态的两种犯法:重载和重写
12. 接口有哪些特征?如何定义和实现接口?
13. 包的作用是什么?如何建立包和引用包?
14. JavaApplet中通常包括方法init(),start(),stop(),destroy(),说明这些方法的作用。
15. 在HTML文件中如何向嵌入的Applet程序传递参数,Applet程序又如何获得这些参数?
16. 比较两个字符串的方法有哪些?每个方法的返回值是什么数据类型?
五、编程题
1. 编写一段application程序,计算梯形的面积。(共40分)
(1) 创建一个类,类名为学生姓的拼音加上学号(例如:学生“张三”学号1,类名为zhang1),
在该类中添加属性:
成员变量x,y,h(梯形的上底、下底和高):类型为单精度浮点型数据
java入手的好题
一个构造方法(有三个参数),用于为梯形的上底、下底和高进行赋值
一个成员方法:area() 返回值为梯形的面积
(2) 编写主类(类名为N1),利用构造方法赋值(x,y,h分别为2,4,8)创建对象a1,显示
输出梯形的面积。
2. 编写Application程序,模拟银行存取款业务。
1)建银行帐户类bank,
添加变量:储户现有款项account(int型)
添加方法:
存款的方法income:带有一个参数,用来表示存入的钱数(int型),无返回值。 取款的方法takeout:带有一个参数,用来表示取出的钱数(int型),无返回值。 显示余额的方法show:无参数,无返回值。
2) 建立主类C1,创建对象(模拟储户名zhang3),存款1000,取款500,显示余额。
3. 编写Application程序:
1)创建一个类矩形类Triangle:
成员变量a,b(a为底,b为高);
构造方法:为a,b赋值;
添加两个成员方法:分别计算周长和面积。
2)编写主类,利用Triangle输出a=2,b=3时(使用构造方法赋值)矩形的周长和面积。
4.首先定义一个StringBuffer,类对象s,然后通过append()方法为对象s添加26个小写字母。要求每次添加一个字母,共添加26次。(字母a的编码对应整数为97,b为98,以此类推)
5.利用数学类提供的平方根方法计算并输出1.0,2.0,3.0, ,10.0的平方根之和。
6.请将下面程序补充完整。说明程序的类型、运行结果和字节码文件名。
//程序文件名为MyApplication.java
public class
{public main(String[] args)
{System.out.println("Welcom to Java World");}
}
7.请将下面程序补充完整。说明程序类型、运行结果和字节码文件名。
//程序文件名为Appletl.java
import java.awt.*;
import java.applet.*;
public class______ extends Applet
{public void paint(Graphics g)
{g.drawString("Welcom to Java World”,20,20);}
}
为上面程序编写一个HTML文件,将Appletl.class字节码文件像入嵌入其中。
8.编写一个Java Applicatin程序。程序中首先定义一个三行四列的二维数组,然后利用属性length输出数组的行数和各行的列数。
9.编写程序,根据考试成绩的等级打印出百分制分数段。设:A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下。要求在程序中使用开关语句。
10.编写程序,计算n的阶乘(n!),设n=10。
11.写出下面程序的输出结果。
public class AreaClass
{public static void main(String[]args)
java入手的好题
{System.out.println(“边长为4的正方形面积是”+area(4));
System.out.println(“边长为4的正方形周长是”+clrcumference(4));
static double circumference(double len)
{return 4*len;}
static double area(double len)
{return len*len;} }
12.将下面程序补充完整,并写出输出结果。
class Myclass
int y:5;______//定义y为私有变量 ____________ void show()______//定义show()为公有方法
System.out.println(“y:”+y);
} }
public class·UseMyclass
{public static void main(String args[])
; //定义Myclass类的对象Ob ____________; //调用方法show()
} }
13.指出下面程序中的错误,并修改正确。
class Class2
{private int y;
private void show()
{system.out.println(“show method is private”);}
public void usesecret()
{show();}
}
public class Classl {public static void main(String args[]) {Class1 Ob=new Class1(); http://esecret(); Ob.show();
} }
14.定义student类,其中包括四个私有变量(name,age,sex,score)、一个构造方法和show()方法。各成员的含义如下:
*变量name为字符串类型String,用于存储学生的姓名。
*变量age为int类型,用于存储学生的年龄。
*变量sex为boolean类型,用于存储学生的性别,男生为false,女生为true。 *变量score为double类型,用于存储学生的成绩。
*构造方法包括四个参数,用于为变量(name,age,sex和score)赋值。
*show()方法无参数,用于输出变量(name,age,sex和score)的值。
15.编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
16、编程实现:从键盘输入10个整数,求这10个数中的最大值和最小值。
java入手的好题
17、设有一字符串数组中保存你5个好友的名字,从键盘输入一个字符串,判断是否为你5个好友之一的名字。
18、编写程序:自定义一个方法void power(int x,int y),其功能是计算整数x的y次方,并在主方法中测试。