山东财经大学JAVA程序设计基础0681复习提纲及练习题.docx
《山东财经大学JAVA程序设计基础0681复习提纲及练习题.docx》由会员分享,可在线阅读,更多相关《山东财经大学JAVA程序设计基础0681复习提纲及练习题.docx(31页珍藏版)》请在冰豆网上搜索。
山东财经大学JAVA程序设计基础0681复习提纲及练习题
复习参考
考试题型:
1.单项选择题(本大题共15小题,每小题1分,共15分)
2.判断题(10小题,每小题1分,共10分)
3.填空题(本大题共10空,每个空2分,共20分)
4.阅读程序,写出程序运行后的输出结果(本大题共3小题,每小题6分,共18分)
5.编程题(本大题共3小题,共37分),其中
第1题:
9分(位操作),
第2题14(分排序或字符串处理),
第3题14分(类与对象)。
涉及数组、排序、字符串处理、类和对象(实例)、位操作(手写推算步骤及最终结果,要求看样题)等。
考试涉及的相关知识点:
1.java程序类型:
(1)javaapplication(需主类)、java程序、源程序、类、接口、字节码文件、包、
JDKJVMjavac.exejava.exe跨平台java开发步骤一二维数组等
(2)javaapplet:
java小程序(可以没有主类,是图形界面),主要用于网页
(3)javascript:
网页或网站的“脚本”程序
2.标识符和关键字:
class、interfacefinalabstractstaticvoidbyteshortintlongfloatdoublebooleanStringreturn异常常用的关键字(trycatchfinallythrowthrows)
3.表达式:
=
比较运算符:
>>=<<=!
===
逻辑运算符:
&&||!
位运算符:
&|~^>>>>><<
instanceof++--前后关系?
:
算合语句
s+=5s-=5s*=5s/=5inta=b=10;
4.程序控制结构:
顺序、选择、循环
(1)单路选择结构if(){}
(2)多路选择结构if(){..else..}
(3)elseif结构
(4)switch(break);
while(){…}
do{….}while();breakcontinue
for(;;){…}
5.面向对象的程序设计:
类:
class成员变量方法成员修饰符(访问、特征)static变量成员或方法实例变量成员或方法UML图
对象:
Object创造对象new
方法:
void方法、非void方法、static方法(类方法)、非static方法(实例方法)
方法参数传递:
实参形参传值传引用(数组对象接口)
多态:
重载重写
this、super
构造方法(在类的继承中可能用到的关键字super)
包:
关键字import、package
继承(组合:
主类main()与继承):
继承创新改造子类不能降低父类的访问级别
Super、this、上转型对象
Abstract、final
接口:
interface
(1)实现:
implements也是一种继承(包括一般类与抽象类,多实现)
(2)继承:
extends(与类相比的“多继承”)
(3)静态块(静态初始化器)static{…}、构造块{…}、构造方法以及在类的继承和实例生成中的相互关系和执行顺序。
6.java关于异常的相关知识点:
(1)错误与异常:
错误:
程序在执行过程中由于硬件或操作系统出错,而导致的程序员无法控制的错误。
异常:
指硬件或操作系统正常时,程序遇到的运行错。
由于语句中产生的语法错(不能通过编译)、语义错(能通过编译)、逻辑错(能通过编译)而使程序无法运行或运行后不能产生正确结果的现象。
(2)异常类(Exception)
java中常用到的跟异常有关的关键字:
trycatchfinallythrowthrows
参考复习题:
一、单项选择题
1.以下说法正确的是_____。
(A)Java中所有的方法都必须在类内定义
(B)Java中主方法可以不在类内定义,其他方法都必须定义在类内
(C)Java中主方法必须定义在类内,其他方法可以不必定义在类内
(D)Java中所有方法都不必在类内定义
2.Java源文件和编译后的文件扩展名分别是____。
(A).class和.java(B).class和.class
(C).java和.class(D).java和.java
3.要开发Java程序,需要安装的开发包是______。
(A)jdk(B)eclipse
(C)notepad(D)记事本
4.Java中所有类的默认超类为_____。
(A)Object(B)Class
(C)Main(D)Super
5.下列语句中能建立scu包的语句是____。
(A)importjava.scu;(B)importscu;
(C)packagescu;(D)packagejava.scu;
6.关于Object类中定义的toString方法,以下说法正确的是___。
(A)toString方法可以将java预定义的类型转换为字符串类型
(B)toString方法可以将字符串类转换为java预定义的类型
(C)toString方法可以将所有其他类型转换为字符串类型
(D)toString方法可以将字符串类型转换为所有其他类型
7.在子类的构造函数中要调用父类的构造函数,需要用哪个关键字___。
(A)final(B)extends
(C)implements(D)super
8.在Java语言中,下列哪个包是编译器自动导入的?
___。
(A)java.lang(B)
(C)javax.swing(D)java.util
9.以下语句中,没有创建出字符串对象的是_____。
(A)Stringstr;(B)Stringstr=“hello”;
(C)Stringstr=newString();(D)newString(“hello”);
10.关于布尔类型说法正确的是___。
(A)boolean表示布尔类型,它的取值只有true和false
(B)bool表示布尔类型,它的取值只有true和false
(C)boolean表示布尔类型,它的取值只有1和0
(D)bool表示布尔类型,它的取值只有1和0
11.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为______。
A.javaB..class
C.htmlD..exe
12.设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A.3B.3.5
C.4D.5
13.不能作为类及类成员的访问控制符的是()。
A.publicB.private
C.staticD.protected
14.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为______。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
15.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参?
______
A、Stringsargs[]B、Stringargs[]C、StringargD、StringBufferargs[]
16.以下关于继承的叙述正确的是______。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
17.以下哪个不是Java的原始数据类型______
A、intB、BooleanC、floatD、char
18.给出下面代码,关于该程序以下哪个说法是正确的?
______
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[])
{
System.out.println(arr[0]); }
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
19.下列哪些语句关于Java内存回收的说明是正确的?
______
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
20.以下代码段执行后的输出结果为______
intx=3;
inty=10;
System.out.println(y%x);
A、-1B、2C、1D、3
21.将字符串s中的小写字母转换成大写字母的正确方法是:
a)s.toLowercase()b)s.toUppercase()
c)s.toUpperCase()d)s.toLowerCase()
22.在Java中,所有类的根类是()。
a)java.lang.Objectb)java.lang.Class
c)java.applet.Appletd)java.awt.Frame
23.有以下程序片段,下列哪个选项不能插入到行1。
______
1.
2.publicclassInteresting{
3.//dosth
4.}
A、importjava.awt.*;B、packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
24.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protectedC、privateprotectedD、public
25、有以下方法的定义,请选择该方法的返回类型()。
ReturnTypemethod(bytex,doubley)
{
return(short)x/y*2;
}
A、byteB、shortC、intD、double
26、如下哪个是Java中的标识符()
A、publicB、superC、3numberD、width
27.如下哪个是Java中的标识符()
A、fieldnameB、superC、3numberD、#number
28.已知如下定义:
Strings="story";下面哪个语句不是合法的()
A、s+="books";B、s=s+100;
C、intlen=s.length;D、Stringt=s+“abc”;
应该是s.length()
29.如下哪个是Java中有效的关键字()
A、nameB、helloC、falseD、good
30、下面的代码段执行之后count的值是什么()
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
A、5B、1C、15D、16
31.定义一个类,必须使用的关键字是()
A、publicB、classC、interfaceD、static
32.定义一个接口必须使用的关键字是()
A、publicB、classC、interfaceD、static
33.下列程序段执行后的结果是()。
Strings=newString("abcdefg");
for(inti=0;iSystem.out.print(s.charAt(i));
}
A)acegB)ACEGC)abcdefgD)abcd
34.应用程序的main方法中有以下语句,则输出的结果是()。
Strings1=newString("abc");
Strings2=newString("abc");
booleanb1=s1.equals(s2);
booleanb2=(s1==s2);
System.out.print(b1+""+b2);
A)truefalseB)falsetrueC)truetrueD)falsefalse
35.下面程序段执行后b的值是()。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
36.应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;//3
intk2=args[1].length();//2
System.out.print(k1+""+k2);
}
}
A)32B)12C)13D)33
37、应用程序的main方法中有以下语句,则输出的结果是()。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;//此处应该出错了
for(inti=0;ifor(intj=0;j
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
A)32B)11C)2D)3
38.应用程序的main方法中有以下语句,则执行后输出的结果是()。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;iif(x[i]>max)
max=x[i];
}
System.out.println(max);
A)125B)5C)98D)168
39.程序Test.java编译运行后输出的结果是()。
publicclassTest{
Strings1="java";
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
}
}
A)java2B)2C)没有输出结果D)java
40.应用程序的main方法中有以下语句,则输出的结果是()。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
A)12.5B)120.5C)12D)“12.5”
41.关于下面的程序Test.java说法正确的是()。
publicclassTest{
Stringx="1";
inty;
publicstaticvoidmain(Stringargs[]){
intz=2;
System.out.println(x+y+z);
}
}
A)3B)102C)12D)程序有编译错误
说明:
staticStringx=”1”;
staticinty;
42.应用程序的main方法中有以下语句,则执行后输出的结果是()。
int[]x={125,21,5,168,98};
intmin=x[0];
for(inti=1;iif(x[i]min=x[i];
}
System.out.println(min);
A)125B)5C)98D)168
43.关于选择结构下列哪个说法正确?
( )
A.if语句和else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
44.while循环和do…while循环的区别是:
( )
A.没有区别,这两个结构任何情况下效果一样
B.while循环比do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do…while循环是先循环后判断,所以循环体至少被执行一次
45.下列修饰符中与访问控制无关的是 ( )
A.private B.public
C.protectedD.final
46.void的含义:
( )
A.方法没有返回值 B.方法体为空
C.没有意义 D. 定义方法时必须使用
47.return语句:
( )
A.只能让方法返回数值 B.方法都必须含有
C.方法中可以有多句return D.不能用来返回对象
48.关于对象成员占用内存的说法哪个正确?
( )
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
说明:
同一个类的不同对象使用不同的内存段,但静态成员共享相同的内存空间
49.下列说法哪个正确?
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
50.下列说法哪个正确?
( )
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
51.关于方法main()的说法哪个正确?
( )
A.方法main()只能放在公共类中
Bmain()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
52.构造函数何时被调用?
( )
A、创建对象时 B、类定义时
C、使用对象的方法时 D、使用对象的属性时
53.抽象方法:
( )
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
54.关于继承的说法正确的是:
( )
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
55.关于构造函数的说法哪个正确?
( )
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
56.this和super:
A、都可以用在main()方法中
B、都是指一个内存地址
C、不能用在main()方法中
D、意义相同
57.关于super的说法正确的是:
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
58.覆盖与重载的关系是 ( )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
59.请说出下列代码的执行结果:
Strings="abcd";
Strings1=newString(s);
if(s==s1)System.out.println("thesame");
if(s.equals(s1))System.out.println("equals");
A.thesameequalsB.equals
C.thesameD.什么结果都不输出
60.下列有关Java中接口的说法哪个是正确的?
A.接口中含有具体方法的实现代码
B.若一个类要实现一个接口,则用到“implements”关键字
C.若一个类要实现一个接口,则用到“extends”关键字
D.接口不允许继承
61.关于接口哪个正确?
A.类实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事
二、判断题:
1、Java是不区分大小写的语言。
错:
Java是区分大小写的语言
2、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
对
3、JavaApplet是由独立的解释器程序来运行的。
错:
是有浏览器来运行的
4、JavaApplication是由独立的解释器程序来运行的。
对
5、JavaApplet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文件的WWW浏览器充当解释器来解释运行。
对
6、JavaApplet只能在图形界面下工作。
对
7、JavaApplication只能在字符界面下工作。
错
8、Java的字符类型采用的是ASCII编码。
错:
采用Unicode码
9、Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特对
10、Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。
对/错
11、JavaApplication源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。
对
12、方法的覆盖与域的隐藏一样,父类的同名方法在子类中仍然占有自己独立的内存空间。
对/错
13、子类的域和方法的数目一定大于等于父类的域和方法的数目。
对/错
14、类在实现接口的方法时,必须显示地使用public修饰符。
对
15