1、JAVA编程规范-试题姓名: 工号: 部门: 成绩: 一. 判断题(共15题,每题2分,直接在括号内打“”或“”)1、任何时候都不要使接口可以序列化。x2、相对独立的程序块之间、变量说明之后必须加空行。3、当程序需要释放对象的时候,应该手工调用finalize方法以释放对象。x4、公司的规范要求注释率是20以上,并且必须有助于对程序的阅读理解。x5、为了程序更加简洁,我们应该尽量使用下面的方式来赋值:a = b = 1 。x6、每个类都需要定义构建器。x7、类名、方法名、属性名的命名,都应该使用意义完整的英文描述。8、main() 方法的定义是public static void main(S
2、tring args)。x9、常量名应该使用全大写,英文单词之间用下划线或者-分隔开。并且,常量应该使用final static修饰。x10、公有方法参数名可以和属性名相同,但局部变量不能和属性名相同。11、一两行代码就能完成的功能没有必要编写方法实现。x12、对于模块间接口方法的参数的合法性检查,调用者和被调用者都应该对参数进行合法性检查。x13、运行期异常使用RuntimeException的子类来表示,必须在方法声明上加throws子句。x非运行期异常是从Exception继承而来的,不用在可能抛出异常的方法声明上加throws子句。x14、使用ObjectStream 的方法后,调用r
3、elease() ,释放对象。X15、减小单个方法的复杂度,使用的 if, while, for, switch 语句要在10个以内。二、单项选择题(共23题,每题2分)( c )1、排版时,代码缩进应该采用的方式是:(A)Tab 缩进(B)2 个空格缩进(C)4 个空格缩进(D )8 个空格缩进( c )2、下面哪条语句是不符合规范的: (A)int count = 0;int num = 0;/program codeif (count = num); (B)long count = 0L;long num = 0L;/program codeif (count = num); (C)fl
4、oat 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、下面那条语句是符合编码规
5、范的:(A)、for (int i = 0; i+; i = b) default :break; (B)、switch (number)case 1 :/1和2具有同样的含义,所以1也进入2的处理case 2 :. / program codereturn ;default :break;(C)、switch (number)case 1 :. / program codereturn;default :break;(D)、以上都是符合编码规范的三、多项选择题(共12题,每题2分)( ab )1、对于javadoc中的方法注释描述正确的是: (A)、deprecated 表示该方法不建议使用
6、(B)、return 表示返回的类型。(C)、public LogIterator read(String logType) throws IOException中的参数应该这样注释:/*param logType String*/(D)、C例子中的异常应该如下注释:/*throws IOException * exception/throws 违例类型 违例说明*/。异常注释用exception或throws表示,在JavaDoc中两者等价,但推荐用exception标注Runtime异常,throws标注非Runtime异常。异常的注释必须说明该异常的含义及什么条件下抛出该异常。( abc
7、d )2、下面描述哪些是错误的: (A)、方法的参数名和类中的方法名相同的时候会产生编译错误。(B)、实现 equals() 方法时,先用 getClass() 或者 instanceof 进行类型比较,可以提高性能。(C)、equals()或者 =都可以用来比较两个不同实例类的值是否相同。(D)、每个类都应该定义main() 方法。( acdefgh )3、类的注释内容包含下面哪些: (A)、版本号(B)、类名(C)、作者(D) 、当前存在的bug(E) 、生成日期(F) 、功能(G)、如果不建议使用,标明deprecated(H)、与其他类的关系( a )4、下面那些语句是符合编码规范的:
8、(A)、private final static int SERVER_BUSY = 0;private final static int SERVER_IDLE = 1;int status = 0;/program code if (SERVER_BUSY = status).;/ program codeelse if (SERVER_IDLE = status ).;/ program code(B)String customName = “”;if (customName.startWith(“A”).;/ program code(C)、String address = “shen
9、zhen”;String area = address + “B”;(D )、private boolean beginFlag = false;/ program codepublic boolean ifBegin().;/ program codereturn beginFlag;( ad )5、对包的命名,下面正确的是: (A)、com.huawei.产品名.模块名称(B)、 com.huawei.开发组名称.项目名称(C)、com.huawei. 部门名称.模块名称(D )、com.huawei.部门名称.项目名称( abcd )6、下面那些语句是不符合编码规范的:(A)、Strin
10、g data = receiveData();String info = “” ;while ( isEnd )info = Tools.covertData(data);char ch = data.charAt(point);if (info.charAt(0) = ch)isEnd = true ;point + ;(B)String data = receiveData();while ( isWait )String info = “”;/不要在循环体中定义变量.;/ program code;(C)、String data = receiveData();String info =
11、 “”;while ( isWait )try.;/ program codecatch ( IOException e ).;/ program code ;(D )、String data = receiveData();while ( isWait = true) .;/ program code;( abc )7、关于String和StringBuffer,下面那些是正确的: (A) 、常量字符串使用 String, 非常量字符串使用 StringBuffer。(B) 、使用StringBuffer的时候设置初始容量。(C) 、尽量使用 StringTokenizer 代替 index
12、Of() 和 substring()。(D) 、尽量不要使用 StringBuffer , StringTokenizer类。( abcd )8、下面那些语句是不符合编码规范的:(A)、 String env = System.getenv();if ( isWait ).;/ program code(B)public class ThreadPoolprivate int minThread = 10;private int maxThread = 100;.;/ program codeclass Worker.;/ program code(C)、String data = null
13、;String data1 = null ;.;/ program codefor (int i = 0; i data.length; i+)for (int j = 0; jdatai.length; j+)data1ij = dataij;(D )、String sendData = null ;String backupData = null ;.;/ program codefor (int i = 0; i sendData.length; i+)for (int j = 0; j sendDatai.length; j+)backupDataij = sendDataij;( b
14、c )9、异常捕获后,如果不对该异常进行处理,则下面哪些方法是正确的: (A)、使用 exception.getMessage()纪录日志 toString()(B)、使用异常类的 printStackTrace()方法打印异常信息(C)、特殊情况下,可以不处理异常,只要用注释加以说明就可以了(D )、使用空语句( acd )10、关于程序中异常的处理,下面描述错误的是:(A)、可以用异常来控制程序流程,因为异常的处理效率比条件分支高。(B)、不要过多地使用异常,同时在捕获异常处理的时候,要尽量的捕获处理异常的最小子类。 (C)、根据程序结构决定使用异常还是使用错误码,还是混合使用。 (D )
15、、当需要扔出一个 ERROR 类型的异常时,应该自定义一个 ERROR的子类供使用。( abcd )11、下面说法正确的是 : (A)、没有子类的友好类应该定义成 final。 (B)、 没有被覆盖的友好方法应该定义成 final(C)、不定义在包中没有被用到的友好属性、方法和类(D )、不要定义不会被用到的局部变量、类私有属性、类私有方法和方法参数( abcd )12、下面那些语 句是不符合编码规范的:(A)try/ . .out.close();catch(IOException ioe)out.close(); /. .(B)if (high 8 | low)(C)if (a | b public int getTransStatus();