在程序代码中写的注释太多,会使编译后的程序尺寸变大。
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。而要定义一个二位数组,定义的格式如下:
代码语言:javascript复制type[][] typeName = new type[typeLength1][typeLength2];
一般 typeLength1
和 typeLength2
都是要给出的,而且必须是正整数。当然,我们也可以只给出 typeLength1
,而不用给出 typeLength2
。
type[][] typeName = new type[typeLength1][];
参考答案
C
以下程序的执行结果是:
代码语言:javascript复制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(循环开始条件; 判断条件; 循环后条件){
// 循环体
}
首先执行循环开始条件,然后执行是否满足判断条件,满足则执行循环体,然后再执行循环后条件,然后再次判断是否满足判断条件,直到不满足;不满足则直接跳出 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
下面程序的输出结果是什么。
代码语言:javascript复制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
总结
以上所有题目整理自牛客网