姓名: ____________ 工号:_______________ 部门:____________ 成绩:一. 判断题(共15题,每题2分,直接在括号内打“/或“X”)1、任何时候都不要使接口可以序列化。
x2、相对独立的程序块之间、变量说明之后必须加空行。
V3、当程序需要释放对象的时候,应该手工调用fin alize 方法以释放对象。
x4、公司的规范要求注释率是20%以上,并且必须有助于对程序的阅读理解。
x5、为了程序更加简洁,我们应该尽量使用下面的方式来赋值: a = b = 1 。
x6、每个类都需要定义构建器。
x7、类名、方法名、属性名的命名,都应该使用意义完整的英文描述。
V8、main() 方法的定义是public static void main(String args[]) 。
x9、常量名应该使用全大写,英文单词之间用下划线或者-分隔开。
并且,常量应该使用finalstatic 修饰。
x10、公有方法参数名可以和属性名相同,但局部变量不能和属性名相同。
V11、一两行代码就能完成的功能没有必要编写方法实现。
x12、对于模块间接口方法的参数的合法性检查,调用者和被调用者都应该对参数进行合法性检查。
x13、运行期异常使用RuntimeException的子类来表示,必须在方法声明上加throws子句。
x非运行期异常是从Exception继承而来的,不用在可能抛出异常的方法声明上加throws子句。
x14、使用Objectstream 的方法后,调用release(),释放对象。
X15、减小单个方法的复杂度,使用的if, while, for, switch 语句要在10个以内。
V二、单项选择题(共23题,每题2分)(c ) 1、排版时,代码缩进应该采用的方式是:(A)Tab缩进(B)2个空格缩进(C)4个空格缩进c ) 2 、下面哪条语句是不符合规范的:int count = 0;int num = 0;... ;//program codeif (count == num){}(B)long count = 0L;long num = 0L;... ;//program codeif (count == num){}(C)float count = 0f;float num = 0f;... ;//program codeif (count == num){(D) 以上语句都符合规范b )3、对命名规范描述错误的是:(A)、包名单词的首字母应该大写。
(B)、类、接口名的单词首字母应该大写。
( C)、方法名的单词首字母应该大写。
( D)、变量名的单词首字母应该大写。
b ) 4、下面那句话是正确的:( A)、main() 方法的位置是可以随意放置的。
( B) 、所有的变量都应该显示初始化。
(C)、线程中需要实现start() 方法。
(D)、可以在运算中适当减小数据的精度,以减少计算量。
c ) 5 、下面那条语句是符合编码规范的:( A)、for (int i = 0; i++; i < 10){if ( isEnd ){i = 10;}}( B)、for (int i = 0; i++; i < 10){if ( isEnd ){C)、for (int i = 0; i++; i < 10){if ( isEnd ){break;}}(D)、for (int i = 0; i++; i < 10){if ( isEnd == true){break;}}a )6、下列对命名规范描述正确的是:(A)、可以将类名的第一个字母改成小写作为变量名。
(B)、由于java是区分大小写的,因此,我们为两个类命名时,可以让其字符相同,仅大小写不同,加以区分( C)、属性名可以和方法名相同( D)、方法的参数名一般不能和属性名相同,以免混淆。
c ) 7、关于方法命名,下面那句话是正确的:(A)、除了构建器外,定义和类名相同的方法名会产生编译错误。
(B)、如果没有定义构建器,那么可以定义和类名相同的方法名。
(C)、定义和类名相同的方法名不会产生错误,只是有时候容易混淆。
(D)、定义和类名相同的方法名不会有任何问题。
c ) 8、关于servlet ,下面那句话是错误的:(A) 、不要使用()方法。
(B) 、不再使用HttpSession时,应该尽早使用in validate。
方法释放。
( C) 、任何时候都不能使用Servlet 的SingleThreadModel 。
(D)、不再使用JDBC资源时,应该尽早使用close() 方法释放。
c ) 9 、下面那句话是错误的:(A)、包的注释写入一个名为package.html 的HTM格式的说明文件放入当前路径。
(B)、注释应该与其上面的代码用空行隔开。
(C)、接口一般都非常简单,如一些方法申明等,可以不写注释,而到具体的实现类中再写。
(D)、成员变量注释内容应该包括:成员变量的意义、目的、功能,可能被用到的地方。
d ) 10、关于安全,下面那句话是正确的:(A)、任何时候都不要使用内部类。
(B)、任何时候都不要使类可以克隆。
( C) 、任何时候不要使接口可以序列化。
(D) 、为方法、属性和类定义明确的存取控制,并且尽量不要使用友好方法、属性和类。
c ) 11、下列关于注释说法正确的是:( A) 、包注释可有可无,一般大家都是看类注释和方法注释。
( B) 、可以把一个类的类注释改为它的文件注释。
( C) 、类注释应该放在package 关键字之后,class 或者interface 关键字之前。
(D)、文件注释应该使用javadoc定义的方式注释,保证能够被收集并形成doc文档。
b ) 12、关于国际化,下面那句话是错误的是:( A) 、不要使用String 类的compareTo(), equals() 方法。
( B) 、在进行字符串连接时,不要使用String ,使用StringBuffer 。
(C)、不要使用Date.toString() ,Time.toString() 方法。
( D) 、字符和字符串常量应该放在资源文件中。
b ) 13、关于复杂度,下面那句话是错误的是:( A) 、继承层次建议不要超过5层。
(B)、方法行数建议在10- 50行。
(C)、方法参数建议不要超过5个。
(D)、类的行数建议不要超过1000行。
(A)、private static String SERVER_NAME = “ CLIENT” ;使用final static 修饰。
public final static int MAX_ VALUE = 1000;(B)、class A{...;// program code}class B extends A{public Object clone(){A a = new A();〃在cion e() 方法中应该而且必须使用super.clo ne() 而不是new...;// B clone code}}(C)、class A{public A(){...;// program code}}(D)、class A{public boolean equals(Object o)...;// program code}public int hashCode(){...;// program code}}d ) 15 、下面代码,那个是符合编码规范的:(A)、if (writeToFile = true){writeFileThread.interrupt();}(B)、if (writeToFile) writeFileThread.interrupt();(C)、int a=l ; a++;(D)、if ((a >= b) && (c > d)){... // program code}c ) 16、调试代码,增加打印信息,应该使用:( A) System.out( B) System.err(C) 包含统一开关的测试类进行统一打印(D) 以上都不是d ) 17 、程序的效率关键在于:(A)高技巧的语句(B)结构清晰的语句(C)符合编程规范的语句(D)以上都不是c ) 18、下面哪个线程调用是符合编程规范的:( A) resume()( B) suspend()( C) start()( D) stop()d ) 19 、对于创建的主要的类,最好置入main() 函数,下面哪个不需要(A)能完成独立功能的类,如通讯类。
(B)具有完整界面的类,如一个对话框、一个窗口、一个帧等。
( C) JavaBean 类。
(D)资源类。
b ) 20、下面说法错误的是:(A)源程序中关系较为紧密的代码应尽可能相邻。
(B)集合中的数据不使用时,虚拟机会负责收集,因此不需要显示释放。
(C)如果多段代码重复做同一件事情,那么在方法的划分上可能存在问题。
(D)静态成员或者方法使用类名访问,不使用句柄访问。
d ) 21、下面说法错误的是:(A)不要覆盖父类的静态方法和私有方法。
(B)不要覆盖父类的属性。
(C)不要使用两级以上的内部类。
(D)在Sevlets中必须使用同步方法。
c ) 22、下面那句话是正确的:(A)、所有的类都应该重载toString 方法,返回该类有意义的内容。
(B)、明确方法功能,近似地实现方法设计。
( C) 、赋值运算符” =”前后都应该加空格。
( D)、get 、set 方法和相关属性,应该尽量放在一起定义。
d ) 23 、下面代码,那个是不符合编码规范的:(A)、switch (number) case 1 :... // program code break;default : break;(B)、switch (number) case 1 ://1 和2具有同样的含义,所以1也进入2的处理case 2 :... // program code return ;default :break;(C)、switch (number) case 1 :... // program code return;default : break;(D)、以上都是符合编码规范的三、多项选择题( 共12题,每题2分)( ab ) 1、对于javadoc 中的方法注释描述正确的是:( A) 、@deprecated 表示该方法不建议使用( B) 、@return 表示返回的类型。
样注释:/**@param logType String*/(D)、C例子中的异常应该如下注释:/**违例类型] [ 违例说明]@throws IOException * @exception/throws [ */ 。