当前位置: 代码迷 >> Java面试 >> java口试学习笔记之1
  详细解决方案

java口试学习笔记之1

热度:87   发布时间:2016-04-17 18:28:17.0
java面试学习笔记之1

ArrayList实现了list 的接口,且允许有空值。

?

一、数组与ArrayList的主要区别:效率、类型识别和primitive type。
数组([]):最高效;但是其容量固定且无法动态改变;
ArrayList:容量可动态增长;但牺牲效率;
建议:
首先使用数组,无法确定数组大小时才使用ArrayList!


?

二、早上做了个智力题。题目是1到2010这几个数之间。将这些数围成一圈,第一次删除1、3、5、7...奇数的。之后再围成一个圈。再重复上面的操作。结果答案是1024

	主函数:main(String[] args) {		List init = new ArrayList<Integer>();		List jg = new ArrayList<Integer>();		zl2010 z=new zl2010();				for (int i = 1; i <= 2010; i++) {			init.add(i);		}		jg =z.getList(init);		while(jg.size()>=2){			System.out.println(jg.size());			jg =z.getList(jg);		}		System.out.println(jg.size());		System.out.println(jg.get(0));	}		public List getList(List init){		List result = new ArrayList<Integer>();		for (int j = 1; j <= init.size(); j++) {			if (j % 2 == 0) {				result.add(init.get(j-1));			}		}		return result;	}

?

刚开始想到这个题的时候,就想到要用ArrayList 来实现 因为他的大小可以改变,有add()和remove()方法;

?

对数组进行排序:

int vec[] = {37, 47, 23, -5, 19, 56};             Arrays.sort(vec);             for (int i = 0; i < vec.length; i++) {                 System.out.println(vec[i]);             } 

?排序好后进行二分查找:注意 调用这方法前要先排序

?

 int vec[] = {-5, 19, 23, 37, 47, 56};             int slot = Arrays.binarySearch(vec, 35);             slot = -(slot + 1);             System.out.println("insertion point = " + slot);

?将数组转化为list

           Object vec[] = {new Integer(37), new Integer(47)};             List lst = Arrays.asList(vec);             lst.set(1, new Integer(57));             for (int i = 0; i < vec.length; i++) {                 System.out.println(vec[i]);             } 

?将list转化为数组

Object vec[] = lst.toArray();

?

javaBean命名的规范

1.一个javaBean类必须是一个公共类,类都得设置为public的

2.一个javaBean类必须有一个空的构造函数
??? 您必须有一个不带有参数的公用构造器。此构造器也应该通过调用各个特性的设置方法来设置特性的缺省值。

3.一个javaBean类不应有公共实例变量,类变量都为private

4.持有值应该通过一组存取方法(getXxx和setXxx)来访问
对于您需要的每个特性,您应该有一个带有匹配公用getter 和setter 方法的专用实例变量。

javaBean的使用

在jsp中通过两种方式来调用javaBean
1.<%@page import=""%>这时候和使用其他的类没什么区别

2.使用jsp的标签
<jsp:useBean id="sb"?????????? ----------->表示实例化对象的名称???????
???????????? scope="page"????? ----------->表示使用范围
???????????? class="具体的类"/> ----------->对象所属的包.类名称路径


然后在jsp页面可以通过
<jsp:setProperty name="sb"
???????????????? property="*"/>
来代替setter方法的调用

和<jsp:getProperty name="sb"
?????????????????? property="具体参数名"/>
来代替getter方法的调用
特别注意的是参数的名称要和javaBean的名称一致
中大型 必考考题
数据结构:
排序

时间复杂度

链表

?

?J2EE 本身就是一套标准 他包含了 jdbc jsp servlet ejb 企业级应用

?Jre? j2se runtime environment

?Jdk j2se development kit

?

?

???? J2EE 本身就是一套标准 他包含了 jdbc jsp servlet ejb 企业级应用

??? ?Jre? j2se runtime environment

??? ?Jdk j2se development kit

?

?? ?Java.lang 包含一些java语言的核心类

? ? string math integer system thread 等提供常用功能

??? Java.awt 包含了构成抽象窗口工具集(abstract window toolkits)的多个类

??? Java.applet 包含applet 运行所需的一些类

??? Java.io 包含提供多种输入和输出功能的类

??? Java.util 包含一些实用工具类,如定义系统特性,使用与日期日历相关的函数

?

????? ?J2me 移动设备 游戏

?????? 移动增值 短信 彩信 彩铃 sp 运营商

???????? Erp给企业管理? 生产 销售 物流 财务 等等 就是网上办公 网上管库存

?

  相关解决方案