Java考试题(四)
来源:互联网 发布:sqldeveloper配置java 编辑:程序博客网 时间:2024/04/27 17:23
1.写一个算法对1,8,5,2,4,9,7进行顺序排列。
public class OrderbyArray {
//冒泡排序 Bubble Sort 最简单的排序方法是冒泡排序方法
public int[] orderArray(int[] array){
for(int i=0;i<array.length;i++){
for(int j=i;j<array.length;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);
}
}
3. 写一段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();
}
}
}
4. 请利用JSP编写一简易的购物车程序,它包括一购物界面及往购物车中添加商品与删除商品功能,并能将用户当前已购的所有商品显示出来。
5. 写一个Singleton(单例模式)出来。
public class LazySingleton {
private static LazySingleton instance = null;
// 默认的私有的构造方法,保证外界无法直接实例化
private LazySingleton() {
}
// 静态方法,返回此类的唯一实例
public static LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
public void pp(){
System.out.println("lazy ok");
}
}
6. 用循环控制语句打印输出:1+3+5+…….+99=?结果。
int sum = 0;
for(int i=1;i<100;i+=2){
sum = sum+i;
}
System.out.println("1+3+5+...+99 = "+sum);
7. 请编写一JSP程序,它能根据输入的订单号查寻出该订单的详细信息,包括订单用户名及价钱,其中订单号以请求参数的形式传给该JSP。订单信息都保存在SQLSERVER数据库中。并要求将查寻到的订单信息以表格的形式显示给用户。
IBM笔试题
注:IBM笔试题一小时之内完成,题目全部用英文描述,这里用中文表述
一、名词解释
此题大概有15个左右,还有一些记不清了
1、Eclipse
2、J2EE
3、EJB
4、Ajax
5、Web service
6、
二、找出以下代码问题
public class test{
public void print(String str){
char[] s=str;
}
}
public class a{
public static void main(String [] args){
puts()
}
}
三、写出以下输出
public class Parent{
public void method(){
System.out.println("parent");
}
public static void smethod(){
Sysyem.out.println("parent");
}
}
public class Child extends parent{
public void method(){
System.out.println("child");
}
public static void smethod(){
Sysyem.out.println("child");
}
}
public class test{
public static void print(String [] args){
Child c=new Child();
Parent p=(Parent)c;
p.method();
p.smethod();
}
}
四、编程题(两题选其一)
1、IBM全球有35万员工,名字由26个字母组成,长度不一。
1)请设计一个算法,能够快速查找出要查询的名字。
2)写出此算法的时间复杂度
3)如果对此算法进行测试,请写出测试用例
2、用熟悉的c/c++/java写出一个完成的函数,此函数能够将一个值插入一个排好序的二叉树中
五、Unix命令题
此题包含Unix操作系统的常用命令如建目录、系统启动、磁盘使用情况察看等,大概15个以上
六、英文短文(两题选其一,不少于200字)
1、描述一下你理想中的职业
2、描述一下你心目中的中国文化以及它对于日常工作的影响
JAVA面试题-CORE JAVA部分
1. 在main(String[] args)方法内是否可以调用一个非静态方法?
答案:不能
2. 同一个文件里是否可以有两个public类?
答案:不能
3. 方法名是否可以与构造器的名字相同? 答案:可以。
public class Test
{
public Test(String iceboy)
{
System.out.println(iceboy);
}
public void Test(String iceboy)
{
System.out.println(iceboy);
}
public static void main(String[] args)
{
Test a = new Test("abc");//输出“abc”
a.Test("iceboy");//输出“iceboy”
}
}
4. 初始化了一个没有run()方法的线程类,是否会出错?
答案:不会。
第一种方法:直接继承Thread类。
public class Test
{
public static void main(String[] args)
{
ThreadClass t = new ThreadClass();
t.start();
System.out.println("end");//输出“end”
}
}
class ThreadClass extends Thread //Thread类已经实现了空的run()方法。
{
}
第二种方法:实现Runnable接口
public class Test
{
public static void main(String[] args)
{
ThreadClass t = new ThreadClass();
Thread thread = new Thread(t);
thread.start();
System.out.println("end");
}
}
class ThreadClass implements Runnable
{
public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。
{
System.out.println("Threads");
}
}
4. 局部内部类是否可以访问非final变量?
答案:不能访问局部的,可以访问成员变量(全局的)。
class Out
{
private String name = "out.name";
void print()
{
final String work = "out.local.work";//若不是final的则不能被Animal 使用.
int age=10;
class Animal
//定义一个局部内部类.只能在print()方法中使用.
//局部类中不能使用外部的非final的局部变量.全局的可以.
{
public void eat()
{
System.out.println(work);//ok
//age=20;error not final
System.out.println(name);//ok.
}
}
Animal local = new Animal();
local.eat();
}
}
5. 选择语句case中,允许使用的值有哪些? 答案:int,short,char,byte(都在int范围之内,且是整数)
6. Math,String是不可继承的。(final类)
Instanceof 后面跟的应该是OBJECT。
构造器可以是私有的。(private)
=与==意义是完全不同的。一个是赋值,一个是等于。
全局变量可以不进行初始化,如果使用一个局部变量,则这个局部变量要被初始化。
7. 在try-catch-finally块中的退出语句。
public class Test
{
public static void main(String[] args)
{
int a=1;
try
{
a=a/0;
}catch(Exception e)
{
System.out.println("catch");
return;//当return时,finally中的语句会执行。
//System.exit(0);//若用上这句,finally中的语句不会执行。直接返回,退出程序。
}
finally //当没有System.exit(0);时,无论是否发生异常它都会执行。
{
System.out.println("finally");
}
}
}
注: try-catch-finally块的顺序不能调换。
8. 下面都是正确的main方法签名。
public static void main(String[] args)
public static final void main(String[] args)
static public void main(String[] args)
static public synchronized void main(String[] args)
static public abstract void main(String[] args)//错误
9. if(-0.0 == 0.0)是相等还是不等?
答案:相等。
10.一个抽象类是否可以没有抽象方法?
答案:可以。
11.RandomAccessFile 类继承Object,并且实现了DataInput和DataOutput接口。
答案:正确
12.Collection与Collections的区别?
答案:Collection是一个接口,但 Collections却是一个辅助类,里面有很多静态的工具方法。而且很有用的。如:reverse(List list);sort(List list, Comparator c)等。Collections没有实现任何接口。它直接继承了Object。
13.class Child extends Parents{}
class Parents{}
是否可以这样声明类,在一个文件中?
答案:可以。无所谓的。
14. 数组,无论是当前的,还是类等级的,都会被初始化。
String 是被初始化为 null,不是空字符。
null,““,” “,都是不同的。
“continue”只能在一个循环里(如for,do,while),它不能在case语句中出现。
Primitive(int,char,long等)数组是不能互相赋值的,即使它们本身可以。
一个Constructor可以抛出任何异常。
初始化块是按照声明的顺序执行的。
所有关于 NaN(Not a Number) 和 non-NaN 的比较,都返回false. 这条很重要。
==会产生编译错误,如果两边类型不匹配的话。
equals() 返回 false 如果对象类型不同,但不产生 编译错误。
15.Java成员变量默认初始化的值。
成员变量类型 取值
byte-0 short-0 int-0 long-0L
char-'\u0000' float-0.0F double-0.0D boolean-false
所有引用类型 null
16. integer和long 操作 /和% 的话, 可能会抛出ArithmeticException,比如除0。但是 float与
double不会,即使是除以0。
double a=0;a=a/0;则a等于NaN。
17.普通内部类不可以拥有静态变量,但静态内部类可以。
File类没有 任何 处理文件内容的方法。
InputStream 和 OutputStream 是 抽象类, DataInput 和 DataOutput是 接口。DataInputStream实现了DataInput接口。
18.面向对象的特征有哪些方面 ?
答案:最基本特征:封装,继承,多态。
其他特征:抽象关联,聚合,组合,内聚,耦合
19.String是最基本的数据类型吗? String 和StringBuffer的区别?
答案:String不是一最基本的数据类型。
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常
进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使
- Java考试题(四)
- Java考试题之四
- Java考试题(二)
- Java考试题(三)
- Java考试题(五)
- 华为机考试题(JAVA)
- JAVA考试题
- java考试题
- Java考试题
- Java考试题
- 四川话四级考试题
- 我的JAVA考试题!
- 我的JAVA考试题
- JAVA简单考试题
- Java工程师考试题
- Java考试题之三
- Java考试题之五
- Java考试题之六
- openjudge.1.8.25
- 深度学习caffe实战笔记(4)Windows caffe平台下跑cifar10
- 【YOLO学习】使用YOLO v2训练自己的数据
- Linux查看网络和IO性能问题
- js封装from表单数据为json串进行ajax提交
- Java考试题(四)
- C 递归二分法查找
- 关于友元函数
- 微信小程序-知亦行(选项卡切换,shoush不滑动)
- Bootstrap总结
- 软件开发生命周期
- java对象流
- JavaScript深入理解之闭包
- Java考试题(五)