java笔试面试题_JAVA笔试面试题及答案

这是一篇关于Java笔试面试的题目集锦,涵盖了单选题、简答题和编程题,涉及抽象方法、类与对象、Servlet处理、JDBC、异常处理、JSP与Servlet的关系、switch语句限制、初始化参数获取以及排序算法等核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java考试题

一:单选题

下列哪一种叙述是正确的(D )

A. abstract修饰符可修饰字段、方法和类

B. 抽象方法的body部分必须用一对大括号{ }包住

C. 声明抽象方法,大括号可有可无

D. 声明抽象方法不可写出大括号

如下代码

public class Test {

public int aMethod() {

static int i = 0;

i++;

return i;

}

public static void main (String args[]) {

Test test = new Test();

test.aMethod();

int j = test.aMethod();

System.out.println(j);

}

}

输出结果是什么?

D

A. 0

B. 1

C. 2

D. 编译失败

下列哪种说法是正确的( D)

A. 实例方法可直接调用超类的实例方法

B. 实例方法可直接调用超类的类方法

C. 实例方法可直接调用其他类的实例方法

D. 实例方法可直接调用本类的类方法

如下代码:

class Super {

public Integer getLenght() { return new

Integer(4); }

}

public class Sub extends Super {

public Long getLenght() { return new Long(5); }

public static void main(String[] args) {

Super sooper = new Super();

Sub sub = new Sub();

System.out.println(sooper.getLenght().toString() + "," +

sub.getLenght().toString() );

}

}

输出是什么?   A

A. 4,4

B. 4,5

C. 5,4

D. 5,5

E. 编译失败.---------重定时不能改变返回类型

在Servlet处理请求的方式为:   C

A.以进程的方式

B.以程序的方式

C.以线程的方式

D.以响应的方式

JDBC中,用于表示数据库连接的对象是:   B

A.Statement

B.Connection

C.DriverManager

D.PreparedStatement

用于调用存储过程的对象是:   C

A.ResultSet

B.DriverManager

C.CallableStatemet

D.PreparedStatement

按照MVC设计模式,JSP用于实现:   B

A.Model

B.View

C.Controller

D.容器

如下代码

10. public Object m() {

11. Object o = new Float(3.14F);

12. Object [] oa = new Object[1];

13. oa[0] = o;

14. o = null;

15. oa[0] = null;

16. print 'return 0';

17. }

当Float对象在第11行被创建后, 什么时候能够被垃圾回收?

CA. 13行以后.

B. 14行以后.

C. 15行以后.

D. 16行以后.

10.

如下代码:

class Base {

Base() { System.out.print("Base"); }

}

public class Alpha extends Base {

public static void main( String[] args ) {

new Alpha(); -----调用父类无参的构造方法

new Base();

}

}

结果是什么?   B

A. Base

B. BaseBase

C. 编译失败.

D. 代码运行但没有输出.

E. 运行时抛出异常

11.

在J2EE中属于Web层的组件有:   A

A.Servlet

B.EJB

C.Applet

D.HTML

12.

在Servlet的生命周期中,容器只调用一次的方法是:   C

A.service

B.getServletConfig

C.init

D.destroy

以下关于异常的说法正确的是:D

A. 一旦出现异常,程序运行就终止了

B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常

C. 在catch子句中匹配异常是一种精确匹配

D. 可能抛出系统异常的方法是不需要申明异常的

14.

如下代码:

public class Foo {

public static void main(String[] args) {

try {

return;

} finally {

System.out.println( "Finally" );

}

}

}

输出结果是什么?   A

A. Finally

B.编译失败

C. 代码正常运行但没有任何输出.

D. 运行时抛出异常

二:简答题

JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

如何利用ServletContext和ServletConfig对象获得初始化参数

String psw = config.getInitParameter("psw");

ServletContext ss = config.getServletContext();

String ppp = ss.getInitParameter("name");

如何用css约束一个层不可见?

三.编程题

写一个算法对1,8,5,2,4,9,7进行顺序排列。

public class OrderbyArray {

//冒泡排序 Bubble Sort 最简单的排序方法是冒泡排序方法

public int[] orderArray(int[] array){

for(int i=0;i

for(int j=i;j

if(array[i]>array[j]){

int s = array[i];

array[i] = array[j];

array[j] = s;

}

}

}

return array;

}

public static void main(String[] args) {

int [] array = {1,8,5,2,4,9,7};

OrderbyArray order = new OrderbyArray();

array = order.orderArray(array);

}

}

写一段Jdbc连接Oracle的程序,并实现数据查询。

创建一个连接数据库的工具类

import java.sql.*;

public class DbUtil {

public static Connection getConnection(){

String driver = "";

String url = "";

String name = "scot";

String psw = "123";

Connection conn = null;

try {

Class.forName(driver);

conn = DriverManager.getConnection(url,name,psw);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}

}

import java.sql.*;

public class SearchInfo {

public void searchInfo(int id){

Connection conn = null;

PreparedStatement pstat = null;

ResultSet res = null;

String sql = "select * from users where id=?";

conn = DbUtil.getConnection();

try {

pstat = conn.prepareStatement(sql);

pstat.setInt(1, id);

res = pstat.executeQuery();

while(res.next()){

String name = res.getString("name");

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值