java程序设计试题及答案
一、判断题1、当前路径的标识是“.”。√2、java命令不区分大小写,而javac命令区分大小写。×3、说明或声明数组时不分配内存大小,创建数组时分配内存大小。√4、强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。√5、类是一种类型,也是对象的模板。√6、Java语言会自动回收内存中的垃圾。√7、IOException必须被捕获或抛出。√二、不定项选择题1、以下关于编写、编译、运行Java 程序的步骤中,错误的是(BE)。
printf输出格式java
A、用link 将二进制目标码文件连接成可执行文件
B、用javac 将java 源文件编译成二进制目标码文件
C、用java 命令运行编译过的java 程序
D、用文本编辑器编写java 源文件
E、用javac 命令编译java 源文件2、下面关于Java Application 程序结构特点描述中,错误的是(D )。A、一个Java Application程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成B、Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.javaC、组成Java Application 程序的多个类中,有且仅有一个主类D、一个.java文件
中定义多个类时,允许其中声明多个public类3、以下关于中断控制语句的描述错误的是(D)。A、break 语句用于中断当前的程序块,如for 结构块等的执行B、continue 停止继续执行下面的语句,直接跳回循环起始位置C、return 用于退出整个子程序D、break 用于强行退出循环,不执行循环中剩余的语句E、在一个函数中不管有没有返回值,都需要return 语句来退出函数4、以下程序的执行结果是什么?(B)int[] myArray=new int[3];try{ for (int i=0; i <= myArray.length; i++){ myArray[i]=i*3 ; System.out.println("myArray 数组的第"+ i +"个元素的值是"+myArray[i]); }} catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组下标越界");}A、程序出现异常,屏幕提示“数组下标越界”B、程序执行,显示数组中每个元素的值,最后显示“数组下标越界”C、程序正常执行结束,屏幕上显示数组中每个元素的值D、程序编译出错5、对象的有效期有多长?(B)A、与引用变量的有效期相同,当引用变量的有效期结束时,对象也自动消失B、从对象创建时开始,直到没有任何引用变量指向该对象时,对象失去作用,被自动回收C、从对象创建时开始,直到编程人员用“delete”关键字删除对象为止D、从对象创建时开始,直到程序结束6、关于类的构造方法,以下正确的是(BC)。
A、同一个类可以有几个构造方法,各构造方法的参数必须不同
B、同一个类可以有几个构造方法,各构造方法的参数必须相同
C、当创建一个对象时,需要指明是否调用该对象的构造方法
D、构造方法的名称与类的名称相同
E、当创建一个对象时,该对象的构造方法会被自动调用7、下列关于子类继承父类的成员描述中,错误的是(C )。A、当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法B、方法重载是编译时处理的,而方法覆盖是在运行时处理的C、子类中继承父类中的所有成员都可以访问D、子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使用自己定义的变量8、下列关于继承性的描述中,错误的是(C )。A、一个类可以同时生成多个子类 B、子类继承了父类中除私有的成员以外的其他成员C、Java 支持单重继承和多重继承D、Java通过接口可使子类使用多个父类的成员9、关于实现接口中的方法,哪些叙述是正确的?(B)A、类中应当实现接口中的所有方法,但方法参数可以有所不同B、类中应包括所有接口中方法,并且方法名、返回值的类型、方法参数的个数、名称、类型都必须与接口中的对应方法相一致C、类只能实现接口所提供的方法,而不能定义其他的方法D、类只能实现接口的方法,而不能使用接口中的常量10、关于抽象类的说法中正确的有(CD)。A、只有子类覆盖了父类的所有抽象方法之后,这个子类才不是抽象类B、抽象类只有方法,没有属性C、抽象类的所有方法都是抽象方法D、带有抽象方法的类为抽象类  E、抽象类不能创建对象11、Java内部如何利用"+"号把字符串String连接在一起?(B)A、"+"相当于append函数,在StringBuffer对象的后面添加字符串B、
Java在用"+"号进行字符连接时,是新建一个StringBuffer对象,用它来连接所有字符串,然后再转回
String对象.C、"+"号相当于append 函数,在String对象的后面添加字符串D、只有String对象才用"+"连接符,StringBuffer对象、整数、浮点数等都不能使用"+"连接符12、如果下列的方法能够正常运行,在控制台上将显示什么?(ACD)public void example(){try{unsafe(); System.out.println("Test1");}catch(SafeException e){System.out.println("Test 2");}finally{System.out.println("Test 3");}System.out.println("Test 4");}A 、Test 1  B、Test 2  C、Test 3  D、Test 4三、简答题1、为什么说构造方法是一种特殊的方法?特殊在哪里?构造方法什么时候执行?被谁调用?答:在java语言中,构造函数又称构造方法。特殊性在于,与普通方法的区别是,他与类名相同,不返回结果也不加void返回值。构造函数的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造函数)。构造函数还能够被重载,即可以传入参数,当程序中包含有带参的构造函数时,系统将不会再提供的无参构造函数。构造函数特点:没有函数返回值,构造函数名与类名相同;当创建类对象的时候调用其对应的构造方法去创建2、Java的异常处理块的形式是什么样?答:用户程序使用throw关键字抛出异常。系统定义的异常由系统在合适的时刻自动抛出。四、编程题1、给出一百分制成绩,要求输出成绩等级''A'',''B'',''C'',''D'',''E''。90分以上的为''A'',80~89分为''B'',70~79分为''C'',60~69为''D'',60分以下为''E''。#include <stdio.h>int main(){ int s;printf("请输入一个成绩:");scanf("%d", &s);if(s>100 || s < 0){printf("输入了一个错误的成绩。\n");return 1;}char ch;switch(s/10){case 10:case 9:  ch = 'A'; break;case 8:  ch = 'B'; break;case 7:  ch = 'C'; break;case 6:  ch = 'D'; break;default:ch = 'E'; break;}printf("您输入的成绩等级为:%c\n", ch);return 0;2、定义—个类
Rectangle代表矩形,为矩形定义getLength方法(获得矩形的长度)、getWidth方法(获得矩形的宽度)、setLength方法(设置矩形的长度)、setWidth方法(设置矩形的宽度)、getArea方法(求矩形的面积)和toString方法(显示矩形的格式),为矩形派生出一个子类Square代表正方形,并对getArea和toString进行重写。并编写程序进行测试。public class Rectangle {// top, left 左上角那个顶点的坐标// width: 宽// heigth: 长private double top, left, width, height;// 构造函数public Rectangle(double top, double left, double width, double height) {p = top;this.left = left;this.width = width;this.height = height;}// 改变宽,高,即改变矩形宽高public void size(double width, double height) {this.width = width;this.height = height;}// 计算面积,宽×高public double area() {return width * height;}//求面积public double getMianJi(int mx,int my){Distance(pointA, pointB)*Distance(pointB, pointC);}3、卡车要装载一批货物,货物有三种商品:电视、计算机和洗衣机。需要计算出大货车承载的3种货物的重量。要求有一个ComputeWeight 接口,该接口中有一个抽象方法:public double computeWeight();设计3个实现接口的类:Television, Computer, WashMachine。这三个类通过实现接口给出自重。定义一个Car类,该类用ComputeWeight接口类型的数组作为成员,那么该数组的单元可以存放Television, Computer, WashMachine对象的引用。设计程序能输出Car对象所装载的货物的总重量。提示:可以把实现某接口的类创建的对象的引用赋值给该接口声明的接口变量。class Television implements ComputeWeight{private double weight;private double//overridepublic double computeWeight(){return this.weight;}class Car{public:Car();Car(int Television, int Computer int WashMachine );private:int Television;int Computer;int WashMachine;}