华为Java笔试题+数据库题
一、 单项选择题
1.Java是从( )语言改进重新设计。
A.Ada B.C++ C.Pasacal D.BASIC
2.下列语句哪一个正确( )
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D. 以上都不正确
3.下列说法正确的有( )
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D. 一个class只能定义一个constructor
4.提供Java存取数据库能力的包是( )
A.java.sql B.java.awt C.java.lang D.java.swing
5.下列运算符合法的是( )
A.&& B.<> C.if D.:=
6.执行如下程序代码
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
后,C的值是( )
A.0 B.1 C.-1 D.死循环
7.下列哪一种叙述是正确的( )
A. abstract修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号{ }包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号
8.下列语句正确的是( )
A. 形式参数可被视为local variable
B. 形式参数可被字段修饰符修饰
C. 形式参数为方法被调用时,真正被传递的参数
D. 形式参数不可以是对象
9.下列哪种说法是正确的( )
A. 实例方法可直接调用超类的实例方法
B. 实例方法可直接调用超类的类方法
C. 实例方法可直接调用其他类的实例方法
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)
3.下列标识符不合法的有( )
A.new B.$Usdollars C.1234 D.car.taxi
4.下列说法错误的有( )
A. 数组是一种对象
B. 数组属于一种原生类
C. int number=[]={31,23,33,43,35,63}
D. 数组的大小可以任意改变
5.不能用来修饰interface的有( )
A.private B.public C.protected D.static
6.下列正确的有( )
A. call by value不会改变实际参数的数值
B. call by reference能改变实际参数的参考地址
C. call by reference不能改变实际参数的参考地址
D. call by reference能改变实际参数的内容
7.下列说法错误的有( )
A. 在类方法中可用this来调用本类的类方法
B. 在类方法中调用本类的类方法时可直接调用
C. 在类方法中只能调用本类中的类方法
D. 在类方法中绝对不能调用实例方法
8.下列说法错误的有( )
A. Java面向对象语言容许单独的过程与函数存在
B. Java面向对象语言容许单独的方法存在
C. Java语言中的方法属于类中的成员(member)
D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
9.下列说法错误的有( )
A. 能被java.exe成功运行的java class文件必须有main()方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar选项运行.jar文件
D. 能被Appletviewer成功运行的java class文件必须有main()方法
三、 判断题
1.Java程序中的起始类名称必须与存放该类的文件名相同。( ) 答案:正确
2.Unicode是用16位来表示一个字的。( ) 答案:正确
3.原生类中的数据类型均可任意转换。( ) 答案:错误
1、给定如下JAVA 程序片断:
class A{
public A(){ system.out.println(“A”); }
}
class B extends A{
public B(){System.out.println(“B”);}
public static void main(String[] args)
{
B b=new B();
}
} 上述程序将( ).(选择一项)
A、 不能通过编译
B、通过编译,输出为: A B
C、通过编译,输出为: B
D、通过编译,输出为: A
2、某一 java程序中有如下代码:
Datalnputstream din=new DataInputstream(new BufferedInputstream (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 static void main(String args[])
{
EqTest e=new EqTest();
}
EqTest(){
String s="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=new JLabel(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{ public static void main (String argv[]){} _____ class MyInner {} } 在以上java代码中的横线上,可放置()修饰符。(选择三项)
A、public
B、private
C、static
D、friend
12、public class test3{ public static void 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 void aMethod(String s){....} public void aMethod(int i){.........} public void aMethod(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{ int count=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程序代码,如下:运行编译后,输出结果是(). (选择一项) pubilc class 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(String args[]){ 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代码如下:要使用这段代码能够编译成功,横线处可以填入().(选择两项) pubilc int 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 static void 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 = new File("/","autoexec.bat");
B、DataInputStream din = new DataInputStream(new FileInputStream("autoexec.bat"));
C、InputStreamReader in = new InputStreamReader(System.in);
D、OutputStreamWriter out = new OutputStreamWriter(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(){…}和void method_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 = text JTextArea(100,100);text.setBounds(10,10,150,100);jf.getContentpane().add(text);
B、JTextField text = text JTextField(100,100);JScrollpane text=new JScrollpane(text);jf.setBounds(10,10,150,100);jf.getContentpane().add(jp);
C、JTextArea text = new JTextArea(100,1);JScrollpane jp=new JScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane().add(jp);
D、JTextArea text = new JTextArea(100,100);JScrollpane jp=new JScrollpane(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”); String s3=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 { public static 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来实现。