在程序代码中写的注释太多,会使编译后的程序尺寸变大。

A、正确
B、错误

解析

我们使用 javac 来编译代码,使用 javadoc 来识别注释,两者之间是互不影响的。

参考答案

B

以下二维数组声明合法的是( )

A、char[2][3] ch = new char[][]
B、char[2][] ch = new char[][3]
C、char[][] ch = new char[2][3]
D、char[][] ch = new [2]char[3]

解析

Java 中,当我们定义一个数组时,赋值符号左侧是不能出现数字的,所以排除 A、B。而要定义一个二位数组,定义的格式如下:

  1. type[][] typeName = new type[typeLength1][typeLength2];

一般 typeLength1typeLength2 都是要给出的,而且必须是正整数。当然,我们也可以只给出 typeLength1,而不用给出 typeLength2

  1. type[][] typeName = new type[typeLength1][];

参考答案

C

以下程序的执行结果是:

  1. static boolean foo(char c)
  2. {
  3. System.out.print(c);
  4. return true;
  5. }
  6. public static void main(String[] args) {
  7. int i =0;
  8. for(foo('A');foo('B')&&(i<2);foo('C'))
  9. {
  10. i++;
  11. foo('D');
  12. }
  13. }

A、ABDCBDCB
B、ABCDABCD
C、编译时出错
D、运行时抛出异常

解析

主要还是考察 for 循环的三条语句的执行顺序。

  1. for(循环开始条件; 判断条件; 循环后条件){
  2. // 循环体
  3. }

首先执行循环开始条件,然后执行是否满足判断条件,满足则执行循环体,然后再执行循环后条件,然后再次判断是否满足判断条件,直到不满足;不满足则直接跳出 for 循环。

参考答案

A

Java 如何返回 request 范围内存在的对象?

A、request.getRequestURL()
B、request.getAttribute()
C、request.getParameter()
D、request.getWriter()

解析

request.getAttribute() 方法返回 request 范围内存在的对象;

request.getParameter() 方法是获取 http 提交过来的数据;

getAttribute 是返回对象;

getParameter 返回字符串。

参考答案

B

子类要调用继承自父类的方法,必须使用 super 关键字。

A、正确

B、错误

解析

对于子类的构造函数,要调用父类构造函数时,需要使用 super

子类重写父类方法后,如果要调用父类中被重写的方法,此时也需要使用 super

而子类要调用父类中未被重写的方法时,直接使用 super 关键字调用即可。

参考答案

B

下面程序的输出结果是什么。

  1. public class A2{
  2. public static void main(String[] args){
  3. int[] a={2,4,6,8,3,6,9,12};
  4. doSomething(a,0,a.length-1);
  5. for(int i=0;i<=a.length-1;i++)
  6. System.out.print(a[i]+" ");
  7. }
  8. private static void doSomething(int[] a,int start,int end){
  9. if(start<end){
  10. int p=core(a,start,end);
  11. doSomething(a,start,p-1);
  12. doSomething(a,p+1,end);
  13. }
  14. }
  15. private static int core(int[] a,int start,int end)
  16. {
  17. int x=a[end];
  18. int i=start;
  19. for(int j=start;j<=end-1;j++){
  20. if(a[j]>=x){
  21. swap(a,i,j);
  22. i++;//交换了几次
  23. }
  24. }//把最大的放到最后
  25. swap(a,i,end);//把最大的放到i的位置
  26. return i;
  27. }
  28. private static void swap(int[] a,int i,int j)
  29. {
  30. int tmp=a[i];
  31. a[i]=a[j];
  32. a[j]=tmp;
  33. }
  34. }

A、找到最大值
B、找到最小值
C、从大到小的排序
D、从小到大的排序

解析

思想类似于快速排序,总是以最后一个数作为分界岭,比它大的放前面,比它小的放后面,然后递归分界岭左右两个区间。

参考答案

C

下面哪个不属于 HttpServletResponse 接口完成的功能?

A、设置 HTTP 头标
B、设置 cookie
C、读取路径信息
D、输出返回数据

解析

设置 HTTP 头标:setHeader()

设置 cookieaddCookie()

读取路径信息是 request 的功能。

输出返回数据 getOutputStream().write()

参考答案

C

ServletConfig 接口默认是哪里实现的?

A、Servlet
B、GenericServlet
C、HttpServlet
D、用户自定义 servlet

解析

Java 专项练习【21- 30】(每日精进系列) - 图1

参考答案

B

以下表达式中,正确的是()

A、byte i = 128
B、boolean i = null
C、long i = 0xfffL
D、double i = 0.9239d

解析

对于 A,byte 其范围是 -128 ~ 127,所以 A 越界。

对于 B,boolean 的值只有 truefalse

对于 C,使用十六进制表示,未越界,所以是可以的。

对于 D,为了区分 floatdouble 的区别,我们一般推荐在 double 类型的数值之后加上 d 字母。

参考答案

C、D

下面关于面向对象的一些理解哪些是错误的( )

A、面向对象的最重要的特性是支持继承、封装和多态

B、系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展

C、函数式的语言必然是面向对象的语言

D、面向对象设计时,每个类的职责应该单一,不要再一个类中引入过多的接口

E、过程式语言和面向对象的语言各有其优势,过程式语言更加灵活,面向对象语言更加强调抽象和封装

F、Java 和 C++ 都是静态类型的面向对象编程语言

解析

面向对象的三大特性:继承、封装、多态

动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。

静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型。

C/C++ 是静态类型语言的典型代表,其他的静态类型语言还有 C#、JAVA 等。

参考答案

C

总结

以上所有题目整理自牛客网,如果对你有所帮助,那就一键三连吧!感谢 ~ Java 专项练习【21- 30】(每日精进系列) - 图2Java 专项练习【21- 30】(每日精进系列) - 图3Java 专项练习【21- 30】(每日精进系列) - 图4