1. Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 【基础】
    答:Math.round(11.5)12 Math.round(-11.5)-11 round 方法返回与参数
    最接近的长整数,参数加 1/2 后求其 floor。
  2. 编程题: 用最有效率的方法算出 2 乘以 8 等於几? 【基础】
    答: 2 << 3。
  3. 在 JAVA 中,如何跳出当前的多重嵌套循环?【基础】
    答:在最外层循环前加 label 标识,然后用 break:label方法即可跳出多重循环。
  4. 定义类 A 和类 B 如下:【基础】
class A { 
	int a=1; 
	double d=2.0; 
	void show(){ 
		System.out.println("Class A: a="+a +"\td="+d); 
 } 
} 

class B extends A{ 
 float a=3.0f; 
 String d="Java program."; 
 void show(){ 
	 super.show( ); 
	 System.out.println("Class B: a="+a +"\td="+d); 
	 } 
}

(1) 若在应用程序的 main 方法中有以下语句:
A a=new A();
a.show();
则输出的结果如何?
(2) 若在应用程序的 main 方法中定义类 B 的对象 b:
A b=new B();
b.show();
则输出的结果如何?
答:输出结果为:
1)Class A: a=1 d=2.0 ;
2)Class A: a=1 d=2.0
Class B: a=3.0 d=Java program。

  1. String s=new String(“xyz”);创建了几个 String Object? 【基础】
    答:两个对象,一个是"xyx",一个是指向"xyx"的引用对象 s。
  2. 下面哪些类可以被继承? 【基础】
    1)java.lang.Thread (T)
    2)java.lang.Number (T)
    3)java.lang.Double (F)
    4)java.lang.Math (F)
    5)java.lang.Void (F)
    6)java.lang.Class (F)
    7)java.lang.ClassLoader (T)
    答:1、2、7 可以被继承。
  3. 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要
    求字符串中的中文不能出现乱码:如(“我 ABC”,4)应该截为“我 AB”,输入(“我
    ABC 汉 DEF”,6)应该输出为“我 ABC”而不是“我 ABC+汉的半个”。 【基础】
    答:代码如下:
public String subString(String str, int subBytes) { 
	 int bytes = 0; // 用来存储字符串的总字节数 
	 for (int i = 0; i < str.length(); i++) { 
		 if (bytes == subBytes) { 
		 	return str.substring(0, i); 
		 } 
		 char c = str.charAt(i); 
		 if (c < 256) { 
			 bytes += 1; // 英文字符的字节数看作 1 
		 } else { 
			 bytes += 2; // 中文字符的字节数看作 2 
			 if(bytes - subBytes == 1){ 
			 	return str.substring(0, i); 
		 	} 
		 } 
	 } 
	 return str; 
 }
  1. 运行时异常与一般异常有何异同?【基础】
    答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的
    通常操作中可能遇到的异常,是一种常见运行错误。java 编译器要求方法必须
    声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行
    时异常。
  2. HashMap 和 Hashtable 的区别? 【基础】
    答:二者都实现了 Map 接口,是将惟一键映射到特定的值上;主要区别在于:
    1)HashMap 没有排序,允许一个 null 键和多个 null 值,而 Hashtable 不允许;
    2)HashMap 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和
    containsKey,因为 contains 方法容易让人引起误解;
    3)Hashtable 继承自 Dictionary 类,HashMap 是 Java1.2 引进的 Map 接口的实现;
    4)Hashtable 的方法是 Synchronize 的,而 HashMap 不是,在多个线程访问
    Hashtable 时,不需要自己为它的方法实现同步,而 HashMap 就必须为之提供外
    同步。
    Hashtable 和 HashMap 采用的 hash/rehash 算法大致一样,所以性能不会有很
    大的差异。
  3. 什么是 java 序列化,如何实现 java 序列化?【基础】
    答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进
    行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之
    间。序列化是为了解决在对对象流进行读写操作时所引发的问题;
    序列化的实现:将需要被序列化的类实现 Serializable 接口,该接口没有需实
    现的方法,implements Serializable 只是为了标注该对象是可被序列化的,然
    后使用一个输出流(如 FileOutputStream)来构造一个 ObjectOutputStream(对
    象流)对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj)
    方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。
  4. 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出
    现的次数。【基础】
    答:代码如下:
public int countWords(String file, String find) throws Exception { 
	 int count = 0; 
	 Reader in = new FileReader(file); 
	 int c; 
	 while ((c = in.read()) != -1) { 
		 while (c == find.charAt(0)) { 
			 for (int i = 1; i < find.length(); i++) { 
				 c = in.read(); 
				 if (c != find.charAt(i)) break; 
				 if (i == find.length() - 1) count++; 
			 } 
		 } 
	 } 
	 return count; 
	 }
  1. 有三张表,学生表 S,课程 C,学生课程表 SC,学生可以选修多门课程,一门课
    程可以被多个学生选修,通过 SC 表关联。【基础】
    1)写出建表语句;
    2)写出 SQL 语句,查询选修了所有选修课程的学生;
    3)写出 SQL 语句,查询选修了至少 5 门以上的课程的学生。
    答:1)建表语句如下(mysql 数据库):
    create table s(id integer primary key, name varchar(20));
    create table c(id integer primary key, name varchar(20));
    create table sc(
    sid integer references s(id),
    cid integer references c(id),
    primary key(sid,cid)
    );
    2)SQL 语句如下:
    select stu.id, stu.name from s stu
    where (select count() from sc where sid=stu.id)
    = (select count(
    ) from c);
    3)SQL 语句如下:
    select stu.id, stu.name from s stu
    where (select count(*) from sc where sid=stu.id)>=5;
  2. 后序遍历下列二叉树,访问结点的顺序是?【基础】
  3. java获取大华token 大华笔试题java_字符串

  4. 答:顺序为:DJGEBKNIFCA 。
  5. GC 是什么? 为什么要有 GC? 【基础】
    答:GC 是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出
    现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,
    Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的
    目的,Java 语言没有提供释放已分配内存的显示操作方法。 Java 程序员不用
    担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下
    面的方法之一:System.gc() 或 Runtime.getRuntime().gc() 。
  6. 写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 【基础】
    答:函数代码如下:
public String[] split(String str, int chars){ 
	 int n = (str.length()+ chars - 1)/chars; 
	 String ret[] = new String[n]; 
	 for(int i=0; i<n; i++){ 
		 if(i < n-1){ 
		 	ret[i] = str.substring(i*chars , (i+1)*chars); 
		 }else{ 
		 	ret[i] = str.substring(i*chars); 
		 } 
	 } 
	 return ret; 
	 }