JAVA编码规范试题3Word下载.doc
《JAVA编码规范试题3Word下载.doc》由会员分享,可在线阅读,更多相关《JAVA编码规范试题3Word下载.doc(13页珍藏版)》请在冰豆网上搜索。
12.任何时候都不要使接口可以序列化;
13.减小单个方法的复杂度,使用的if,while,for,swith语句要在10个以内;
14.main()方法的定义是publicstaticvoidmain(Stringargs[]);
二、单选题(每题2分,共36分)
1下列错误使用异常的做法是(D)
A.在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常。
B.一个方法不应抛出太多类型的异常。
throws/exception子句标明的异常最好不要超过三个。
C.异常捕获尽量不要直接catch(Exceptionex),应该把异常细分处理。
D.程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。
捕获异常后用exception.toString()取到详细信息后保存。
2下列说法错误的是:
C
A.段代码各语句之间有实质性关联并且是完成同一件功能的,那么可考虑把此段代码构造成一个新的方法。
B.源程序中关系较为紧密的代码应尽可能相邻。
C.程序中可同时使用错误码和异常进行处理,推荐使用异常。
D.方法参数建议不超过5个。
3下面对类、方法、属性的说法不符合编程规范的有:
A.不要覆盖父类的私有方法。
B.类中不要使用非私有的非静态属性。
C.
类定义
{
类的私有属性定义
类的公有属性定义
类的保护属性定义
类的私有方法定义
类的公有方法定义
类的保护方法定义
}
D.类私有方法的最大规模建议为15个
4下面的程序片断符合JTest规范的是(B)
A.
for(inti=0;
i<
MAX_INDEX;
i++)
Appleapple=array[i];
B. publicinterfaceServiceConst
{
intMAX_BLACK_SIZE=100;
}
For(inti=0;
list.add(FruitFactory.getInstance().createApple());
D.Stringlog=message+“Y”;
5.排版时,代码缩进应该采用的方式是(C)
ATab缩进
B2个空格缩进
C4个空格缩进
D8个空格缩进
6.关于复杂度,下面那句话是错误的:
A
A继承层次建议不要超过5层
B方法行数建议在10-50行
C方法参数建议不要超过5个
D类的行数不要超过1000行
7下列说法错误的是(D)
A.尽可能的使用局部变量进行运算。
B.不要使用静态集合,其内存占用增长没有边界。
C.一个只有abstract方法、finalstatic属性的类应该定义成接口。
D.使用while(),sleep()代替wait(),notify()。
8下面说法错误的是(D)
A.属性名不能与方法名相同。
B.方法重载的时候,一定要注意方法名相同。
C.方法的参数名不要和类中的方法名相同。
D.使用equals()比较两个类是否相同。
9下列关于注释说法正确的是C
A包注释可有可无,一般大家都是看类注释和方法注释
B可以把一个类的类注释改为它的文件注释
C类注释应该放在package关键字之后,class或者interface关键字之前
D文件注释应该使用javadoc定义的方式注释,保证能够被收集并形成doc文档
10关于安全,下面那句话是正确的:
D
A任何时候都不要使用内部类
B任何时候都不要使类可以克隆
C任何时候不要使接口可以序列化
D为方法、属性和类定义明确的存取控制,并且尽量不要使用友好方法、属性和类
11于说法正确的是:
A.使用StringBuffer的时候设置初始容量,推荐设置为1024。
B.使用StringBuffer代替String
C.在国际化相关的处理逻辑,不要使用String。
D.不要通过名字比较两个对象的类,应该使用instanceof()
E.类调用方法的最大规模建议不超过20个。
12列关于finalize()的描述错误的有:
A.在finalize()方法中一定要调用super.finalize()方法
B.在finalize()方法中的finally中调用super.finalize()方法;
C.不要在finalize()方法中删除监听器(Listeners);
D.可以在finalize()方法中删除监听器(Listeners);
13下列错误使用异常的做法是(D)
14、下列说法错误的是:
15下面的选项与公司的排版规范不相符的是
A.如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已是最清晰的标志了。
B.
DatabaseKeyservicekey=null;
key=getServiceKey();
currentEventsCount=getCurrentEventsCount();
if(currentEventsCount>
0)
//...programcode
if(writeToFile)
writeFileThread.interrupt();
D.
if((a>
=b)&
&
(c>
d))
//programcode
E.在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。
给操作符留空格时不要连续留两个以上空格
16下面说法或者语句不符合公司编程规范的排版要求的是:
A.逗号、分号只在后面加空格;
比较操作符,赋值操作符"
="
、"
+="
,算术操作符"
+"
、"
%"
,逻辑操作符"
"
,位域操作符"
<
^"
等双目操作符的前后加空格;
"
!
~"
++"
--"
(地址运算符)等单目操作符前后不加空格;
B.a*=2;
C.x=y&
z;
D.key--;
17有关各种注释内容,描述错误的是:
A.成员变量注释内容:
成员变量的意义、目的、功能,可能被用到的地方。
B.公有和保护方法注释内容:
列出方法的一句话功能简述、功能详细描述、作者、输入参数、输出参数、返回值、违例等。
C.类和接口的注释内容:
类的注释主要是一句话功能简述、功能详细描述,可根据需要列出:
版本号、生成日期、作者、内容、功能、与其它类的关系等。
如果一个类存在Bug,请如实说明这些Bug。
D.文件注释内容有:
文件名、版权说明、描述信息、生成日期、修改历史。
E.包的注释内容:
简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权。
18下面说法正确的是:
A.编写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
不再有用的注释不要删除,使用@deprecated表示此注释无效。
B.避免在注释中使用缩写,特别是不常用缩写;
但是,注释也是可使用缩写,在使用缩写时或之前,应对缩写进行必要的说明。
C.在程序块的结束行下方加注释标记,以表明某程序块的结束。
D.注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,根据公司国际化的趋势,建议多使用英文。
三、多选题(每题3分,共36分)
1、下面的程序片断不符合编码规范的有:
privatefinalstaticintTRUNK_BUSY=1;
privatefinalstaticintTRUNK_UNKNOWN=-1;
publicintwriteToDatabase()
...//programcode
if(state==TRUNK_IDLE)
{
state=TRUNK_BUSY;
...//programcode
return0;
}
else
state=TRUNK_UNKNOWN;
return-1;
B.
privatevoidinitializePool(intcount)throwsException
//programcode
try
{
//programcode
}
catch(OutOfMemoryErrorex)
thrownewError(ex.toString());
C.if((a|b)&
(a&