说明:以下面试题中,选项背景为这个颜色的,则代表为正确答案,后续会继续总结其它面试题系列,持续做题关注。
01
下面程序运行的结果为?
import java.io.*;
import java.util.*;
public class foo{
public static void main(){
String s;
System.out.println("s="+s);
}
}
A. | 代码得到编译,并输出“s=” | |||
---|---|---|---|---|
B. | 代码得到编译,并输出“s=null” | |||
C. | 由于String s 没有初始化,代码不能编译通过 | |||
D. | 代码得到编译,但捕获到NullpointException异常 |
解析
考点:String类型的使用
Java中String不是基本类型,String 类型默认初始为 Null,即为空未分配对象;如果使用String类型定义的变量并且有返回值,则必须进行初始化;
02
是否可以继承String类?
A. | 是 | |||
---|---|---|---|---|
B. | 否 |
解析
考点:是否看过String源码、final修饰的用法
String在Java中是这样定义的:
public final class String extends Object.....
被final修改的类,不能被其它类再次继承;
03
如下代码,输出是什么?
class Super{
public Integer getLength(){
return new Integer(4);
}
public class Sub extends Super{
public Long getLength(){
return new Long(5);
}
public static void main(String[] args){
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(spper.getLenght().toString()+""+sub.getLenght());
}
}
}
A. | 4 4 | |||
---|---|---|---|---|
B. | 4 5 | |||
C. | 5 4 | |||
D. | 5 5 | |||
E. | 编译失败 |
解析
考点:重载、重写
重写:方法名,参数,类型,个数,返回类型必须保持一致
04
如下代码,结果是什么?
class Base{
Base(){
System.out.print("Base");
}
}
public class Alpha extends Base{
public static void main(String[] args){
new Alpha();
new Base();
}
}
A. | Base | |||
---|---|---|---|---|
B. | BaseBase | |||
C. | 编译失败 | |||
D. | 代码运行,但是没有输出 | |||
E. | 运行时抛出异常 |
解析
考点:继承、构造器
子类可以继承父类的无参构造器
05
在Servlet的生命周期中,容器只调用一次的方法是?
A. | Service | |||
---|---|---|---|---|
B. | init | |||
C. | getServletConfig | |||
D. | destroy |
解析
考点:Servlet生命周期
通过调用init()方法进行初始化
调用service()方法来处理客户端的请求
调用destroy()方法终止结束
Servlet是由JVM的垃圾回收器进行垃圾回收的
06
对于import java.util包,以下说法错误的是?
A. | Vector类属于java.util包 | |||
---|---|---|---|---|
B. | Vector类放在..../java/util/目录下 | |||
C. | Vector类放在java.util文件中 | |||
D. | Vector类是Sun公司的产品 |
解析
考点:java工具包的使用
Vector是list集合的四大实现类之一,属于java.util包中
07
在WEB-INF目录下,必须存放的文件是?
A. | class文件 | |||
---|---|---|---|---|
B. | jar文件 | |||
C. | web.xml | |||
D. | html文件 |
解析
考点:web容器
web project工程中,必须存在web.xml启动容器,才可以部署到应用服务器中使用,且存放到WEB-INF目录下
08
下面的语句会产生怎么样的输出?
System.out.println(4&7);
A. | 5 | |||
---|---|---|---|---|
B. | 6 | |||
C. | 4 | |||
D. | 7 |
解析
考点:位运算符、二进制
&:位运算是对整数的进制位进行操作
二进制与运算规则:1&1=1 1&0=0 0&0=0
4的二进制:0100
7的二进制:0111
结构值为: 0100 == 4
09
以下哪种方法插入行5是错误的?类定义如下
1public class Test1{
2 public float aMethod(float a,float b){
3 return 0;
4 }
5 //行5
6}
A. | public float aMethod(float a,float b,float c){return 0;} | |||
---|---|---|---|---|
B. | public float aMethod(float c,float d){return 0;} | |||
C. | public int aMethod(int a,int b){return 0;} | |||
D. | private float aMethod(int a,int b,int c){return 0;} |
解析
考点:重载
重载:方法参数类型,顺序,个数,返回值类型至少保证一个不相同
10
break语句()
A. | 只中断最内层的循环 | |||
---|---|---|---|---|
B. | 只中断最外层的循环 | |||
C. | 借助于符号,可以实现任何外层循环中断 | |||
D. | 只中断某一层的循环 |
解析
考点:break语句
break语句可以中断当前所在循环,继续执行循环外其它代码
11
在配置Tomcat虚拟目录时,需要打开哪个文件?
A. | index.jsp | |||
---|---|---|---|---|
B. | web.xml | |||
C. | server.cnf | |||
D. | server.xml |
解析
考点:tomcat配置使用
可以修改\tomcat\conf文件下的server.xml文件进行目录、端口、session复制、负载等内容信息的修改
12
下面哪个不是表单标记?
A. | input | |||
---|---|---|---|---|
B. | radio | |||
C. | checkbox | |||
D. | tr |
解析
考点:前端表单标签
input:文本输入框
radio:单选框
checkbox:复选框
tr:表格行
13
下面哪项不是response对象的方法?
A. | setContentType(String contentTypestr) | |||
---|---|---|---|---|
B. | setHeader(String headername,String headervalue) | |||
C. | getParameter(String str) | |||
D. | sendError(int errorcode) |
解析
考点:response对象API
getParameter(String str)属于request对象方法
14
以下()是编写Servlet必须导入的包?
A. | java.sql.* | |||
---|---|---|---|---|
B. | java.servlet.* | |||
C. | java.util.* | |||
D. | java.lang.* |
解析
考点:servlet导入的包结构
使用servlet需要导入servlet-api.jar包,并且类路径引入为:java.servlet.*
15
if(-0.0 == 0.0) 是相等还是不等?
A. | 相等 | |||
---|---|---|---|---|
B. | 不相等 | |||
C. | 编译报错 |
解析
考点:==号比较的是对象的地址
16
一个抽象类是否可以没有抽象方法?
A. | 可以 | |||
---|---|---|---|---|
B. | 不可以 |
解析
考点:抽象类、抽象方法
抽象类中可以没有抽象方法,如果继承某个抽象类,则该类必须继承抽象类中所有的抽象方法
17
假设字符串s="HelloWorld",则s.indexOf("ello")返回的值为?
A. | 1 | |||
---|---|---|---|---|
B. | 2 | |||
C. | 3 | |||
D. | 4 |
解析
考点:String类的API使用
indexOf(""),返回的字符的下标,从0开始
18
Math.round(11.5)和Math.round(-11.5)的值为?
A. | 12和11 | |||
---|---|---|---|---|
B. | 12和-11 | |||
C. | 11和-12 | |||
D. | 11和11 |
解析
考点:round四舍五入
round方法,表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整
19
关于try..catch...finally结构,描述正确的是?
A. | 只能有一个catch | |||
---|---|---|---|---|
B. | 可以有多个catch | |||
C. | 可以没有catch | |||
D. | finally必须有 |
解析
考点:捕获异常try..catch结构使用
必须有try,至少有一个catch,可以没有finally
20
下面程序段执行后t1的结果为?
int x1 = 9 x2 = 6 t1;
t1 = x1 > x2 ? x1:x2;
A. | 6 | |||
---|---|---|---|---|
B. | 9 | |||
C. | 11 | |||
D. | 3 |
解析
考点:三元表达式
三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。
语法为:条件表达式?表达式1:表达式2
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。其逻辑为:“如果为条件成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2