试题来源互联网
深圳华*笔试题(三)
一、单项选择题
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()方法
10.给定如下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
11.某一 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
12.给定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
13、在Java中,下面关于构造函数的描述正确的是()。(选择一项)
A、类必须有显式构造函数
B、它的返回类型是void
C、它和类有相同的名称,但它不能带任何参数
D、以上皆非
14、 在JAVA编程中,Swing包中的组件处理事件时,下面()是正确的。(选择一项)
A、 Swing包中的组件也是采用事件的授权得理模型来处理事件的
B、 Swing包中组件产生的事件类型,也都带有一个J字母,如:JmouseEvent
C、Swing包中的组件也可以采用事件的传递处理机制
D、 Swing包的组件所对应的事件适配器也是带有J字母的,如:JmouseAdapter
15、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))
16、 在类的说明符中,被指定为私有的数据可以被以下()访问。(选择一项)
A、程序中的任何函数
B、其他类的成员函数
C、类中的成员函数
D、派生类中的成员函数
17、 在JAVA编程中,以下()命令用来执行java类文件。(选择一项)
A、javac
B、java
C、appletviewer
D、以上所有选项都不正确
18、Java中,下面的方法可以正确的创建一个Swing标签组件是()(选择两项)
A、ImageIcon icon = new ImageIcon(
B、ImageIcon icon = new ImageIcon(
C、ImageIcon icon=new ImageIcon(
D、JLabel label=new JLabel(SwingConstants.LEFT);
19、分析下面的用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
20、 public class MyClass1{
public static void main (String argv[]){
}
_____ class MyInner { }
} 在以上java代码中的横线上,可放置()修饰符。(选择三项)
A、public
B、private
C、static
D、friend
21、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.println(“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
22、如下Java代码段,体现了()概念。(选择一项)
.........
public void aMethod(String s){ .........}
public void aMethod(int i){.........}
public void aMethod(int I,float f){ .........}
.........
A、多继承
B、重载
C、重写
D、多态
23、java语言中,下列时处理输出操作的所有类的基础的是()(选择一个)
A、DataOutput
B、OutputStream
C、BufferedOutputStream
D、IOStream
24、在jave中,类Worker是类Person的子类,Worker的构造方法中有一句”super()”, 该语句 ( )。(选择一项)
A、调用类Worker 中定义的super()方法
B、调用类Person中定义的super()方法
C、调用类Person的构造函数
D、句法错误
25、在Java中,关于final关键字的说法正确的是()。(选择两项)
A、如果修饰变量,则一旦赋了值,就等同一个常量
B、如果修饰类,则该类只能被一个子类继承
C、如果修饰方法,则该方法不能在子类中被覆盖
D、如果修饰方法,则该方法所在的类不能被继承
26、在Java中,下列选项表示字符”a”值的是().(选择一项)
A、'a'
B、"a"
C、new Character(a)
D、\000a
27、给定java代码片段,如下:
Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a==b); 运行后,这段代码将输出()。(选择一项)
A、true
B、false
C、0
D、1
28、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!”);
29、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
30、给定一个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
31、给定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
32、 在 JAVA编程中,Java编译器会将Java程序转换为()。(选择一项)
A、字节码
B、可执行代码
C、机器代码
D、以上所有选项都不正确
33、在J2EE中,下列元素经过排序的集合类是()。(选择一项)
A、LinkedList
B、Stack
C、Hashtable
D、TreeSet
34、分析下面的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、没有任何输出
35、编译并运行下面的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
36、在Java中,执行下面的语句后,c的值为()。(选择一项)
String s= "Jessica "; char c=s.charAt(6);
A、null www.87717.com
B、' '
C、'c '
D、'a '
37、在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);
38、在JavaSwing编程中,要获取每次选择的JComboBox对象的选项值,可以使用()类型的监听器. (选择两项)
A、ActionListener
B、ltemListener
C、KeyListener
D、SelectionListener
39、在Java中,下面关于包的陈述中正确的是()。(选择两项)
A、包的声明必须是源文件的第一句代码
B、包的声明必须紧跟在import语句的后面
C、只有公共类才能放在包中
D、可以将多个源文件中的类放在同一个包中
40、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用( )关键字。(选择一项)
A、不需要任何关键字
B、private
C、final
D、protected
41、包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
42、在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的对象
43、在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);
44、在JAVA语言中,你的按钮要实现下面的功能:当鼠标按下按钮时,显示“鼠标已按下”;当释放按键时,显示“鼠标已释放”。你必须具体定义接口MouseListener的()方法。(选择两项)
A、mouseClicked
B、mouseEntered
C、mouseExited
D、mousePressed
E、mouseReleaseed
45、JAVA中,为了辨别用户关闭窗口的时间,要实现监听器接口()。(选择一项)
A、MouseListener
B、ActionListener
C、WindowListener
D、以上都要
46、在Java语言中,当一个类的某个变量声明为protected时下列说法正确的是()。(选择两项)
A、只有同一类中的成员才能访问它
B、不同包中的任何其他类都能够访问它
C、同包中的任何其他类能够访问它
D、不同包中的子类可以访问该变量
47、在Java事件处理模型中,当按下鼠标按钮时,处理()事件。(选择一项)
A、mouseReleased
B、mouseExited
C、mousePressed
D、mouseDown
48、 String s1=new String(“Hello”); String s2=new String(“there”); String s3=new String("0"); 上面是JAVA程序的一些声明,以下选项中能够通过编译的是()。(选择一项)
A、 s3=s1+s2
B、 s3=s1&s2
C、 s3=s1||s2
D、 s3=s1&&s2
49、在Java中,调用Math.random() 方法可能返回的结果是()。(选择一项)
A、132.34
B、0.342
C、29.34E10
D、1.0009
50、 在Java语言中,Panel默认的布局管理器是()。(选择一项)
A、BorderLayout
B、FlowLayout
C、GridLayout
D、GridBagLayout
51、public class MyClass1 {
public static void main(String argv[]){ }
______class MyInner{} } 在以上Java代码的横线上,可放置()修饰符。(选择两项)
A、public
B、private
C、implements
D、friend
52、在java中,下列赋值语句正确的是()。(选择二项)
A、char c='a';
B、char c="a";
C、char c=97;
D、char c=new Character('a');
53、与传统的过程编程不同,面向对象方法的主要思想是()。(选择两项)
A、真实反映用户的实际需求
B、将现实世界的一切抽象为实体或对象
C、将现实世界细分为一个过程化实现
D、将软件组织成为对象的集合,将数据结构和行为结合在一起
54、在Java中,根据你的理解,下列方法()可能是类Orange的构造方法。(选择3项)
A、Orange(){…}
B、Orange(…){…}
C、Public void Orange(){…}
D、Public Orange(){…}
E、Public Orange Constuctor(){…}
55、在Java中,()借口位于集合框架的顶层. (选择一项)
A、Map
B、Collection
C、Set
D、List
56、给定某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
57、在Java中,假设我们有一个实现ActionListener接口的类,以下方法中()能够为一个Button类注册这个类。(选择一项)
A、addListener()
B、addActionListener()
C、addButtonListener()
D、setListener()
58、44.在JAVA中的布局管理器,以下说法中错误的是(). (选择一项)
A、FlowLayout以由上到下的方式从左到右排列组件
B、BorderLayout使用 "东"."西"."南"."北","居中"来指定组件的位置
C、GridLayout可以创建网格布局,网格布局中各组的大小可以任意调整
D、可以通过容器的setLayout方法为容器指定布局管理
59、研究下面的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、程序结束
三、判断题
1.Java程序中的起始类名称必须与存放该类的文件名相同。( )
2.Unicode是用16位来表示一个字的。( )
3.原生类中的数据类型均可任意转换。( )
四、问答题
1、在java中如果声明一个类为final,表示什么意思?
2、父类的构造方法是否可以被子类覆盖(重写)?
3、请讲述String 和StringBuffer的区别。
4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?
5、结合Java多线程分析sleep()和wait()方法的区别。
6、谈谈你对抽象类和接口的理解。
部分参考答案:
1、单选题
答案:B 答案:B 答案:C答案:A 答案:A 答案:C
答案:D 答案:A 答案:D [1-9题]
2、多选题
答案:BC 答案:BCD 答案:ACD 答案:BCD 答案:ACD
答案:ACD 答案:ACD答案:ABC 答案:BCD
3、判断题
正确
正确
错误
下载完整面试题文件及答案:
https://www.duyunwl.cn/2019/03/08/java面试题大全/