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

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获取操作系统信息

    获取Java规范信息 #### 4.1 `java.specification.version` 返回Java平台规范的版本号,如`1.8`。 #### 4.2 `java.specification.vendor` 返回Java平台规范的供应商名称。 #### 4.3 `java.specification.name` ...

    腾讯java编码规范

    腾讯 Java 编码规范 腾讯 Java 编码规范是腾讯集团管理标准的一部分,旨在确保公司项目代码的易维护性和编码安全性。该规范涵盖了 Java 编码风格、文件组织、代码风格、注释、命名、声明、异常、习惯等方面。 一、...

    java代码规范示例

    "java代码规范示例" Java 代码规范示例中,涵盖了 Java 项目中包、类、方法、注释等多个方面的规范。 首先,从文件头的注释部分可以看到,这个 Java 文件是一个 FTP 帮助类,负责实现 FTP 的上传和下载功能。这个...

    java后端开发规范word文档

    Java规范建议类名使用驼峰式命名,包名全小写,常量全大写,变量和方法首字母小写,遵循一定的命名约定,如`isXXX`表示布尔型的getter方法。 3. **异常处理**:异常处理是系统健壮性的关键。规范可能要求避免使用空...

    Java虚拟机规范中文版(JavaSE7).pdf

    Java虚拟机规范(Java SE 7版)是定义JVM行为的官方文档,确保所有Java平台的实现遵循相同的规则,以提供跨平台的兼容性和一致性。这份规范涵盖了虚拟机的结构、字节码编译、字节码文件格式、类加载机制以及虚拟机...

    华为JAVA编码规范.pdf

    华为JAVA编码规范.pdf 华为JAVA编码规范.pdf是华为公司编写的JAVA编程语言编码规范,旨在提供一个统一的编程风格和代码组织方式,以提高代码的可读性、维护性和可重用性。该规范涵盖了编程语言的基本结构、命名规则...

    JAVA编码规范试题

    12. 异常记录: JAVA 编程规范建议记录异常不要保存 exception.toString(),而要记录 exception.getMessage(),一般可通过日志工具记录完整的异常堆栈信息。 13. 接口中的常量: JAVA 编程规范建议 interface 中...

    JAVA接口规范.doc

    JAVA接口规范文档主要介绍了在Java开发中如何设计和实现接口,特别是针对APP接口开发的一系列规范,以确保接口的高效、稳定和易于维护。以下是基于文档内容的详细说明: 一、概述 1.1 有关接口 接口在软件工程中...

    Java虚拟机规范中文版.pdf

    JVM规范定义了JVM的结构、执行模型、内存模型以及与平台无关的规范,使得任何遵守这个规范的虚拟机都能运行Java程序。 在JVM中,最核心的概念之一是堆(Heap),它是运行时数据区的一部分,用来存储对象的实例。...

    Java语言规范和JVM规范官网文档

    Java语言规范和JVM规范是理解Java编程基础和高级特性的关键参考资料,它们定义了Java程序的语法、语义以及虚拟机的行为。本压缩包包含了Java6至Java9的版本,涵盖了一系列重要的语言和虚拟机改进,对于Java开发者来...

    Google Java 编程规范(中文版).pdf

    ### Google Java 编程规范(中文版)知识点详解 #### 1. 源文件基础 **1.1 文件名** - **规范说明**: 源文件应当以其包含的最顶层类名命名,并且文件扩展名为`.java`。例如,如果最顶层的类名为`MyClass`,那么...

    阿里巴巴Java编程规范_阿里巴巴Java编程规范_

    《阿里巴巴Java编程规范》是阿里巴巴官方团队为了提升Java开发者代码质量与一致性,降低维护成本而制定的一套详尽的编程指南。这份规范不仅对新手有很好的引导作用,也为经验丰富的开发者提供了良好的编码习惯建议,...

    java部署规范V3.0

    Java 环境部署规范文档概括了 Java 环境的部署和管理要求,涵盖了服务信息、虚拟机设置、发布管理等方面的内容。该文档旨在为 Java 新项目及涉及项目技术管理涉及人员提供详细的指导和指南,以确保项目的部署和管理...

    JAVA代码规范 JAVA规范 代码规范

    Java代码规范是编程实践中至关重要的一个方面,它旨在确保代码的质量、可读性和维护性。以下是一些核心的Java代码规范要点: 1. **命名规范**: - 类名使用大驼峰命名法,所有单词首字母大写,例如`ClassName`。 ...

    java 7 规范

    Java 7规范是Java编程语言的官方技术文档,详细描述了Java语言的语法、语义以及Java虚拟机的要求。规范涉及Java语言的各个组成部分,包括关键字、操作符、类、接口、异常处理机制和安全性等方面,确保Java程序的正确...

    Java虚拟机规范(英文)

    《Java虚拟机规范》是Java技术核心文档之一,它详细定义了Java虚拟机(JVM)的内部工作原理和执行模型。在给出的文件信息中,包含了这部规范的标题、描述和部分内容摘要。下面将详细解释其中的知识点。 标题《Java...

    Java命名规范 Java命名规范

    Java命名规范是编程实践中至关重要的指导原则,旨在提高代码的可读性和一致性。遵循这些规范,可以帮助团队成员更好地理解和维护代码,减少误解和错误。以下是Java命名规范的主要方面: 1. **包(Package)**: 包名...

Global site tag (gtag.js) - Google Analytics