Java编程规范试题

合集下载

java 编程 试题

java 编程 试题

java编程试题
当涉及到Java编程试题时,题目的难易程度和范围可以因考察的知识点和目标不同而变化。

以下是一些可能出现在Java编程试题中的知识点:基础知识:
1.数据类型和变量:Java的基本数据类型、变量声明和赋值。

2.流程控制:条件语句(if-else)、循环语句(for、while)等。

3.数组和集合:数组和常见集合框架(List、Map、Set)的使用。

4.面向对象编程:类与对象、继承、多态、封装等概念。

5.异常处理:try-catch-finally、自定义异常等。

进阶知识:
●多线程编程:线程的创建、同步、锁机制等。

●I/O操作:文件读写、输入输出流、序列化等。

●网络编程:Socket、HTTP请求、客户端-服务器通信等。

●设计模式:常见设计模式的理解和应用。

●Lambda表达式和流式API:Java 8引入的新特性。

编程实践:
●编写算法:解决常见问题,如排序算法、查找算法等。

●编写简单的应用:创建基本的控制台应用或简单的图形界面应用。

这些是可能出现在Java编程试题中的知识点,试题的难度和深度可能根据考察的层级不同而有所区别。

考虑到不同层次的考试要求,试题可能涵盖不同的范围和难度。

java考试编程题库及答案

java考试编程题库及答案

java考试编程题库及答案Java考试编程题库及答案1. 基础语法题- 题目:编写一个Java程序,实现两个整数的加法运算,并打印结果。

- 答案:```javapublic class Addition {public static void main(String[] args) {int num1 = 5;int num2 = 10;int sum = num1 + num2;System.out.println("The sum is: " + sum);}}```2. 控制结构题- 题目:编写一个Java程序,判断一个整数是否为素数,并打印结果。

- 答案:```javapublic class PrimeCheck {public static void main(String[] args) {int number = 29;if (isPrime(number)) {System.out.println(number + " is a primenumber.");} else {System.out.println(number + " is not a prime number.");}}public static boolean isPrime(int n) {if (n <= 1) return false;for (int i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) return false;}return true;}}```3. 数组与循环题- 题目:编写一个Java程序,打印数组中所有元素的平方。

- 答案:```javapublic class SquareElements {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};for (int i = 0; i < numbers.length; i++) {int square = numbers[i] * numbers[i];System.out.println("Square of " + numbers[i] + " is " + square);}}}4. 面向对象题- 题目:定义一个名为`Car`的类,包含属性`color`和`speed`,以及一个方法`increaseSpeed(int increment)`来增加速度。

java编程期末考试题及答案

java编程期末考试题及答案

java编程期末考试题及答案Java编程期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个不是Java的基本数据类型?A. intB. floatC. StringD. double答案:C2. Java中的包是用来做什么的?A. 存储Java源文件B. 组织类C. 编译Java程序D. 运行Java程序答案:B3. 以下哪个是Java的控制流程语句?A. importB. if-elseC. packageD. return答案:B4. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. extends答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 在Java中,下列哪个方法用于获取数组的长度?A. length()B. size()C. getLength()D. count()答案:A7. Java中的异常处理是通过哪两个关键字实现的?A. try-catchB. if-elseC. switch-caseD. for-while答案:A8. 下列哪个是Java的多态性的例子?A. 重载B. 重写C. 继承D. 封装答案:B9. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. importsD. includes答案:A10. 下列哪个是Java的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是答案:D二、简答题(每题5分,共20分)1. 请简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它在运行时自动检测不再使用的对象,并释放它们占用的内存。

垃圾回收器定期运行,回收那些没有被任何引用指向的对象。

2. 请解释Java中的继承和多态性。

JAVA试题(卷)与答案解析(50道选择题)

JAVA试题(卷)与答案解析(50道选择题)

选择题1、JAVA所定义的版本中不包括:(D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、JAVA2 HEE、JAVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真";D、boolean a = = false;6、以下( C )不是合法的标识符A、STRINGB、x3x;C、voidD、de$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、count = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.67611、下列值不为true的表达式有( C )。

java基础测试题

java基础测试题

java基础测试题1. 问题描述Java基础测试题共包含10道题目,各题目涵盖Java编程语言的不同方面。

在这些问题中,你将有机会测试并重新巩固你在Java基础知识方面的理解。

2. 题目一请编写一个Java程序,实现以下功能:输入一个整数N,打印出1到N之间的所有奇数。

3. 题目二请编写一个Java程序,实现以下功能:输入一个字符串,判断该字符串是否为回文字符串。

如果是,则打印"是回文字符串",否则打印"不是回文字符串"。

4. 题目三请编写一个Java程序,实现以下功能:声明并初始化一个长度为10的整型数组,然后遍历该数组并将每个元素依次打印出来。

5. 题目四请编写一个Java程序,实现以下功能:声明并初始化一个长度为5的字符串数组,其中包含5个不同的名称。

然后使用循环遍历该数组,并将每个元素打印出来。

6. 题目五请编写一个Java方法,实现以下功能:接收一个整数作为参数,并返回该整数的阶乘结果。

7. 题目六请编写一个Java方法,实现以下功能:接收两个整数作为参数,并返回这两个数之间的所有整数的和。

8. 题目七请编写一个Java方法,实现以下功能:接收一个字符串作为参数,并返回该字符串中元音字母的个数。

9. 题目八请编写一个Java方法,实现以下功能:接收一个字符串作为参数,并将该字符串进行反转。

10. 题目九请编写一个Java方法,实现以下功能:接收一个整数作为参数,并判断该数是否是质数(只能被1和自身整除)。

11. 题目十请编写一个Java方法,实现以下功能:接收两个整数作为参数,并返回它们的最大公约数。

以上就是Java基础测试题的题目要求,请根据题目描述编写相应的代码,并测试验证你的解答是否正确。

祝你好运!。

JAVA编程题全集(100题及答案)

JAVA编程题全集(100题及答案)

Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。

(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。

// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。

");elseSystem.out.println(year+" 年不是闰年。

");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。

(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。

JAVA编程规范试题

JAVA编程规范试题

JAVA编程规范试题一、判断题(每题2分,共28分)1、if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while, switch, case等语句的执行语句无论多少都要加括号{}。

×2、包的注释内容要求包括:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权、生成日期等。

×3、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者、新版本号和当天的日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。

×4、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明;对于所调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws 子句声明会抛出的异常,必须在方法的注释中标明。

×5、类名和接口使用完整的英文单词描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

×6、com.huawei.四级部门名称.项目名称,符合包命名规范。

√7、不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效率比条件分支低,而且异常的跳转流程难以预测。

√8、划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的多样化。

×9、一个方法不应抛出太多类型的异常,如果程序中需要分类处理异常,则将异常根据分类组织成继承关系。

√10、switch 语句中的case 关键字要和后面的常量保持一个空格;如果有特殊的需要要在switch语句中定义case以外的标签,需要在注释中说明。

×11、没有被覆盖的友好方法和没有子类的友好类应该定义成final。

√12、简单的类可以通过名字比较两个对象的类,推荐使用getClass()或者instanceof()。

java试题库及答案

java试题库及答案

java试题库及答案Java是一种广泛使用的高级编程语言,因其简洁、高效和跨平台性而备受程序员们的青睐。

为了帮助学习Java的同学更好地备战考试,我们特别整理了一份Java试题库及答案,希望对大家有所帮助。

一、基础知识题1. Java中基本数据类型有哪些?请简要说明各自的特点。

答:Java中的基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。

其中整型用于存储整数,浮点型用于存储小数,字符型用于存储字符,布尔型用于存储真假值。

2. Java中如何进行输入输出操作?答:在Java中,可以使用Scanner类进行输入操作,System.out.println()进行输出操作。

二、面向对象题1. 请简要说明面向对象编程的三大特性是什么?答:面向对象编程的三大特性是封装、继承和多态。

封装指的是将数据和方法封装到一个类中,通过访问修饰符来控制对外部的访问权限;继承指的是子类可以继承父类的属性和方法;多态指的是同一个方法在不同的对象下有不同的实现。

2. Java中如何实现继承?请编写一个简单的代码示例。

答:在Java中,可以通过extends关键字来实现继承。

示例代码如下:```javaclass Animal {public void eat() {System.out.println("Animal is eating");}}class Dog extends Animal {public void bark() {System.out.println("Dog is barking");}}public class Main {public static void main(String[] args) {Dog myDog = new Dog();myDog.eat();myDog.bark();}```三、异常处理题1. Java中如何处理异常?请简要说明try-catch-finally语句的作用。

JAVA编码规范试题3

JAVA编码规范试题3

一、判断题(每题2分,共28分)1.为了程序更加简洁,我们应该尽量使用下面的方式来赋值:a=b=1;2.每个类都需要定义构建器;3.使用ObjectStream的方法后,调用release(),释放对象;4. 不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效率比条件分支低,而且异常的跳转流程难以预测。

5、没有被覆盖的友好方法和没有子类的友好类应该定义成final。

6、简单的类可以通过名字比较两个对象的类,推荐使用 getClass()或者instanceof()。

7、不要调用 Thread 类的 resume(), suspend(),sleep(), stop() 方法。

8、判断方法是否是重载,只关注方法名、参数个数、参数类型,不关注方法返回值;9、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者、新版本号和当天的日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。

10、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明;对于所调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。

11.相对独立的程序块之间、变量说明之后必须加行空行;12.任何时候都不要使接口可以序列化;13.减小单个方法的复杂度,使用的if,while,for,swith语句要在10个以内;()方法的定义是public static void main(String args[]);二、单选题(每题2分,共36分)1下列错误使用异常的做法是()A. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常。

B. 一个方法不应抛出太多类型的异常。

java编码规范考试题答案

java编码规范考试题答案

java编码规范考试题答案一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用(“…”)设置线程名B. 在或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接 catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

属性名不能与方法名相同B. 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法C. 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构D. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static 修饰[y1]7. 下列哪个场景可以使用类产生的随机数CA. 挑战算法中的随机数生成B. 验证码的随机数生成C. 随机选取路由D. Web应用会话标识符8. 一段使用ZipInputStream对压缩文件进行解压的代码,在[1]处填入适合的关键字是Apublic RandomAccessFile openFile( f) {[1] copy = new ());askUserPermission());.return (RandomAccessFile)(new PrivilegedAction () {public Object run() {return new RandomAccessFile(copy, ());}});}A. finalB. staticC. volatileD. private9. 安全编程规范中,下面说法错误的是DA. 对外部输入进行校验B. 禁止不受信任的代码直接终止JVMC. 创建文件时指定合理的访问权限D. 记录日志时可以抛异常10. 若程序中需要获取操作系统登录用户名,应采取下列哪种方法来获取CA. 提示用户输入B. 由环境变量获取:("USER")C. 由JVM属性获取:("")D. 启动程序的时候由程序参数传入11. 以下说法正确的是AA. 尽量使用Java 新循环写法B. 判断一个变量是否等于null、或者一个常量,应把变量放在操作符的左边C. 方法参数不能超过7个D. 用“==”比较两个字符串内容相等12. 在下列哪个场景中,不需要加密和数字签名机制保证数据安全DA. 序列化传输敏感数据B. 无SSL传输通道或者代价太高C. 敏感数据需要持久化长久保存D. 同一信任域内组件间传递13. 下列JDK中的API调用中若使用不当易遭致OS命令注入的是BA. ()B. ()C. ()D. ()14. 如下描述不正确的是DA. 除了构建器外,不要使用和类名相同的方法名B. 使用 equals() 比较两个类的值是否相同C. 不要使用嵌套赋值,即在一个表达式中使用多个 =D. 重载 equals() 方法时,不必要重载 hashCode() 方法15. 下列不符合编码规范的是CA. 数据库、IO操作等需要使用结束close()的对象必须在try-catch-finally 的finally中close()B. 数组声明的时候使用 int[] index ,而不要使用 int index[]C. 所有的类必须重载toString()方法,返回该类有意义的内容D. 自己抛出的异常必须要填写详细的描述信息16. 对于下面的代码片段,假设PasswordManager的实例可以被非信任代码所访问,且changePassword()方法调用属于敏感操作,则下列说法中不正确是的Cpublic class PasswordManager{public final Object lock = new Object();public void changePassword() throws FileNotFoundException{synchronized (lock){. .}}}A. changePassword()方法中应该包含安全管理器检查,以确认调用代码是否具有该操作权限B. 应该将lock成员变量的可见性声明为privateC. 可以省去changePassword()方法中的同步块,直接将changePassword()方法声明为synchronized 修饰的同步方法D. changePassword()方法不应该抛出FileNotFoundException 异常17. 推荐的防御SQL注入的最佳方式是CA. 限制外部输入的长度B. 使用存储过程C. 使用预编译语句--D. 对外部输入进行转义18. JAAS授权类中,不包含以下哪一类DA. PolicyB. AuthPermissionC. PrivateCredentialPermissionD. LoginContext19.下面说法或者语句不符合公司编程规范的排版要求的是DA. 逗号、分号只在后面加空格; 比较操作符, 赋值操作符"="、"+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格; "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格B. 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已是最清晰的标志了C. 较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读D. if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号{}20. 对于注释的描述错误的是CA. 公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等B. 对重载父类的方法必须进行@Override声明C. 对关键变量的定义必须编写注释,分支语句(条件分支、循环语句等),可以根据实际情况,可以增加注释,也可以不加,根据注释量确定D. 对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。

java考试题及答案

java考试题及答案

java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。

A. newB. classC. thisD. super答案:A2. 下列哪个选项是Java的非访问修饰符?()。

A. publicB. privateC. protectedD. static答案:D3. 在Java中,如果一个类没有显式地指定继承关系,则它默认继承()类。

A. ObjectB. SystemC. StringD. null答案:A4. 下列关于Java异常处理的描述,正确的是()。

A. try块中必须跟catch块B. catch块中可以再次抛出异常C. finally块可以在任何时候执行D. throw关键字用于定义异常答案:B5. 在Java中,哪个接口表示允许对象成为“foreach”语句的目标?()。

A. IterableB. CollectionC. ExecutorD. Observable答案:A二、填空题1. 在Java中,使用________关键字可以定义一个包。

答案:package2. 如果需要导入Java标准库中的所有类,可以使用________关键字。

答案:import3. 在Java中,所有的类都是从________类直接或间接派生出来的。

答案:Object4. 为了捕获多种类型的异常,可以使用________关键字。

答案:|(在中文环境下表示为“或”)5. 为了在Java中创建一个线程,需要让类实现________接口或继承________类。

答案:Runnable, Thread三、判断题1. Java中的每条语句都以分号结束。

()答案:正确2. 在Java中,所有的数组都是从Object类继承的。

()答案:正确3. 一个Java类可以有多个public构造方法。

()答案:正确4. 所有的Java异常都是ng.Throwable类的子类。

()答案:正确5. 接口中的方法默认是public和abstract的。

java考试题及答案

java考试题及答案

java考试题及答案一、选择题(每题2分,共20分)1. Java语言的标识符可以包含以下哪些字符?A. 数字B. 下划线C. 美元符号D. 空格答案:B2. 下列哪个选项是Java中的关键字?A. classB. mainC. publicD. all of the above答案:D3. Java中,哪个修饰符表示成员变量或方法是私有的?A. publicB. privateC. protectedD. static答案:B4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,下列哪个数据类型是基本数据类型?A. StringB. intC. ArrayListD. HashMap答案:B6. 下列哪个选项不是Java集合框架的一部分?A. ListB. MapC. SetD. String答案:D7. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B8. 在Java中,下列哪个选项不是线程安全的?A. VectorB. ArrayListC. LinkedListD. HashMap答案:B9. Java中,下列哪个选项是正确的继承关系?A. Object is a subclass of StringB. String is a subclass of ObjectC. Object is a superclass of StringD. String is a superclass of Object答案:B10. 下列哪个选项不是Java中的访问修饰符?A. publicB. privateC. protectedD. global答案:D二、填空题(每题2分,共20分)1. Java中,用于定义类的关键字是______。

答案:class2. Java中,用于定义接口的关键字是______。

java期末考试题编程题及答案

java期末考试题编程题及答案

java期末考试题编程题及答案Java期末考试题编程题及答案一、选择题1. 在Java中,以下哪个关键字用于声明一个类?A. varB. finalC. classD. interface答案:C2. 下列哪个是Java中的合法标识符?A. 2variableB. variable2C. #variableD. variable@答案:B3. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. overrideD. abstract答案:A二、简答题1. 简述Java的垃圾回收机制。

答案:垃圾回收是Java自动内存管理的一部分,它负责回收不再被使用的对象所占用的内存。

Java虚拟机(JVM)中的垃圾回收器会定期检查堆内存中的对象,找出那些不再被任何引用指向的对象,并将它们标记为可回收。

随后,垃圾回收器会在适当的时候释放这些内存,以供新对象使用。

2. 解释Java中的多态性。

答案:多态性是Java的一个核心概念,它允许同一个接口接受不同的数据类型。

在Java中,多态性主要通过继承和接口实现。

一个方法可以被多个子类重写,当通过父类的引用调用这个方法时,实际执行的是子类中重写的方法。

这种特性使得代码更加灵活和可扩展。

三、编程题题目:实现一个简单的计算器类,该类能够执行基本的数学运算,如加、减、乘、除。

答案:```javapublic class Calculator {public double add(double a, double b) {return a + b;}public double subtract(double a, double b) {return a - b;}public double multiply(double a, double b) {return a * b;}public double divide(double a, double b) {if (b != 0) {return a / b;} else {throw new IllegalArgumentException("Division by zero is not allowed.");}}public static void main(String[] args) {Calculator calc = new Calculator();System.out.println("10 + 5 = " + calc.add(10, 5)); System.out.println("10 - 5 = " + calc.subtract(10, 5));System.out.println("10 * 5 = " + calc.multiply(10, 5));try {System.out.println("10 / 5 = " + calc.divide(10, 5));System.out.println("10 / 0 = " + calc.divide(10, 0));} catch (IllegalArgumentException e) {System.out.println(e.getMessage());}}}```四、编程题题目:创建一个Java程序,该程序能够读取用户输入的字符串,并输出该字符串反转后的结果。

java编程练习题及答案

java编程练习题及答案

java编程练习题及答案Java编程练习题及答案一、选择题1. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 下列哪个是Java中的合法标识符?A. 2variableB. forC. variable2D. class答案:C3. 在Java中,哪个方法用于获取当前对象的引用?A. this()B. super()C. clone()D. new()答案:A4. 以下哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A5. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum答案:B二、简答题1. 请简述Java中的继承是如何工作的?答案:Java中的继承允许一个类(子类)继承另一个类(父类)的属性和方法。

子类可以扩展或修改父类的行为,实现代码复用。

继承是面向对象编程的核心概念之一。

2. 请解释Java中接口和抽象类的区别?答案:接口定义了一组方法规范,但不提供实现。

任何实现接口的类都必须提供接口中所有方法的具体实现。

抽象类可以包含抽象方法和具体方法,并且可以有成员变量。

抽象类可以作为其他类的基类,但不能被实例化。

三、编程题1. 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除运算。

```javaimport java.util.Scanner;public class SimpleCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字: ");double num1 = scanner.nextDouble();System.out.print("请选择运算符(+, -, *, /): "); char operator = scanner.next().charAt(0);System.out.print("请输入第二个数字: ");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0"); }break;default:System.out.println("无效的运算符");}if (result != 0) {System.out.println("结果是: " + result);}scanner.close();}}```2. 编写一个Java程序,实现一个简单的学生管理系统,可以添加学生信息、显示所有学生信息。

java编程习题及答案

java编程习题及答案

java编程习题及答案Java编程习题及答案Java作为一种广泛使用的编程语言,对于初学者来说,掌握基本的编程习题是非常重要的。

通过编程习题的练习,可以帮助我们巩固所学的知识,提高编程能力。

本文将介绍一些Java编程习题及其答案,希望对初学者有所帮助。

一、基础习题1. 编写一个程序,输出1到100之间的所有偶数。

```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个程序,计算1到100之间所有整数的和。

```javapublic class SumOfNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("Sum: " + sum);}}```3. 编写一个程序,判断一个数是否为素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int num = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + " is a prime number.");} else {System.out.println(num + " is not a prime number.");}}}```二、进阶习题1. 编写一个程序,找出一个字符串中出现次数最多的字符及其出现次数。

Java基础编程题(含答案)

Java基础编程题(含答案)

50道JAVA基础编程练习题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

【程序4】题目:将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如6=1+2+3.编程找出1000以内的【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

Apsara Clouder基础技能认证:阿里巴巴Java编码规范-试题及答案

Apsara Clouder基础技能认证:阿里巴巴Java编码规范-试题及答案

一、编程规约(一)命名风格多选关于Java的接口描述,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA.在接口类中的方法和属性使用public修饰符B.对于Service类,内部的实现类加Impl的后缀与接口区别。

例如:ProductServiceImpl实现ProductService接口。

C.对于Service类,基于SOA的理念,是以接口方式暴露服务。

D.尽量不在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,而且是整个应用的基础常量。

多选关于变量、方法名、包的命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A.POJO类中的任何布尔类型的变量,都不要加is,因为部分框架解析时有可能会出现序列化错误。

B.包名统一使用单数形式,如:com.alibaba.mpp.util。

C.中括号是数组类型的一部分,数组定义如下:String[]args;不要误写为String args[];D.Service/DAO层方法命名可以参考规约,例如:删除的方法推荐使用remove或delete做前缀。

多选关于类命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCDA.抽象类命名使用Abstract或Base开头。

B.异常类命名使用Exception结尾。

C.测试类命名以它要测试的类的名称开始,以Test结尾。

D.如果使用到了设计模式,建议在类名中体现具体模式。

多选以下关于命名规约内容说明,正确的是:BCDEA.强制包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,并且使用复数形式,例如:应用工具类包名为com.alibaba.mpp.utilsB.强制类名使用UpperCamelCase,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO/DTO/VO/DAO等。

C.强制抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。

Java编程规范试题

Java编程规范试题

JAVA编程规范--试题姓名:工号:部门:成绩:一. 判断题(共15题,每题2分,直接在括号内打“√”或“×”)1、任何时候都不要使接口可以序列化。

x2、相对独立的程序块之间、变量说明之后必须加空行。

√3、当程序需要释放对象的时候,应该手工调用finalize方法以释放对象。

x4、公司的规范要求注释率是20%以上,并且必须有助于对程序的阅读理解。

x5、为了程序更加简洁,我们应该尽量使用下面的方式来赋值:a = b = 1 。

x6、每个类都需要定义构建器。

x7、类名、方法名、属性名的命名,都应该使用意义完整的英文描述。

√8、main() 方法的定义是public static void main(String args[])。

x9、常量名应该使用全大写,英文单词之间用下划线或者-分隔开。

并且,常量应该使用final static修饰。

x10、公有方法参数名可以和属性名相同,但局部变量不能和属性名相同。

√11、一两行代码就能完成的功能没有必要编写方法实现。

x12、对于模块间接口方法的参数的合法性检查,调用者和被调用者都应该对参数进行合法性检查。

x13、运行期异常使用RuntimeException的子类来表示,必须在方法声明上加throws子句。

x非运行期异常是从Exception继承而来的,不用在可能抛出异常的方法声明上加throws子句。

x14、使用ObjectStream 的方法后,调用release() ,释放对象。

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)float count = 0f;float num = 0f;....;//program codeif (count == num){....;}(D)以上语句都符合规范( b )3、对命名规范描述错误的是:(A)、包名单词的首字母应该大写。

Java编程基础测试题分享

Java编程基础测试题分享

Java编程基础测试题分享单选题:(每道题⽬2分)1. 下列哪个声明是错误的?(B)A. int i=10;B. float f=1.1; //float f=1.1fC. double d=34.4;D. byte b=127;long类型的数据加后缀L或者lfloat类型的数据加后缀F或者f整数默认是int类型浮点数默认是double类型2. 下⾯哪个不是java中的关键字?(C)A. publicB. trueC. mainD. class3. 下⾯程序哪个语句是正确的(C)A. byte a=0,b=3; byte c =a+b;//a+b的类型为intB. short s =23; s=s+12;//s+12底层是转成int进⾏相加,所以结果为int。

C. short s=23; s+=12; //相当于s=(short)(s+12)D. float f = 23+23.23; //23+23.23的结果为double4. 下⾯程序执⾏的结果是?(B)class Test{public static void main(String[] args){System.out.println(“”+‘a'+1);}}A. 98B. a1C. 971D. 197//空串放前相当于字符串的拼接,空串放后,‘a'+1,先做运算,再与空串进⾏拼接,byte,short,char可以⾃动转为int, 5. 下⾯程序执⾏的结果是?(B)int i =100;while(true){if (i++ > 100) //i先计算在⾃加{break;}System.out.println(i);}A. 100B. 101C. 102D. 报错6. 下⾯程序的运⾏结果是 ( D )int a=3,b=1;if(a==b){System.out.println("a="+a);}A. a=1B. a=3C. 编译错误D. 正常运⾏但没有输出7. 下⾯程序的运⾏后,结果正确的是:(B)inta=1,b=2;intc=(a+b>3?a++:++b); //a=1,b=3,c=3A. a=2,b=3B. a=1,b=3C. a=1,b=2D. c=28. 下⾯程序的运⾏结果(B)classDemo{public static int fun(int c){return c+=2;}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}}A. 2B. 4C. 6D. 89. 下⾯数组定义错误的是(C)A. int [] arr ={23,45,65,78,89}; //静态初始化B. int [] arr=new int[10] ; //动态初始化C. int [] arr=new int[4]{3,4,5,6};D. int [] arr={‘a', 23 , 45 , 6};//‘a'可以⾃动转为int,10. 下⾯程序执⾏的结果是?(D )int x=1,y=1;if(x++==2& ++y==2)//x=2,y=2,&与&&的结果相同但是&不具有短路效果{x=7;}System.out.println("x="+x+" , y="+y);A. x=1 y=2B. x=7 y=1C. x=7 y=2D. x=2 y=211. 下⾯不属于基本数据类型的是(D)A. intB. doubleC. longD. int[] //引⽤类型12. 下⾯程序执⾏的结果是?( C)booleanb=true;if(b=false) //将false赋值给b,则b=false {System.out.println("a");} elseif(b){System.out.println("b");} elseif(!b){System.out.println("c");} else{System.out.println("d");}A. aB. bC. cD. d13. 下⾯程序执⾏的结果是?(D)intx=2,y=3;switch(x){default:y++;//y=4,但是没有break,程序继续向下执⾏case 3:y++;case 4:y++;}Sysetem.out.println("y="+y);A. 3B. 4C. 5D. 614. 下⾯程序执⾏的结果for(int i=1;i<=10;i++){if (i%3==0){continue; //continue跳出本次循环}System.out.println(“java基础班”);}在屏幕上打印⼏次“java基础班”?( C )A. 5B. 6C. 7D. 815.阅读下⾯代码段:classDemo{ public static void main (String[] args) {int[] arr = new int[10]; System.out.println(arr[1]); }}执⾏结果正确的说法是( C )A. 编译时将产⽣错误B. 编译时正确,运⾏时将产⽣错误C. 输出零D. 输出空16 .和下⾯代码能完成相同的选项是(B)int i=1;intsum=0;while(i<=100){if(i%2==0){sum=sum+i;}i++;}A. for (int x=1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;} //偶数求和C. for (int x =1; x<=100;x+=2){ sum=sum+x;} //奇数求和D.上述全对17. 以下代码输出是( D )int i=0;int sum=0;while(i<=10){i++;if( i%2!=0 )continue;sum+=i;}System.out.println(sum); //sum=2+4+6+8+10A. 55B. 45C. 35D. 3018. 给出下列代码⽚段:if ( x> 0 ) { System.out.println(“Hello”); }else if (x >-3 ) { System.out.pirntln ( “I am Tom”); }else {System.out.println (“How are you?”); }请问将打印字符串 “How are you ?”的x的范围是( C)A. x>0B. x > -3C. x <= -3D. x <=0 & x >-319.下列代码执⾏的结果为( A )classDemo{public static void main(String[] args){int num =max(43,34);//num=43System.out.println(num);}public static int max(int a,int b){returna>b?a:b;}}A. 43B. 23C. 77D. 920 .下⾯程序执⾏的结果是( A )classDemo{public static void main(String [] args){int a=10;if(a++>10){a=20;}System.out.println(a);}}A. 11B. 12C. 20D. 21多选题:(每道题⽬3分)21. 下⾯哪些是合法的标志符( B.C.D)A. 2variableB. variable2C. what$D. _3_//不能以数字开头,不能是java中的关键字,字母区分⼤⼩写22. 下列⽅法中能和⽅法int max(int a, int b, double c)构成重载关系的是( B,C )A. double max(int a, int b, double c)B. void max(int a, double c, int b)C. int max(double a, int b)D. int max(int x, int y, double z)//同⼀个类中,⽅法名相同,参数类型或参数个数不同,与返回值类型⽆关23. 下⾯的说法正确的是( A,C, )A. byte ,short,char 数据类型可以⾃动转化为intB. float 数据类型可以⾃动转换为long。

java编程技术基础测试题

java编程技术基础测试题

java编程技术基础测试题Java是一种流行的面向对象编程语言,被广泛应用于Web开发、移动应用开发、游戏开发等领域。

为了掌握Java编程技术,需要掌握一定的基础知识。

以下是Java编程技术基础测试题及相关参考内容。

1. 请解释什么是Java虚拟机(JVM)。

参考答案:Java虚拟机(JVM)是Java程序的运行环境,它是一个虚拟的计算机,它能够解释Java字节码,并将其转换为底层操作系统可以识别的命令。

Java应用程序可以在不同的操作系统和硬件平台上运行,而不需要针对每个操作系统和硬件平台重新编译程序。

2. 请简述Java语言的特点。

参考答案:Java是一种面向对象编程语言,具有以下特点:(1)跨平台性:Java的跨平台性使得Java程序可以在不同的操作系统和硬件平台上运行。

(2)简单性:Java语言的语法相对简单,易于学习和使用。

(3)面向对象性:Java是一种纯粹的面向对象编程语言,具有封装、继承、多态等特性。

(4)安全性:Java具有很高的安全性,可以防止Java程序对主机造成破坏。

(5)可靠性:Java的内存管理由JVM进行管理,可以有效避免内存泄露等问题。

3. 什么是Java的异常(Exception)?参考答案:Java的异常是指在程序运行过程中可能发生的错误或异常情况,如数组越界、除零错误、空指针等。

当程序出现异常时,Java会抛出异常,程序可以通过catch块来捕获并处理异常,从而避免程序终止。

4. 请简述Java的类和对象的关系。

参考答案:Java是一种面向对象编程语言,类是Java中的重要概念,它是定义对象的蓝图或模板。

一个类可以包含多个变量和方法,通过访问类中的变量和方法,可以创建对象并对其进行操作。

对象是类的一个实例,每次创建对象时,都会分配一块内存来存储对象的属性和方法。

5. 请简述Java的多线程编程。

参考答案:Java的多线程编程是指创建并发执行的多个线程,每个线程可以独立运行和执行不同的任务。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名: ____________ 工号:_______________ 部门:____________ 成绩:一. 判断题(共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 [ */ 。

相关文档
最新文档