JAVA笔试

华为Java笔试题+数据库题

一、 单项选择题

  1.Java是从( )语言改进重新设计。

  A.Ada B.C++C.Pasacal D.BASIC  答案:B

    2.下列语句哪一个正确( )

  A. Java程序经编译后会产生machinecode

  B. Java程序经编译后会产生bytecode

  C. Java程序经编译后会产生DLL

  D. 以上都不正确  答案:B

    3.下列说法正确的有( )

  A. class中的constructor不可省略

  B. constructor必须与class同名,但方法不能与class同名

  C. constructor在一个对象被new时执行

  D. 一个class只能定义一个constructor  答案:C

    4.提供Java存取数据库能力的包是()

  A.java.sql B.java.awtC.java.lang D.java.swing  答案:A

    5.下列运算符合法的是( )

  A.&& B.<>C.if D.:=  答案:A

    6.执行如下程序代码

  a=0;c=0;

  do{

  --c;

  a=a-1;

  }while(a>0);

  后,C的值是( )

  A.0 B.1C.-1 D.死循环  答案:C

    7.下列哪一种叙述是正确的( )

  A. abstract修饰符可修饰字段、方法和类

  B. 抽象方法的body部分必须用一对大括号{}包住

  C. 声明抽象方法,大括号可有可无

  D. 声明抽象方法不可写出大括号  答案:D  

  8.下列语句正确的是( )

  A. 形式参数可被视为local variable

  B. 形式参数可被字段修饰符修饰

  C. 形式参数为方法被调用时,真正被传递的参数

  D. 形式参数不可以是对象  答案:A

    9.下列哪种说法是正确的( )

  A. 实例方法可直接调用超类的实例方法

  B. 实例方法可直接调用超类的类方法

  C. 实例方法可直接调用其他类的实例方法

  D. 实例方法可直接调用本类的类方法  答案:D

    二、 多项选择题

  1.Java程序的种类有( )

  A.类(Class)B.Applet C.Application D.Servlet

  2.下列说法正确的有( )

  A. 环境变量可在编译source code时指定

  B. 在编译程序时,所能指定的环境变量不包括class path

  C. javac一次可同时编译数个Java源文件

  D. javac.exe能指定编译结果要置于哪个目录(directory)  答案:BCD

    3.下列标识符不合法的有( )

  A.new B.$UsdollarsC.1234 D.car.taxi  答案:ACD  

  4.下列说法错误的有( )

  A. 数组是一种对象

  B. 数组属于一种原生类

  C. intnumber=[]={31,23,33,43,35,63}

  D. 数组的大小可以任意改变  答案:BCD

    5.不能用来修饰interface的有( )

  A.private B.publicC.protected D.static  答案:ACD

    6.下列正确的有( )

  A. call by value不会改变实际参数的数值

  B. call by reference能改变实际参数的参考地址

  C. call by reference不能改变实际参数的参考地址

  D. call by reference能改变实际参数的内容  答案:ACD

    7.下列说法错误的有( )

  A. 在类方法中可用this来调用本类的类方法

  B. 在类方法中调用本类的类方法时可直接调用

  C. 在类方法中只能调用本类中的类方法

  D. 在类方法中绝对不能调用实例方法  答案:ACD

    8.下列说法错误的有( )

  A. Java面向对象语言容许单独的过程与函数存在

  B. Java面向对象语言容许单独的方法存在

  C. Java语言中的方法属于类中的成员(member)

  D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同  答案:ABC

    9.下列说法错误的有( )

  A. 能被java.exe成功运行的javaclass文件必须有main()方法

  B. J2SDK就是JavaAPI

  C. Appletviewer.exe可利用jar选项运行.jar文件

  D. 能被Appletviewer成功运行的javaclass文件必须有main()方法  答案:BCD

    三、 判断题

  1.Java程序中的起始类名称必须与存放该类的文件名相同。( )  答案:正确

    2.Unicode是用16位来表示一个字的。()  答案:正确

    3.原生类中的数据类型均可任意转换。( )  答案:错误

1、给定如下JAVA 程序片断: class A{public A(){ system.out.println(“A”); } } classB extends A{ public B(){System.out.println(“B”);} publicstatic void main(String[] args){ B b=new B();} } 上述程序将( ).(选择一项) 

    A、 不能通过编译

    B、通过编译,输出为: A B

    C、通过编译,输出为: B

    D、通过编译,输出为: A

  2、某一 java程序中有如下代码: Datalnputstream din=newDataInputstream(newBufferedInputstream (new FileInputstream(“employee.dat”) )); 假设在employee.dat文件中只有如下一段字符:abcdefg。则:System.out.println(din)在屏幕上打印().(选择一项)

    A、A

    B、B

    C、97

    D、98

  3、给定java代码片段,如下: int i=0,j=-1; switch(i){case 0,1:j=1; case 2:j=2; } System.out.print("j="+j); 编译运行,正确的是()。(选择一项)

    A、程序编译出错 

 

    B、j=1

    C、j=2

    D、j=0

  4、在Java中,下面关于构造函数的描述正确的是()。(选择一项)

    A、类必须有显式构造函数

    B、它的返回类型是void

    C、它和类有相同的名称,但它不能带任何参数

    D、以上皆非

  5、 在JAVA编程中,Swing包中的组件处理事件时,下面()是正确的。(选择一项)

    A、 Swing包中的组件也是采用事件的授权得理模型来处理事件的

    B、 Swing包中组件产生的事件类型,也都带有一个J字母,如:JmouseEvent

    C、Swing包中的组件也可以采用事件的传递处理机制

    D、 Swing包的组件所对应的事件适配器也是带有J字母的,如:JmouseAdapter

  6、Public class EqTest { public staticvoid main(String args[]){ EqTest e=new EqTest(); } EqTest(){ Strings="Java"; String s2="java"; //在这儿放置测试代码 {System.out.println("相等");} else{System.out.println("不相等");} } } 在上面的Java代码的注释行位置,放置()测试代码能输出“相等”结果。(选择一项)

    A、if(s==s2)

    B、if(s.equals(s2))

    C、if(s.equalsIgnoreCase(s2))

    D、if(s.noCaseMatch(s2))

  7、 在类的说明符中,被指定为私有的数据可以被以下()访问。(选择一项)

    A、程序中的任何函数

    B、其他类的成员函数

    C、类中的成员函数

    D、派生类中的成员函数

  8、 在JAVA编程中,以下()命令用来执行java类文件。(选择一项)

    A、javac

    B、java

    C、appletviewer

    D、以上所有选项都不正确

  9、Java中,下面的方法可以正确的创建一个Swing标签组件是()(选择两项) 

    A、ImageIcon icon = new ImageIcon(

    B、ImageIcon icon = new ImageIcon(

    C、ImageIcon icon=new ImageIcon(

    D、JLabel label=newJLabel(SwingConstants.LEFT);

 

 

  10、分析下面的用Java语言编写的trythis()方法: public void trythis(){ try{System.out.print("a"); problem(); }catch(RuntimeException e){System.out.print("b"); }catch(Exception e){System.out.print("c"); }finally{ System.out.print("d"); }System.out.print("e"); } 当该方法被调用时,如果其中的problem()方法引发一个RuntimeException类的异常,那么输出结果将是()。(选择一项) 

    A、abcde

    B、abd

    C、abde

    D、abe

  11、 public class MyClass1{ publicstatic void main (String argv[]){} _____ class MyInner {} } 在以上java代码中的横线上,可放置()修饰符。(选择三项) 

    A、public

    B、private

    C、static

    D、friend

  12、public class test3{ public staticvoid main(String args[]){ for{int I=0;I<3;I++}{ for{int j=3; j>0;j--}{If(I==j) continue; System.out.print}n(“I=”+I+”j=”+j) } } } } 上面的JAVA代码编译运行后,下列选项中,()会出现在输出结果中,(选择三项) 

    A、I=0 j=3

    B、I=0 j=0

    C、I=2 j=2

    D、I=0 j=2

    E、I=1 j=2 13、如下Java代码段,体现了()概念。(选择一项) ..... public voidaMethod(String s){....} public void aMethod(int i){.........} public voidaMethod(int I,float f){.....} .....

    A、多继承

    B、重载

    C、重写

 D、多态

  14、java语言中,下列时处理输出操作的所有类的基础的是()(选择一个)

    A、DataOutput

    B、OutputStream

    C、BufferedOutputStream

    D、IOStream

  15、在jave中,类Worker是类Person的子类,Worker的构造方法中有一句”super()”, 该语句( )。(选择一项)

    A、a) 调用类Worker 中定义的super()方法

    B、b) 调用类Person中定义的super()方法

    C、c) 调用类Person的构造函数

    D、d) 句法错误

  16、在Java中,关于final关键字的说法正确的是()。(选择两项)

    A、如果修饰变量,则一旦赋了值,就等同一个常量

    B、如果修饰类,则该类只能被一个子类继承

    C、如果修饰方法,则该方法不能在子类中被覆盖

    D、如果修饰方法,则该方法所在的类不能被继承

  17、在Java中,下列选项表示字符”a”值的是().(选择一项)

    A、'a'

    B、"a"

    C、new Character(a)

    D、\000a

  18、给定java代码片段,如下: Integer a = new Integer(3);Integer b = new Integer(3); System.out.println(a==b); 运行后,这段代码将输出()。(选择一项)

    A、true

    B、false

    C、0

    D、1

  19、Java程序中读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为“something’s wrong!”,语句为()。(选择一项)

    A、if (I>10) throw Exception(“something’s wrong!”);

    B、if (I>10) throw Exception e (“something’s wrong!”);

    C、if (I>10) throw new Exception(“something’s wrong!”);

    D、if (I>10) throw new Exception e(“something’s wrong!”);

  20、42.给定两个java程序,如下:Text.java的编译运行结果是(). (选择一项) pubilc interface Face{ intcount=40; } pubilc class Text implements Face{ private static int counter;pubilc static void main(String[]args){ System.out.println(++counter); } }

    A、40

    B、41

    C、0

    D、1

  21、39.给定一个Java程序代码,如下:运行编译后,输出结果是(). (选择一项) pubilcclass Test{ int count = 9; pubilc void count1(){ int count = 10;SYstem.out.println("count1"+count); } pubilc void count2(){SYstem.out.println("count2"+count); } pubilc static void main(Stringargs[]){ Test t =new Twst(); t.count1(); t.count2(); } }

    A、count1=9 count2=9

    B、count1=10 count2=9

    C、count1=10 count2=10

    D、count1=9 count2=10

  22、37.给定java代码如下:要使用这段代码能够编译成功,横线处可以填入().(选择两项) pubilcint count(char c,int i,double d){ return______; }

    A、c*i

    B、c*(int)d

    C、(int)c*d

    D、i*d

  23、 在 JAVA编程中,Java编译器会将Java程序转换为()。(选择一项)

    A、字节码

    B、可执行代码

    C、机器代码

    D、以上所有选项都不正确

  24、在J2EE中,下列元素经过排序的集合类是()。(选择一项)

    A、LinkedList

    B、Stack

    C、Hashtable

    D、TreeSet

25、9) 分析下面的Java程序: public class yy { public staticvoid main(String[] ards) throws Exception { try { throw new Exception();}catch(Exception e){ System.out.println("Caught in main()"); }System.out.println("nothing"); } } 输出结果为()。(选择一项) 

    A、Caught in main() nothing

    B、Caught in main()

    C、nothing

    D、没有任何输出

  26、编译并运行下面的Java代码段: char c='a'; switch (c) { case'a': System.out.println("a"); default:System.out.println("default"); } 输出结果是()。(选择一项) 

    A、代码无法编译,因为switch语句没有一个合法的表达式

    B、a default 

    C、a

    D、default

  27、在Java中,执行下面的语句后,c的值为()。(选择一项)String s= "Jessica "; char c=s.charAt(6); 

    A、null www.87717.com

    B、' '

    C、'c '

    D、'a '

  28、在J2EE中,下面的代码中出现编译错误的是()。(选择一项)

    A、File f = newFile("/","autoexec.bat");

    B、DataInputStream din = newDataInputStream(new FileInputStream("autoexec.bat"));

    C、InputStreamReader in = newInputStreamReader(System.in);

    D、OutputStreamWriter out = newOutputStreamWriter(System.in); 

  29、38.在JavaSwing编程中,要获取每次选择的JComboBox对象的选项值,可以使用()类型的监听器. (选择两项) 

    A、ActionListener

    B、ltemListener

    C、KeyListener

    D、SelectionListener

  30、在Java中,下面关于包的陈述中正确的是()。(选择两项)

    A、包的声明必须是源文件的第一句代码

    B、包的声明必须紧跟在import语句的后面

    C、只有公共类才能放在包中

    D、可以将多个源文件中的类放在同一个包中

  31、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用()关键字。(选择一项)

    A、不需要任何关键字

    B、private

    C、final

    D、protected

  32、包pack1的类class1中有成员方法: protected void method_1(){…}, private void method_2(){…}, public void method_3(){…}和voidmethod_4(){…},在包pack2中的类class2是class1的子类,你在class2中可以调用方法()。(选择两项) 

    A、method_1

    B、method_2

    C、method_3

    D、method_4

  33、在Java语言中,小明在他的包mypackage中定义了类My_Class,在mypackage的子包mysubpackage中也有个类My_Class。小明用.import mypackage:引入包,执行其中的语句:My_Class NewClass=New My_Class();时,将发生()。(选择一项)

    A、创建一个类mypackage.My_Class对象

    B、创建一个类mypackage.Mysubpackage.My_Class的对象

    C、该语句是错误的

    D、创建一个类mypackage.My_Class的对象和一个类mypackage.Mysubpackage.My_Class的对象

  34、41.在JavaSwing编程中,给定一个java程序main方法的代码片段如下: JFrame jf=new JFrame();jf.getContentpane().setLayout(null); jf.setSize(200,200); jf.setVisible(true);//a 要在界面上显示如下组件,则应在A处填入(). (选择一项) 

    A、JTextArea text = textJTextArea(100,100);text.setBounds(10,10,150,100);jf.getContentpane().add(text);

    B、JTextField text = textJTextField(100,100);JScrollpane text=newJScrollpane(text);jf.setBounds(10,10,150,100);jf.getContentpane().add(jp);

    C、JTextArea text = newJTextArea(100,1);JScrollpane jp=newJScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane().add(jp);

    D、JTextArea text = newJTextArea(100,100);JScrollpane jp=newJScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane().add(jp);

  35、在JAVA语言中,你的按钮要实现下面的功能:当鼠标按下按钮时,显示“鼠标已按下”;当释放按键时,显示“鼠标已释放”。你必须具体定义接口MouseListener的()方法。(选择两项)

    A、mouseClicked

    B、mouseEntered

    C、mouseExited

    D、mousePressed

 E、mouseReleaseed

  36、JAVA中,为了辨别用户关闭窗口的时间,要实现监听器接口()。(选择一项)

    A、MouseListener

    B、ActionListener

    C、WindowListener

    D、以上都要

  37、在Java语言中,当一个类的某个变量声明为protected时下列说法正确的是()。(选择两项) 

    A、只有同一类中的成员才能访问它

    B、不同包中的任何其他类都能够访问它

    C、同包中的任何其他类能够访问它

    D、不同包中的子类可以访问该变量

38、在Java事件处理模型中,当按下鼠标按钮时,处理()事件。(选择一项)

    A、mouseReleased

    B、mouseExited

    C、mousePressed

    D、mouseDown

  39、 String s1=new String(“Hello”); String s2=new String(“there”); Strings3=new String("0"); 上面是JAVA程序的一些声明,以下选项中能够通过编译的是()。(选择一项) 

    A、a) s3=s1+s2

    B、b) s3=s1&s2

    C、c) s3=s1||s2

    D、d) s3=s1&&s2

  40、在Java中,调用Math.random() 方法可能返回的结果是()。(选择一项)

    A、132.34

    B、0.342

    C、29.34E10

    D、1.0009

  41、 在Java语言中,Panel默认的布局管理器是()。(选择一项)

    A、BorderLayout

    B、FlowLayout

    C、GridLayout

    D、GridBagLayout

  42、public class MyClass1 { publicstatic void main(String argv[]){} ______class MyInner{} } 在以上Java代码的横线上,可放置()修饰符。(选择两项)

    A、public

    B、private

    C、implements

    D、friend

  43、在java中,下列赋值语句正确的是()。(选择二项)

    A、char c='a';

    B、char c="a";

    C、char c=97;

    D、char c=new Character('a');

  44、与传统的过程编程不同,面向对象方法的主要思想是()。(选择两项)

    A、真实反映用户的实际需求

    B、将现实世界的一切抽象为实体或对象

    C、将现实世界细分为一个过程化实现

    D、将软件组织成为对象的集合,将数据结构和行为结合在一起

  45、在Java中,根据你的理解,下列方法()可能是类Orange的构造方法。(选择3项)

    A、Orange(){…}

 

    B、Orange(…){…}

    C、Public void Orange(){…}

    D、Public Orange(){…}

    E、Public Orange Constuctor(){…}

  46、45.在Java中,()借口位于集合框架的顶层.    (选择一项) 

    A、Map

    B、Collection

    C、Set

    D、List

  47、给定某java程序片段,如下: int i=1; int j=i++;if((i>++j)&&(i++==j)) i+=j; System.out.println(i); 该程序运行后,i的输出结果为()。(选择一项)

    A、1

    B、2

    C、3

    D、4

  48、在Java中,假设我们有一个实现ActionListener接口的类,以下方法中()能够为一个Button类注册这个类。(选择一项)

    A、addListener()

    B、addActionListener()

    C、addButtonListener()

    D、setListener()

 

  49、44.在JAVA中的布局管理器,以下说法中错误的是(). (选择一项)

    A、FlowLayout以由上到下的方式从左到右排列组件

    B、BorderLayout使用 "东"."西"."南"."北","居中"来指定组件的位置

    C、GridLayout可以创建网格布局,网格布局中各组的大小可以任意调整

    D、可以通过容器的setLayout方法为容器指定布局管理

  50、研究下面的Java代码: public class testException{public static void main(String args[]){ int n[]={0,1,2,3,4}; int sum=0; try {for(int i=1;i<6;i++) sum=sum+n[i]; System.out.println("sum="+sum);} catch(ArrayIndexOutOfBoundsExpception e) { System.out.println("数组越界"); }finally{System.out.println("程序结束");} } } 输出结果将是()。(选择一项)

    A、10 数组越界程序结束

    B、10 程序结束

    C、数组越界 程序结束

    D、程序结束

【java大本营】1、在java中如果声明一个类为final,表示什么意思?

 

答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。

 

2、父类的构造方法是否可以被子类覆盖(重写)?

 

答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。

 

3、请讲述String 和StringBuffer的区别。

 

答:String 类所定义的对象是用于存放“长度固定”的字符串。

 

StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。

 

4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?

 

答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。

 

5、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。

 

答: Sleeping睡眠的意思 : sleep() 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。

 

waiting等待的意思: 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。

 

6、谈谈你对抽象类和接口的理解。

 

答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。

 

接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。

 

你可能感兴趣的:(JAVA笔试)