Java考试题(四)

来源:互联网 发布:sqldeveloper配置java 编辑:程序博客网 时间:2024/04/27 17:23

1.写一个算法对1852497进行顺序排列

   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个左右,还有一些记不清了

1Eclipse

2J2EE

3EJB

4Ajax

5Web service

6

二、找出以下代码问题

 

public class test{

 

public void printString 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();

  }

}

四、编程题(两题选其一)

1IBM全球有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.一个抽象类是否可以没有抽象方法?

答案:可以。

11RandomAccessFile 类继承Object,并且实现了DataInputDataOutput接口。

答案:正确

12CollectionCollections的区别?

答案:Collection是一个接口,但 Collections却是一个辅助类,里面有很多静态的工具方法。而且很有用的。如:reverse(List list);sort(List list, Comparator c)等。Collections没有实现任何接口。它直接继承了Object

13class 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 如果对象类型不同,但不产生 编译错误。

15Java成员变量默认初始化的值。

成员变量类型        取值
                   byte-0    short-0     int-0       long-0L
                   char-'\u0000'     float-0.0F    double-0.0D   boolean-false
        所有引用类型          null
16.  integerlong 操作 /的话, 可能会抛出ArithmeticException,比如除0。但是 float

double不会,即使是除以0
double a=0;a=a/0;a等于NaN

17普通内部类不可以拥有静态变量,但静态内部类可以。
 File类没有 任何 处理文件内容的方法。

InputStream 和 OutputStream 是 抽象类, DataInput 和 DataOutput是 接口。DataInputStream实现了DataInput接口。

 

18面向对象的特征有哪些方面 
答案:最基本特征:封装,继承,多态。

其他特征:抽象关联,聚合,组合,内聚,耦合

19String是最基本的数据类型吗? String StringBuffer的区别
答案:String不是一最基本的数据类型。

STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常

进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使

0 0
原创粉丝点击