在程序代码中写的注释太多,会使编译后的程序尺寸变大。
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。而要定义一个二位数组,定义的格式如下:
type[][] typeName = new type[typeLength1][typeLength2];
1
一般 typeLength1 和 typeLength2 都是要给出的,而且必须是正整数。当然,我们也可以只给出 typeLength1,而不用给出 typeLength2。
type[][] typeName = new type[typeLength1][];
1
参考答案
C
以下程序的执行结果是:
static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] args) { int i =0; for(foo('A');foo('B')&&(i<2);foo('C')) { i++; foo('D'); } }
A、ABDCBDCB
B、ABCDABCD
C、编译时出错
D、运行时抛出异常
解析
主要还是考察 for 循环的三条语句的执行顺序。
for(循环开始条件; 判断条件; 循环后条件){
// 循环体
}
1
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
下面程序的输出结果是什么。
public class A2{ public static void main(String[] args){ int[] a={2,4,6,8,3,6,9,12}; doSomething(a,0,a.length-1); for(int i=0;i<=a.length-1;i++) System.out.print(a[i]+" "); } private static void doSomething(int[] a,int start,int end){ if(start<end){ int p=core(a,start,end); doSomething(a,start,p-1); doSomething(a,p+1,end); } } private static int core(int[] a,int start,int end) { int x=a[end]; int i=start; for(int j=start;j<=end-1;j++){ if(a[j]>=x){ swap(a,i,j); i++;//交换了几次 } }//把最大的放到最后 swap(a,i,end);//把最大的放到i的位置 return i; } private static void swap(int[] a,int i,int j) { int tmp=a[i]; a[i]=a[j]; a[j]=tmp; } }
A、找到最大值
B、找到最小值
C、从大到小的排序
D、从小到大的排序
解析
思想类似于快速排序,总是以最后一个数作为分界岭,比它大的放前面,比它小的放后面,然后递归分界岭左右两个区间。
参考答案
C
下面哪个不属于 HttpServletResponse 接口完成的功能?
A、设置 HTTP 头标
B、设置 cookie
C、读取路径信息
D、输出返回数据
解析
设置 HTTP 头标:setHeader();
设置 cookie :addCookie();
读取路径信息是 request 的功能。
输出返回数据 getOutputStream().write();
参考答案
C
ServletConfig 接口默认是哪里实现的?
A、Servlet
B、GenericServlet
C、HttpServlet
D、用户自定义 servlet
解析
参考答案
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 的值只有 true 和 false。
对于 C,使用十六进制表示,未越界,所以是可以的。
对于 D,为了区分 float 和 double 的区别,我们一般推荐在 double 类型的数值之后加上 d 字母。
参考答案
C、D
下面关于面向对象的一些理解哪些是错误的( )
A、面向对象的最重要的特性是支持继承、封装和多态
B、系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展
C、函数式的语言必然是面向对象的语言
D、面向对象设计时,每个类的职责应该单一,不要再一个类中引入过多的接口
E、过程式语言和面向对象的语言各有其优势,过程式语言更加灵活,面向对象语言更加强调抽象和封装
F、Java 和 C++ 都是静态类型的面向对象编程语言
解析
面向对象的三大特性:继承、封装、多态。
动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型。
C/C++ 是静态类型语言的典型代表,其他的静态类型语言还有 C#、JAVA 等。
参考答案
C
总结
以上所有题目整理自牛客网,如果对你有所帮助,那就一键三连吧!感谢 ~ ❤️❤️❤️