JAVA复习题_4
- 格式:pdf
- 大小:145.02 KB
- 文档页数:8
《使用Java理解程序逻辑》1-4章阶段测试一课后选择题二、选择题1、下列语句中,( BD )正确完成整形变量的声明和赋值。
A). int count,count=0;B). int count=0;C). count=0;D). int count1=0,count2=1;2、在JAVA中,用于向控制台打印输出信息的语句是(A)。
A). System.out.println()B). System.println()C). Out.println()D). Print.println()3、给定某Java程序的main方法如下所示,该程序的运行结果是( A)。
Public static void main(String[] args){int i=0;System.out.println(i );} (选择一项)AA). 输出0B). 输出1C). 编译错误D). 运行时出现异常4、在Java 中,下列代码的远行结果是(D )。
public static void main(String[] args) {int a=1,b=2,c=3;if(a<0)if(b<0)c=10;c=20;System.out.println(c);}A). 输出:10B). 输出:20C). 输出:3D). 编译报错5、在Java中,源文件Test.java中包括如下代码段,则程序编译运行结果是(b)。
public class Test{public static void main(String[]args){system.out.print(“Hello!”);}}A). a) 输出:Hello!B). b) 编译出错,提示“无法解析system”C). c) 运行正常,但没有输出任何内容D). d) 运行时出现异常6、在Java中,Scanner类提供从控制台获取键盘输入的功能,下列语句( b)能够正确实例化Scanner类的对象,用于获得键盘输入的数据。
一、填空题1、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。
2、在Java语言中,所有的类都直接或间接继承自______类。
3、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。
4、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。
5、定义在类中的变量被称为______,定义在方法中的变量被称为______6、编译Java程序需要使用______命令。
7、若x = 2,则表达式( x + + )/3 的值是______。
8、面向对象的三大特征是______、______和______。
9、String类中用于返回字符串字符个数的方法是_____。
10、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
二、选择题1、关于方法重载的描述,以下选项中哪些是正确的?(多选)A、方法名必须一致B、返回值类型必须不同C、参数个数必须一致D、参数的个数或类型不一致2、已知类的继承关系如下:class Employee;class Manager extends Employeer;class Director extends Employee;则以下语句能通过编译的有哪些?A、Employee e=new Manager();B、Director d=new Manager(); 。
C、Director d=new Employee();D、Manager m=new Director();3、关于抽象类的说法哪些是正确的?(多选)A、抽象类中可以有非抽象方法。
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。
C、不能用抽象类去创建对象。
D、接口和抽象类是同一个概念。
4、在以下什么情况下,构造方法会被调用?A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时5、先阅读下面的程序片段:String str1=new String("java");String str2=new String("java");StringBuffer str3=new StringBuffer("java");对于上述定义的变量,以下表达式的值为true的是哪个?A、str1==str2;B、str1.equals(str2);C、str1==str3;D、以上都不对6、先阅读下面的程序片段:String str = "abccdefcdch";String[] arr = str.split("c");System.out.println(arr.length);程序执行后,打印的结果是几?A、2个B、3个C、4个D、5个7、下面哪一个是正确的类的声明?A、public void HH{…}B、public class Move(){…}C、public class void number{}D、public class Car{…}/8、使用this调用类的构造方法,下面的说法正确的是?(多选)A、使用this调用构造方法的格式为this([参数1,参数2…])B、只能在构造方法中使用this调用其它的构造方法C、使用this调用其它构造方法的语句必须放在第一行D、不能在一个类的两个构造方法中使用this互相调用9、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?A、inheritsB、implementsC、extendsD、modifies10、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?A、publicB、protectedC、privateD、defaul11、下面对于构造方法的描述,正确有哪些?(多选)A、方法名必须和类名相同B、方法名的前面没有返回值类型的声明C、在方法中不能使用return语句返回一个值D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在12、关于super关键字以下说法哪些是正确的?(多选)A、super关键字可以调用父类的构造方法B、super关键字可以调用父类的普通方法C、super与this不能同时存在于同一个构造方法中D、super与this可以同时存在于同一个构造方法中13、请先阅读下面的代码public class Test {public Test(){System.out.println("构造方法一被调用了");}public Test(int x){this();System.out.println("构造方法二被调用了");}public Test(boolean b){this(1);System.out.println("构造方法三被调用了");}public static void main(String[] args) {Test test = new Test(true);}}上面程序的运行结果为下列哪一项?A、构造方法一被调用了B、构造方法二被调用了C、构造方法三被调用了D、以上三个选项之和14、String s = "abcdedcba";则s.substring(2,3)返回的字符串是以下选项中的哪个?A、cdB、deC、dD、e15、以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明三、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。
java期末复习题库及答案一、选择题1. Java是一种()。
A. 编译型语言B. 解释型语言C. 标记语言D. 汇编语言答案:B2. Java程序的执行流程是()。
A. 编译 -> 链接 -> 执行B. 编译 -> 执行C. 编译 -> 解释 -> 执行D. 解释 -> 执行答案:C3. 下列哪个是Java的关键字?()A. classB. functionC. includeD. namespace答案:A4. Java中的类是()。
A. 抽象的B. 具体的C. 既是抽象的也是具体的D. 以上都不是答案:A5. Java中,哪个关键字用于定义一个类?()A. publicB. classC. voidD. int答案:B二、填空题1. Java语言的跨平台特性主要得益于______机制。
答案:JVM(Java虚拟机)2. 在Java中,所有的类都是继承自______类。
答案:Object3. Java中的______关键字用于定义一个方法。
答案:void 或者其他返回类型4. 在Java中,______关键字用于定义一个类是公共的。
答案:public5. Java中的______关键字用于定义一个变量是静态的。
答案:static三、简答题1. 简述Java语言的特点。
答案:Java语言具有面向对象、跨平台、健壮性、多线程、安全性、简单性等特点。
2. 什么是Java的垃圾回收机制?答案:Java的垃圾回收机制是指JVM自动检测内存中不再被使用的对象,并释放它们占用的内存资源,以防止内存泄漏。
3. 什么是Java的异常处理机制?答案:Java的异常处理机制是指程序在执行过程中,当出现错误或异常情况时,Java运行时环境提供的一种处理机制,包括try、catch、finally和throw等关键字的使用。
四、编程题1. 编写一个Java程序,实现计算两个整数的和。
习题四一、问答题1.面向对象语言有哪三个特性?封装、继承、多态2.类名应当遵守怎样的编程风格?当类名由几个单词复合而成时,每个单词的首字母使用大写。
3.变量和方法的名字应当遵守怎样的编程风格?名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其他单词的首字母使用大写。
4.类体内容中声明成员变量是为了体现对象的属性还是行为?属性5.类体内容中定义的非构造方法是为了体现对象的属性还是行为?行为6.什么时候使用构造方法?构造方法有类型吗?用类创建对象时。
没有类型。
7.类中的实例变量在什么时候会被分配内存空间?用类创建对象时。
8.什么叫方法的重载?构造方法可以重载吗?一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即是参数的个数不同,或者是参数的类型不同。
可以。
9.类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?可以。
不可以。
10.类中的实例方法可以用类名直接调用吗?不可以11.简述类变量和实例变量的区别。
一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。
所有对象的类变量都分配给相同的一处内存,对象共享类变量。
12.this关键字代表什么?this可以出现在类方法中吗?代表调用当前方法的对象。
不可以。
二、选择题1.下列哪个叙述是正确的?A.Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C.Java源文件必须含有主类。
D.Java源文件如果含有主类,主类必须是public类。
选BC选项中一个源文件可以没有主类,但在一个应用程序(工程)下必须由一个主类D选项如果若干源文件在同一个包下,主类可以不加public修饰。
2.下列哪个叙述是正确的?A.成员变量的名字不可以和局部变量的相同。
1、已知类的定义如下public class test_3{int x ;int y ;test_3(int a,int b){x=a;y=b;}test_3(){x=-1;y=-1;}int get_x(){return x++;}int get_y(){return y--;}如果用下面三种不同的方法加载类,写出要求的结果:(1)用test_3 a1=new test_3()后;a1.x的内容为_____ ,a1.y的内容为______。
(2)用test_3 a1=new test_3(-2,5)后;a1.x的内容为_____ ,a1.y的内容为______。
(3)用test_3 a1=new test_3(10)后;其结果是__________。
2、设int x=1,float y=2,则表达式x / y的值是( )A、0B、1C、2D、以上都不是3、以下语句有语法错的是( )A、int x=1;y=2;z=3B、for (int x=10,y=0;x>0;x++);C、while (x>5);D、for(;;);4、void 的含义( )A、方法体为空B、定义的方法没有形参C、定义的方法没有返回值D、方法的返回值不能参加算术运算5、以下有关类定义的说法正确的是( )A、一个类可以有成员,也可以没有成员B、类的成员至少有一个属性和一个方法C、类的静态属性同全局变量的概念完全一样,只是表达形式不同D、类的方法在实例化时不占用内存6、以下有关构造函数的说法,正确的是( )A、一个类的构造函数可以有多个B、构造函数在类定义时被调用C、构造函数只能由对象中的其它方法调用。
D、构造函数可以和类同名,也可以和类名不同7、以下有关类的继承的说明中,正确的是( )A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B、子类只能继承父类的方法,不能继承父类的属性C、子类只能继承父类的非私有属性,不能继承父类的方法D、子类不能继承父类的私有属性8、以下有关类的构造函数继承的说明,正确的是( )A、子类继承父类的构造函数,但不能自己定义B、子类可定义自己的构造函数,但受父类定义的构造函数的限制C、子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D、如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义9、this 和super的使用中,正确的是( )A、都是指一个内存地址B、可以在同一个方法定义中出现C、意义相同D、以上都不10、分析以下程序,下面(AC)方法是对setVar方法的重载。
1.制作一个电子词典程序,配合词库能实现查询修改删除的功能。
2.编写一个小程序,能够从txt文件中读取数据,并统计每种字符出现的次数。
3.现有雇员类及其子类经理类,雇员类包含私有成员变量name,salary;经理类还有自己的私有变量bonus;雇员类包括方法getname()和getsalary(),经理类除继承上述方法外,还有自己的setbonus方法,现需创建一个经理并设置其奖金金额,另建立员工数组(经理作为其一个元素),要求打印输出该员工数组的姓名和薪水信息。
4.编码随机生成100个位于[20,1000]区间的整数。
5.编写一个三角形类,将求面积,周长,内切圆,外接圆等方法放入类中,并验证。
6.从1到100的100个整数,以某种随机的方式进行排列,然将它们挨个放到一个整数数组中,此数组只能容纳99个整数,因此必定会有一个整数会丢弃。
编写一个函数,接受一个包容99个整数的数组作为参数,找出被丢弃的是哪个整数?另外,你如何保证此函数接收的数组满足以下预设的条件?条件如下:①数组包容99个整数;②数组中的整数均在[1,100]的范围之内;③数组中不包含两个相同的整数;如果函数接收到的数据不满足上述要求,你打算如何处理?写出你的处理策略。
7.编写代码实现此图形。
8.编程求一个整数数组的最大值、最小值、平均值和所有数组元素的和。
9.使用if…else语句构造分支,判断某一年是否为闰年。
10.编程输出99乘法表。
11.设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并且输出这个数字。
12.编写一个矩形类Rect,包含:两个protected属性:矩形的宽(width)和高(height)。
两个构造方法:①一个带有两个参数的构造器方法,用于将width和height属性初始化;②一个不带参数的构造器,将矩形初始化为宽和高都为10。
两个方法:①area()求矩形面积;②perimeter()求矩形周长;13.编写一个Java源程序,在程序中建立一个含10个整型(int)元素的一维数组,对数组中的每个元素赋值,然后按下标的逆序输出。
一、单选题1、JAVA是1995年由(A )公司发布的A.SUNB.MicrosoftC.borlandD.Fox Software2、在Java中,负责对字节代码解释执行的是 BA.应用服务器B.虚拟机C.垃圾回收器D.编译器3、设有定义int i = 6 ;,则执行以下语句后,i的值为(C )。
i += i - 1;A.10B. 121C. 11D. 1004、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .hD. .c5、定义一个类,必须使用的关键字是( B )A. publicB. classC.staticD. interface6、JAVA中不属于基本数据类型的是(C )。
A.StringB.intC.charD.boolean7、0.6332的数据类型是(B)A. floatB. doubleC. FloatD. Double8、关于类和对象的叙述正确的是:( D )A.类是对象的实例化B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.Java的类分为两大部分:系统定义的类和用户自定义的类9、void 的含义:( C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算10、设 x = 2, y = 4, z = 5,则表达式 y*=z--/++x 的值是(C)A. 3B. 3. 5C. 4D. 511、访问权限最小的控制符是( D )。
A. publicB. protectedC. defaultD. private12、编译Java程序的命令是(B )A. cmdB. javacC. javaD. javadoc13、下列程序test类中的变量c的最后结果为(D )public class testpublic static void main(String args[]){int a = 10;int b;int c;if(a>50){b = 9;}c = b + a;}}A. 10B. 0C.19D.编译错误14、下列不属于面向对象编程的三个特征为( B )A.封装B.指针操作C.多态性D.继承15、下面程序定义了一个类,关于该类说法正确的是(A'Abstract class abstractClass{A.该类能调用new abstractClass(),实例化为一个对象B.该类不能被继承C.该类的方法都不能被重载D.以上说法都不对16、System.out.println(“5”+2);的输出结果是(A )A. 52B. 7C. 2D. 517、下面哪些是合法的标示符( A )A. $perB. 123C. *pointD. this 18、定义常量时需要用到的关键字是( C)。
一有关java的第四次题一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __” 2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。
5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。
6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音2)setSnarl(Dog dog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。