`
xinyoulinglei
  • 浏览: 123612 次
社区版块
存档分类
最新评论

java规范信息

    博客分类:
  • java
 
阅读更多
1 一、判断选择题(每题1分)
1. 表达式要在低优先级操作符处划分新行,分隔的操作符应放在行尾(B)
A 正确 B 错误

2. if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{} (A)
A 正确 B 错误

3. 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置, 如有特殊需要,也可以放在代码的下方(B)
A 正确 B 错误

4. 对变量的定义和分支语句(条件分支、循环语句等)必须编写注释(A)
A 正确 B 错误

5. 对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释(A)
A 正确 B 错误

6. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰(A)
A 正确 B 错误

7. 属性名可以和公有方法参数相同,不能和局部变量相同(A)
A 正确 B 错误

8. 一个函数仅完成一件功能,即使简单功能也应该编写方法实现(A)
A 正确 B 错误

9. 所有的数据类必须重载toString() 方法,返回该类有意义的内容。说明:父类如果实现了比较合理的toString() ,子类可以继承不必再重写(A)
A 正确 B 错误

10. 数据库操作、IO操作等需要使用结束close()的对象必须在try -catch-finally 的finally中close() (A)
A 正确 B 错误

11. 记录异常不要保存exception.toString(),而要记录exception.getMessage() (B)
A 正确 B 错误

12. 如果确实有很多异常类型首先考虑用异常描述来区别,throws/exception子句标明的异常最好不要超过5个 (B)
A 正确 B 错误

13. 在 finalize() 方法中一定要调用super.finalize() 方法(A)
A 正确 B 错误

14. 所有的局部变量都需要显示初始化(A)
A 正确 B 错误

15. 在进行比较的时候,总是把常量放在同一边, 可以都放在左边或都放在右边(A)
A 正确 B 错误

16. 应尽量把内部类定义成公有类, 以便外部重用(B)
A 正确 B 错误

17. 在捕获违例的时候,不使用 Exception, RuntimeException, Throwable,尽可能使用它们的子类(A)
A 正确 B 错误

18. 对返回类型为boolean的方法使用 is 开头,其它类型的不能使用(A)
A 正确 B 错误

19. 为所有的 switch 语句提供一个 default 选项(A)
A 正确 B 错误

20. 减小单个方法的复杂度,使用的 if, while, for, switch 语句要在10个以内(A)
A 正确 B 错误
2 二、单选题(每题2分)
21. 如下关于switch语句的使用描述错误的是(B)
A、在switch 中每个 case 语句都应该包含 break 或者 return;
B、switch 语句中可以定义case 之外的无用标签;
C、应该为每个switch语句加一个default;
D、如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释;
22. 如下关于父子类的描述错误的是(D)
A、方法重载的时候,一定要注意方法名相同,避免类中使用两个非常相似的方法名;
B、不要覆盖父类的静态方法和私有方法;
C、不要覆盖父类的属性;
D、父类如果实现了toString(),子类仍然必须重写;
23. 如下关于运算的描述错误的是(B)
A、在运算中不要减小数据的精度;
B、对浮点数可以进行比较运算,如 ==, !=;
C、字符串和数字运算结果相连接的时候,应该把数字运算部分用小括号括起来;
D、对于被除数或者被乘数为2的n次方的乘除运算使用移位运算符>>, <<;
24. 如下关于字符串运算的运算描述错误的是(A)
A、字符串和字符连接使用“+“拼接而非StringBuilder或StringBuffer;
B、常量字符串使用 String, 非常量字符串使用StringBuilder或StringBuffer;
C、单个首字符的比较使用charAt() 而不用startsWith();
D、字符串和数字运算结果相连接的时候,应该把数字运算部分用小括号括起来;
25. 如下关于字符串国际化时使用的描述错误的是(D)
A、国际化时不要使用一个字符进行逻辑操作,使用Characater;
B、国际化时不要进行字符串连接操作,使用MessageFormat;
C、国际化时不要使用Date.toString() ,Time.toString() 方法;
D、国际化时应该使用StringBuffer , StringTokenizer类;
26. 关于servlet的使用描述错误的是(D)
A、servlet使用jdbc后,不再使用JDBC资源时,应该尽早使用 close() 方法释放;
B、不要使用Servlet的SingleThreadModel,会消耗大量资源;
C、不再使用HttpSession时,应该尽早使用 invalidate() 方法释放;
D、servlet的init(ServletConfig)方法中不要调用super.init(ServletConfig);
27. 如下关于类定义和访问的描述错误的是(A)
A、静态成员或者方法应使用句柄访问;
B、不要定义不会被用到的局部变量、类私有属性、类私有方法和方法参数;
C、把内部类定义成私有类;
D、去掉接口中多余的定义(不使用 public, abstract, static, final 等,这是接口中默认的);
28. 关于多线程编程描述错误的是(A)
A、非同步方法中并且没有同步块可以调用 wait() , notify() 方法;
B、避免在同步方法中调用另一个同步方法造成的死锁;
C、线程中需要实现 run() 方法;
D、线程同步中,使用notifyAll() 代替 notify();
29. 如下关于类中方法的定义描述错误的是(A)
A、在构建器中可以使用非 final 方法;
B、在 clone() 方法中应该而且必须使用super.clone() 而不是 new;
C、工具类(Utility)不要定义共有构建器;
D、重载 equals() 方法的同时,也应该重载hashCode() 方法;
30. 如下关于内部类描述错误的是(C)
A、不要使用两级以上的内部类;
B、把内部类定义成私有类;
C、应该经常使用内部类;
D、外部类拥有指向内部类的句柄;
31. 如下关于方法参数的描述错误的是(D)
A、不要对参数进行赋值操作;
B、方法注释的参数个数要和实际个数保持一致;
C、可以通过参数的类型不同进行方法重载;
D、子类可以定义和父类中同名的方法,但返回参数类型不同;
32. 如下关于接口的描述错误的是(D)
A、一个只有abstract方法、final static 属性的类应该定义成接口;
B、去掉接口中多余的定义(不使用 public, abstract, static, final 等,这是接口中默认的);
C、在类中对于没有实现的接口,应该定义成抽象方法,类应该定义成抽象类;
D、不建议对接口进行instanceof运算;
33. 如下关于方法调用描述错误的是(D)
A、不要重复调用一个方法获取对象,使用局部变量重用对象;
B、不要显式调用 finalize();
C、不要在循环体内调用同步方法和使用 try-catch 块。
D、不要在 finalize() 方法中的 finally 中调用super.finalize() 方法;
34. 如下关于类定义描述错误的是(D)
A、不要定义不会被用到的局部变量、类私有属性、类私有方法和方法参数;
B、显式初始化所有的静态属性;
C、不要给非公有类定义 public 构建器;
D、方法的参数名可以和类中的方法名相同;
35. 如下关于final的使用描述错误的是(D)
A、没有子类的友好类应该定义成 final;
B、没有被覆盖的友好方法应该定义成 final;
C、常量必须定义为final;
D、内部类可以访问外部类、方法的非final变量;
36. 如下关于异常的使用描述错误的是(A)
A、不要定义 Error 、RuntimeException、Exception的子类;
B、声明方法违例的时候不要使用 Exception ,应该使用它的子类;
C、不要直接扔出一个Error ,应该扔出它的子类;
D、在捕获违例的时候,不使用 Exception, RuntimeException, Throwable,尽可能使用它们的子类;
37. 如下关于初始化容量设置描述错 误的是(D)
A、使用StringBuffer时设置初始容量;
B、使用ArrayList时设置初始容量;
C、使用Hashmap的时候设置初始容量;
D、使用LinkedList设置初始容量;
38. 如下关于循环描述错误的是(A)
A、使用循环来复制数组;
B、不要在 for 循环体中对计数器进行赋值;
C、不要在循环体内调用同步方法和使用 try-catch 块;
D、不要在循环体内定义变量;
39. 如下关于集合类的描述错误的是(D)
A、含有集合意义的属性命名,尽量包含其复数的意义;
B、使用集合类时要设置初始化容量;
C、尽量不要使用静态集合,其内存占用增长没有边界;
D、集合中的数据不需要释放,垃圾回收器会自动回收;
40. 如下描述不正确的是(D)
A、除了构建器外,不要使用和类名相同的方法名;
B、使用 equals() 比较两个类的值是否相同;
C、不要使用嵌套赋值,即在一个表达式中使用多个 =;
D、重载 equals() 方法时,不必要重载hashCode() 方法;
3 三、多选题(每题3分)
41. 下面关于代码排版的说法正确的有:(AD)
A.for语句中的执行语句无论多少都要加括号{}
B.程序块对齐时为提高效率可以使用Tab键进行对齐,将Tab键设置为占4个字符
C.if条件中的语句如果只有1行,可以与if条件同行书写,使代码更简洁
D.两段逻辑比较独立的代码之间必须加空行

42. 下面哪些代码不符合公司的JAVA编程规范:(ABCDE)
A.
switch ( key )
{
case Log.INFO:
value = getINFOValue();
break;
caseLog.ERROR: value = getErrorValue();
break;
default: value = getDefaultValue();
}
B.
while ( key > 1){
key--;
}
C.
voidexample_fun( Object value )
{
    //key 表示呼叫的关键事件
int key = 0;    key = getCallEventKey();
}
D.
if ( key >= 0 &&
key<= ServiceConfig.getBlackListSize() )
{
    //program code
}
E.
int a ,b ,c;

43. 如下哪些地方应该加上空行:(ABD)
A. import语句与类定义之间
B. 变量说明之后
C. 注释和被注释的代码之间
D. 注释与其上面的无关的代码之间

44. 下面那些关键字与后面的符号(如“(”)之间应添加空格:(ABCD)
A. if
B. for
C. while
D. switch

45. 如下关于操作符的排版说法正确的有:(ABCD)
A. 分号只在后面加空格
B. 双目操作符前后加空格
C. 单目操作符前后不加空格
D. 逻辑操作符前后加空格

46. 如下类属性和类方法的排版顺序正确的有:(AC)
A.
class Sample
{
public String a;
private String b;
}
B.
class Sample
{
private String a;
protected String b;
}
C.
class Sample
{
private String a;
public String mb
{
// CODE...
}
}
D.
class Sample
{
public String a;
public String ma
{
// CODE...
}
private String b;
private String mb
{
// CODE...
}
}

47. 下面关于注释说法不正确的有 :(BD)
A. 所有的包都应该写入一个名为 package.html 的HTML格式的说明文件放入当前路径
B. 文件注释应写入文件头部,包名之后的位置
C. 类注释应该放在package 关键字之后,class 或者 interface 关键字之前
D. 对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,包括RuntimeException

48. 如下注释排版不符合规范的有:(AD)
A.
// 注释
program code 1
program code 2
// 注释
program code 3
B.
public void example( )
{
// 注释
CodeBlock One
}
C.
/**
* 注释内容
*/
private String logType;

/**
* 注释内容
*/
public void write()
D.
//注释
program code 1
program code 2

program code 3
//注释

49. 如下注释符号使用符合规范 的有:(BD)
A.
public static booleanisEmpty(String str)
{
    /* 字符串为null或长度为0则认为字符串为空 */
return ((str == null) || (str.trim().length() == 0));
}
B.
/**
* 判断两个字符串是否相等
*
*@param str1待比较字符串1
* @param str2待比较字符串2
* @return 字符串是否相等
*/
public static booleanisEq(String str1, String str2)
{
if (str1 == null)
    {
return str2 == null;
    }
return str1.equals(str2);
}
C.
// 将long型转换为字符串
public static String valueOf(long l)
{
returnString.valueOf(l);
}
D.
/**
* 用户手机号
*/
private String msisdn;

50. 下面哪些地方必须加注释:(ABCD)
A. 文件头部
B. 变量的定义
C. 接口头部
D. 复杂代码分支处
E. 长表达式的中间

51. 如下类名符合公司规范的有:(CE)
A. getNewSubscriptionList
B. DEBUGLOG
C. OrderResponse
D. FtpDownloadUtil_test
E. UserManager

52. 下面关于命名的说法不正确的有:(BD)
A. 属性名可以和公有方法参数相同,不能和局部变量相同
B. 包名采用域后缀倒置的加上自定义的包名,自定义的包名第一个单词的字母使用小写、剩余单词首字母大写其余字母小写
C. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰
D. 引用静态成员变量时可以使用类名引用,也可以使用this引用

53. 下面关于命名的说法正确 的有:(ABCD)
A. 常用组件类的命名以组件名加上组件类型名结尾
B. 如果函数名超过15 个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名
C. 准确地确定成员函数的存取控制符号,不是必须使用 public 属性的,请使用 protected,不是必须使用 protected, 请使用 private
D. 含有集合意义的属性命名,尽量包含其复数的意义

54. 如下编码规范说法正确的有:(CD)
A. 明确方法功能,近似地实现方法设计,一个函数仅完成一件功能
B. 仅用一两行就可完成的功能禁止封装成方法
C. 应明确规定对接口方法参数的合法性检查应由方法的调用者负责还是由接口方法本身负责,缺省是由方法调用者负责
D. 数据类不能包含数据处理的逻辑。通信类不能包含显示处理的逻辑。

55. 下面关于异常的说法正确的有: (BCD)
A. 所有的异常都必须被捕获
B. 自己抛出的异常必须要填写详细的描述信息
C. 非运行期异常是从Exception继承而来的,必须在方法声明上加throws子句
D. 对于Error类异常,我们自己的程序不应该捕获这种异常,并且也不应该创建该种类型的异常

56. 如下哪些表达式不符合公司的编程规范:(ABD)
A. a | b && a & c
B. if (result == "True")
C. if (a > (b + c–d))
D. c = a>>4 | b      
57. 如下哪些命名应该以小写字母开头:(AB)
A. 方法名
B. 属性名
C. 常量名
D. 类名
E. 接口名

58. 如下代码不符合公司编程规范的有:(ABCD)
A.
if (state == 1)
{
state = 2;
    // program code
}
B.
publicintgetIndex()[]
{
    // program code
}
C.
try
{
out.print("XXX");
}
catch(IOException e)
{
    //... ...
}
finally
{
out.close();
}
D.
String completeReason = "";
for (String reason : reasons)
{
completeReason += reason;
}

59. 如下说法正确的有:(ABCDE)
A. 在switch 中每个 case 语句都应该包含 break 或者 return
B. 不要使用两级以上的内部类
C. 不要覆盖父类的属性
D. 去掉接口中多余的定义(不使用 public, abstract, static, final 等,这是接口中默认的)
E. 不要在if 语句中使用等号= 进行赋值操作

60. 如下建议符合公司规范的有:(ACDE)
A. 为 switch 语句提供一个 default 选项
B. 要使用尽量清晰的表达式,如:if (a.equals(b)==true), 而不是if (a.equals(b))
C. 除了构建器外,不要使用和类名相同的方法名
D. 不要显式导入java.lang.* 包
E. 不要显式调用 finalize()
分享到:
评论

相关推荐

    JAVA接口规范.doc

    APP接口开发规范文档-V1.0,java接口开发规范 查询类接口是指客户端传递一些参数,服务端根据参数依据需求,前往数据库查询需要的结果返回数据的一类接口。 返回类型一般有两种。第一种是返回一个对象,第二种是返回...

    JAVA开发技术规范.docx

    JAVA开发技术规范.docx

    Java™ Servlet 规范.

    其他的 Java 平台规范 .......................................................................................................................................3 其他重要参考资料 ............................

    xxx信息部java开发规范.docx

    Java开发规范,Java开发标准,本规范是根据业界知名大厂结合本公司信息化标准要求制定的规范,现开放网络,希望对读者有所启示,带来参考意义

    Java Platform Standard Edition 6 API规范.rar

    java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...

    JAVA开发手册与安全编码规范.zip

    Java开发手册以 Java 开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约七个维度进行Java开发规范; Java安全编码规范明确安全编码的基本原则,常见漏洞对应的...

    Java开发手册-代码规范

    安全性:包括如何防止代码被恶意攻击、如何处理敏感信息等方面的安全规范。 性能优化:包括如何优化代码的执行效率、减少资源消耗等方面的性能优化规范。 通过遵循《Java开发手册-代码规范》,开发者可以编写出结构...

    阿里巴巴java开发规范.rar

    《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,...在延伸信息中, “说明”对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要 提防的雷区,以及真实的错误案例。

    阿里巴巴Java开发规范

    《阿里巴巴Java开发手册》,首次公开阿里官方Java代码规范标准。这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。

    Java虚拟机规范中文版

    Java虚拟机规范中文版,描述了Java虚拟机规范的相关信息

    阿里巴巴Java编码规范

    阿里巴巴Java编码规范,这个算是Java web开发最通用的规范

    JAVA_API1.6文档(中文)

    本文档是 Java 2 Platform Standard Edition 6.0 的 API 规范。 请参见: 描述 Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含...

    【学生选课信息管理系统】数据库课程设计源代码+报告(MySQL+Java)

    【学生选课信息管理系统】数据库课程设计源代码+报告(MySQL+Java) 数据库课程设计,学生选课信息管理系统源代码+设计报告(MySQL+Java) 数据库课程设计——学生选课信息管理系统(MySQL+Java) 分为三类用户角色...

    java学生信息管理系统开发完整课程设计(可直接提交)

    请设计与开发一个学生信息管理系统,完成以下工作: 1)需求分析,确定所开发系统要实现的主要功能和处理的数据。 2)系统设计,重点完成数据库的设计 ...要求格式规范,内容正确,结构合理,语句通顺

    Java高级程序设计实战教程第一章-Java编码规范.pptx

    Java高级程序设计 第1章 Java编码规范 1.1 应用场景1.2 相关知识1.3 任务实施1.4 拓展知识1.5 拓展训练1.6课后小结 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第1页。 1.1 应用场景 一个大型的...

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    阿里Java编程规范试题答案.zip

    内包含阿里巴巴Java编程规范考试,常见的试题答案信息,当前最新v1.5版本的《Java开发手册》v1.5.0 华山版.pdf文件

    Java规范.zip

    无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是 保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶?对软件来说,适当的规 范和标准绝不是消灭代码内容的创造...

    Java编写 航班信息查询管理系统

    # OOP(机试) ... - - - ## 程序基本要求 一、项目名称: Air Infomation Programming 基于控制台的航班信息程序,简称AIP ...(1)显示航班信息程序主菜单,如图-1所示,包括: ...4. 要求代码规范,命名正确。 - - -

    学生信息管理系统java课程设计(含源代码)(1).doc

    学生信息管理系统java课程设计(含源代码) JAVA程序设计 课程设计报告 课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 目 录 一、系统描述 2 1、需要实现的功能 3 2、设计...

Global site tag (gtag.js) - Google Analytics