个人测试二

一、单选题

1.对于合法标识符的定义说法正确的是( A )

A. 只能以字母,下划线( _ )或美元符( $ )开头,数字不能作为开头
B. 不能包含美元符($)以外的特殊符号
C. 不能包含空格
D. 可以是中文字符

2.给出下面代码:

  public class Person{ 
              static int arr[]=new int[10]; 
              public static void main(String a[]) 
          { 
             System.out.println(arr[1]); 
         } 
               } 

以下说法正确的是? ( C )

A. 编译时将产生错误;
B. 编译时正确,运行时将产生错误;
C. 输出零
D. 输出空.

3.编译下面的程序,得到的结果是:( C )

public class A implements Runnable {
 public void run() {
  System.out.println(“OK”);
}
public static void main(String args[]) {
 Thread th = new Thread(new A());
 Th.start();
}
}

A. 程序能编译运行, 但没有任何结果输出
B. 程序不能编译,产生异常
C. 程序能编译运行, 输出结果:OK
D.以上都不对

4.给出下面的不完整的类代码:

class Person {
 String name, department;
 int age;
 public Person(String n) { name = n; }
 public Person(String n, int a) { name = n; age=a;}
 public Person(String n, String d, int a) {
  // doing the same as two arguments version of constructor
  // includeing assignment name=n, age=a
department = d;
}
}

下面哪个语句可以加到构造方法中的”doing the same as… ”处。( D )

A. Person(n, a);
B. this(Person(n, a));
C. this(name, age);
D. this(n, a);

5.下面哪个赋值语句是错误的。( D )

A. double d = 3.14D;
B. double d = 5.3E12;
C. double d = 3.14159;
D. float f = 11.1;

二、多选题
1.执行下列代码后,哪些结论是不正确的String[] s =new String[10];( ACD)?

A: s[10]为"";
B: s[9]为null;
C: s[0]为未定义;
D: s.length()=10;

2.下面关于继承的哪些叙述的正确的:( CD )

A. 在Java中一个类只能实现一个接口。
B. 在java中一个类不能同时继承一个类和实现一个接口
C. Java的单继承使代码更可靠。
D. 在java中只允许单继承。

3.关于异常,下面哪个代码是合法的?(A C D E)

A. try{} catch(NullPointerException ex) {} catch(Exception ex) {}
B. try{} catch(Exception e){} catch(ArithmeticException a){}
C. try{} catch(Throwable th){} finally{}
D. try{} finally {}
E. try{} catch(Throwable th){}

4.下面哪些不是Java的关键字 (AB )

A. sizeof
B. NULL
C. instanceof
D. true
E. implements

5.下列方法是public void method(){…}的重载方法有( A D )?

A:public void method(int m){…}
B:public int method(){…}
C:public void method2(){…}
D:public int method(int m,float f){…}

三、填空题

  1. 数组的特点是长度固定,可以用下标索引,并且所有的元素的类型都是一致的。

  2. 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是 object 类的子类。

  3. 在Java 集合中不能存放基本类型数据,如果要存放数字,应该使用包装类型 Integer

  4. Java语言使用 Thread 类及其子类的对象来表示线程。

  5. HTML是一种描述性的超文本标记语言,主要用于组织网页的内容和控制输出格式。

  6. 在Javascript中定义了一个变量,但没有为该变量赋值,如果alert该变量,javascript 弹出的对话框中显示 undefined

  7. 在Servlet中,主要使用HttpServletResponse类的重定向方法 sendRedirect 方法实现重定向,以及使用RequestDispatcher类的转发方法 forward 方法实现转发功能。

  8. 在JSP中为内置对象定义了4种作用范围,即 Application ScopeSession ScopePage ScopeRequest Scope 四个作用范围。

  9. 实现Filter接口的类需要重写 doFilter方法init方法destroy方法

  10. MVC中,模型 封装了数据和对数据的操作,是实际进行数据处理计算的地方。 视图 是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器 负责视图和模型之间的交互,控制对用户输入的响应、响应方式和流程。

四、简答题

1.什么是方法重写(override)?并说明方法重写与方法重载(overioad)的区别

重写是父类与子类之间多态性的一种表现,在运行时起作用(动态多态性,譬如实现动态绑定)。而重载是一个类中多态性的一种表现,在编译时起作用(静态多态性,譬如实现静态绑定)。重写的条件是方法名、参数列表、返回值相同,子类的访问修饰符权限不能比父类的小,子类抛出的异常小于父类。而重载的条件是方法名相同,参数列表不同,返回值随意。

2.http 中重定向和请求转发的区别?

转发
- 地址栏不会改变
- 转发只能转发到当前web应用内的资源
- 在转发过程中,可以将数据保存到request作用域对象中
- 转发只有一次行为
- 转发是服务端行为

重定向
- 重定向地址栏发生改变
- 重定向可以跳转到当前Web应用,甚至是外部域名网站
- 不能在重定向的过程中,保存数据到request作用域对象中
- 可以多次重定向
- 重定向是客户端行为

3.jsp有哪些内置对象?作用分别是什么?

1)request 表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header和session数据的有用的方法。
2) response 表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)。
3) out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
4)pageContext 表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
5)session 表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。
6)application 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息。
7)config 表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
8)page 表示从该页面产生的一个servlet实例。
9)exception 针对错误网页,未捕捉的例外

4.请简述文件上传时表单需要满足的3个条件。

1.  表单的method属性设置为post;
2.  表单的enctype属性设置为multipart/form-data; 
3.  提供<input type="file" name="filename" />的文件上传输入框。

5.请简述SSM框架整合思路。

由于Spring MVC是Spring框架中的一个模块,所以Spring MVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring与MyBatis的整合,以及Spring MVC与MyBatis的整合。Spring与MyBatis框架的整合时,通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句的,如果能够正确查询出数据库中的数据,那么就可以认为Spring与MyBatis框架整合成功。加入Spring MVC后,如果可以通过前台页面来执行查询方法,并且查询出的数据能够在页面中正确显示,那么就可以认为三大框架整合成功。

五、编程题

1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153 = 1的三次方 + 5的三次方 + 3的三次方。

public class MainTest{
	public static void main(String[] args){
		for(int i=100;i<1000;i++){
			if(isLotus(i))
			   System.out.print(i+" ");
		}
		System.out.println();
	}
	//判断水仙花数
	private static boolean isLotus(int lotus){
		int m = 0;
		int n = lotus;
		int sum = 0;
		m = n/100;
		n-= m*100;
		sum = m*m*m;
		m = n/10;
		n-= m*10;
		sum += m*m*m + n*n*n;
		if(sum==lotus)
			return true;
		else
			return false;
		}
}

2.利用递归方法求5!。

public class MainTest{
	public static void main(String[] args){
		System.out.println(fact(5));
	}
	//递归求阶乘
	private static long fact(int n){
		if(n==1)
		  return 1;
		else
		  return fact(n-1)*n;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值