-------android培训、java培训、期待与您交流! ----------
传智播客java就业班入学测试题
共50道题,每道题2分,总分100分,80分为合格。
注意,所有题目均为多项选择题。
1. 在JAVA中,下列哪些说法是正确的( A,C)
A.java源文件的扩展名为.java
B.写好的java源程序可以直接运行 //先编译
C.编写的源程序必须先编译后才能运行
D.程序员可以读懂扩展名为.class的文件 //只能读.java
2. 在java中,关于数组描述正确的是(B,D )
A.数组中的索引下标从1开始 //从0开始
B.存储在数组当中的数据都属于同一数据类型
C.通过数组名.length()能获得数组的长度 //有一个length属性可以获取
D.数组的最大索引下标是数组的长度减1
3. 下列标识符哪个是合法的(B,D )
A.class
B.$abc
C.1234
D._name
合法标识法:不能是java关键字,
只能由$,_,或字母开头,数字组成,且开头不能是数字
4. 下面程序的输出结果是什么(D )
System.out.println(arr[0]);
A.编译不通过
B.运行时出错
C.输出null
D.输出0 //默认赋值为0
数组:
Java中的数据类型:
基本数据类型:4类8种
整型:byte,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean
注意:整型默认是int,浮点型默认是double。
long类型要以l或者L标识,float类型要以f或者F标识。
隐式转换:从小到大
boolean类型不参与转换。
byte,short,char – int – long – float - double
强制转换:(数据类型)被转换的数据 float f = (float)12.5; float f = 12.5f;
引用数据类型:类,接口,数组
引用数据类型的数据存储在堆内存中:都有默认值。
整型:0
浮点型:0.0
布尔型:false
字符型:’\u0000’ 空字符
5. 下面哪些赋值语句是正确的?( A,B,D)
A. long test = 012;
B. float f = -412;
C. int other = (int) true; //int类型只能为整数
D. double d = 0x12345678;
E. byte b = 128; //byte类型范围是-128到127
6. 下面哪个语句正确地声明一个整型的二维数组( C,D)
A. int a[][] = new int[][];
B. int b[10][10] = new int[][];
C. int c[][] = new int[10][10];
D. int []d[] = new int[10][10];
7. 下面哪些函数是public void aMethod(){...}的重载函数?(B,D )
A. void aMethod( ){...}
B. public int aMethod(int a, float b){...}
C. public void aMethod (){...}
D. public float aMethod (int m){…}
函数重载:在同一个类中,方法名相同,参数列表不同(对应的类型和个数)。跟返回类型无关。
8. 下列代码运行的结果是(C)
public static void main(String[] args) {
int x = 4;
int y = 5;
if(x++>4 & ++y>5) {
x++;
}
System.out.println("x=" + x + ",y=" + y);
}
A. x=4,y=5
B. x=4,y=6
C. x=5,y=6
D. x=6,y=6
9. 尝试运行下面的代码会发生什么?( C)
public class Test {
public static void main(String[] args) {
boolean m = true;
if (m = false) { //true=false???编译出错
System.out.println("true");
} else {
System.out.println("false");
}
}
}
A. 输出字符串”true”
B. 输出字符串”false”
C. 编译时错误
D. 运行时错误
10. 在Java中,下列语句不能通过编译的有( A,B,D)
A. String s= “join”+ 3;
B. int a= “join”+3;
C. int a= ‘a’+5;
D. float f=5+5.5;
11. 设 a = 3,则表达式 (--a )<<a的结果是(B)
A. 16
B. 8
C. 24
D. 12
12. 下面关于java中包的说法正确的是(A,C,D )
A. 在java中可以使用import语句导入包
B. 在java中可以使用package语句导入包
C. 位于同一个包中的类,不需要导包就可以直接访问
D. 不同的包中可以出现类名相同的类
13. 以下代码段的输出结果是?(A B)
public static void main(String argv[]){
int i;
int j;
outer: for (i = 1; i < 3; i++)
inner: for(j = 1; j < 3; j++) {
if (j == 2)
continue outer;
System.out.println
("Value for i = " + i + " Value for j = " +j);
}
}
}
A. Value for i = 1 value for j = 1
B. Value for i = 2 value for j = 1
C. Value for i = 2 value for j = 2
D. Value for i = 3 value for j = 1
14. 编译并运行以下代码将发生什么? (D)
public static void main(String args[]){
char digit = 'a';
for (int i = 0; i < 10; i++){
switch (digit)
{
case 'x' :
{
int j = 0;
System.out.println(j);
}
default :
{
int j = 100;
System.out.println(j);
}
}
}
int i = j; //此处j变量不能再被使用
System.out.println(i);
}
A. 输出11次100
B. 输出10次100,然后抛出运行期异常
C. 编译错误,因为变量i不能在main() 方法中被声明2次
D. 编译错误,因为变量j不能在main() 方法中被声明2次
E. 以上都不对
15. 下列关于 html 的说法哪些是正确的? ( A,B,)
A. Html就是超文本标记语言的简写,是最基础的网页语言
B. Html代码不用区分大小写
C. Html 是由 xml 发展而来的 //HTML和XML都是从SGML发展而来的文档形式.
D. Html中所有的标签都必须要有开始标签和结束标签
16. 在Java中,用来跳出循环的关键字为(C )
A. Return //返回不执行下面语句
B. Continue // 继续执行下次循环
C. Break //跳出循环
D. exit
17. 下列关于 tcp 协议的描述正确的有(A,B,D )
A. tcp协议是sun公司制定的协议 //它是由ARPANET网的研究机构发展起来的。
B. tcp是基于ip协议的一种连接协议 //TCP层位于IP层之上,应用层之下的传层
C. tcp协议面向无连接
D. tcp协议面向连接
18. 在web页面中,经常需要使用javascript进行表单验证,现假设对用户名的限定为字母数字或下划线,以下的正则表达式哪些可以完成这样的限定?( C)
A. [a-z0-9_]
B. \w
C. [a-zA-Z0-9_]
D. \W
19. 下列关于接口的说法正确的是(A,B,D )
A. 接口中所有的方法都是默认抽象的
B. 接口是一种特殊的java类,所以也可以定义构造函数
C. 接口中的方法前面必须要加上public //编译时可以省略,编译器会加上
D. 一个类只能extends继承一个父类,但是可以实现多个接口
20. 运行以下代码片段,输出结果是?( D )
class X {
Y b = new Y();
X() {
System.out.print("X");
}
}
class Y {
Y() {
System.out.print("Y");
}
}
public class Z extends X { //继承了X类,所以先打印X类中的东西:YX
Y y = new Y(); //创建一个Y类,打印Y
Z() {
System.out.print("Z"); //打印Z
}
public static void main(String[] args) {
new Z();
}
}
A. Z
B. YZ
C. XYZ
D. YXYZ
21. 下面程序的输出结果是什么( D )
Set set= new HashSet(); //父类引用指向子类对象,多态.创建一个HashSet实例
set.add("aaa");
set.add("bbb");
set.add("aaa");
System.out.println(set.size());
A. 编译不通过
B. 运行时出错
C. 输出3
D. 输出2 //add()方法不允许有重复元素
22. 下列选项中关于Java中super关键字的说法正确的是(A,D )
A. super关键字是在子类对象内部指代其父类对象的引用。
B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类。
C. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性。
D. 在子类的构造函数中可以通过super关键字调用父类的构造函数。
23. 下列关于类的继承的描述,正确的有(B,D )
A. 一个类可以同时继承多个父类
B. 一个类可以具有多个子类
C. 子类会自动拥有父类所有的方法
D. 一个类继承另一个类需要使用 extends 关键字
24. 下列代码运行的结果是(D )
public static void main(String[] args) {
int num = 4;
int y = 0;
switch(num) {
case 1:
y++;
case 2:
y+=2;
case 3:
y+=3;
case 4:
y+=4; //Y=4
case 5:
y+=5; //Y=4+5=9
}
System.out.println(y);
}
A. 0
B. 4
C. 5
D. 9
25. 下列选项中关于java中this关键字的说法错误的有(B D )
A. this关键字是一个对象的引用
B. this关键字可以用于引用当前类以外其他类型的对象
C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行
D. this可用于静态方法中
26. 下列关于java中抽象类的说法正确的有(A,D )
A. 含有抽象方法的类必须声明为抽象类
B. 抽象类中不可以有非抽象方法
C. 抽象类中至少需要包含一个抽象方法
D. 抽象类无法实例化
27. 下列关于构造函数的说法正确的是( A,B )
A. 方法名必须与类名相同
B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数
C. 我们在定义一个类时,必须要声明至少一个构造函数
D. 构造函数中不能使用return语句
构造方法:
1:如果你没有给出构造方法,系统会默认给出一个无参构造。
2:如果你给出了构造方法,系统将不会再给出默认的构造方法。
3:子类实例化的时候,会先去调用父类的构造方法。
28. 下面有关Java异常处理的说法错误的是(A, )
A. 一个try块只能有一条catch语句
B. 一个try块中可以不使用catch语句 //可以但是不建议
C. catch块不能单独使用,必须始终与try块在一起
D. finally块不能单独使用,必须始终与try块在一起
try 可以跟多个catch用于处理不同的错误 所以a错误
try 后面可以跟catch 或者 finnally,2者有一个就行,所以b正确
try,catch,finally,主体是try,必须先有try才能使用catch或者finally 所以c,d正确
29. 下列关键字能和try语句一起使用的是( C,D )
A. Final
B. finalize
C. finally
D. catch
30. 编译并运行以下代码的输出结果是?( A )
String s1 = new String("amit");
System.out.println(s1.replace('m','r')); //arit
System.out.println(s1); //amit
String s3 = "arit";
String s4 = "arit";
String s2 = s1.replace('m','r'); //生成新的字符串
System.out.println(s2 == s3); //false
System.out.println(s3 == s4); //true
A. arit
amit
false
true
B. arit
arit
false
true
C. amit
amit
false
true
D. arit
amit
true
true
31. 当select下拉列表的选项发生改变时会触发下面的那个事件? ( C)
A. onclick事件
B. onsubmit事件
C. onchange事件
D. onload事件
32. 编译并运行以下代码将发生什么?( D)
class MyClass {
int x;
MyClass(int i) {
x = i;
}
public static void main(String args[]) {
MyClass m1 = new MyClass(100);
MyClass m2 = new MyClass(100);
if (m1.equals(m2)) { //equals用于比较引用的是不是同一个对象
System.out.println("Both are equal");
} else {
System.out.println("Both are not equal");
}
}
}
A. 代码编译时报出错误提示信息“equals() 方法未定义”
B. 编译通过,抛出运行期异常.
C. 输出Both are equal.
D. 输出Both are not equal
33. 阅读下面的html页面,选出能获取table元素的语句( C ) ??
<html>
<body>
<table name=”mytab”>
<tr>……</tr>
</table>
</body>
</html>
A. document.getElementById("mytab")
B. document.getElementsByName("mytab")[0]
C. document.getElementsByTagName("mytab")[0]
D. document.getElementsByTagName("table")[0]
34. 运行以下的main()方法,结果是?( C)
1 public static void main(String[] args)
2 {
3 String myString;
4 int x = 100;
5
6 if (x < 100) myString = "x is less than 100";
7 if (x > 100) myString = "x is greater than 100";
8 System.out.println(myString.length());
9 }
A. 编译时报出错误提示信息“变量myString没有被初始化”
B. 编译通过
C. 编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度
D. 以上都不对
35. 下列哪些代码可以顺利通过编译和运行? (B, D )
A.Integer i = new Integer('A'); //数字类型
B.Integer i = new Integer("7");
C.Character c = new Character("A"); //char类型
D.Boolean b = new Boolean(null);
E.Integer i = new Integer("0x10"); //运行时异常
36. 下列关于ArrayList、Vector和LinkedList集合的说法正确是有( A,C,D )
A. ArrayList集合底层是数组实现,该集合线程不安全
B. Vector 集合元素的存放是无序的
C. LinkedList集合底层是链表结构,适合做元素的增删操作
D. 这三个集合都是List接口的实现类
37. 下列哪些方法是ArrayList和LinkedList集合中都定义的( C,D )
A. add(Object o)
B. removeFirst() //LinkedList特有方法
C. remove(Object o)
D. add(int index,Object o)
38. 下列关于Java中文件输入输出的说法正确的是(A,B,C,D)
A. 在Java中,文件的输入输出功能是通过流来实现的
B. 如果要把数据写入到一个文件中,需要创建一个输入流对象
C. 字符流在某些方面比如汉字的处理,比字节流更高效
D. 可以通过Reader r = new Reader("c:\\pet.txt")创建一个输入流对象
39. 下列哪个关键字可以用于实现同步?( C)
A. native
B. static
C. synchronized
D. abstract
40. 下列哪些方法可以让线程中断? ( A,D )
A. sleep
B. start
C. notify
D. wait
41. 编译并运行以下代码的结果是?( A )
public class MyThread extends Thread{
public static void main(String args[]){
MyThread mt = new MyThread();
mt.start();
}
public void run(){
try {
sleep(200);
System.out.println("Printing from thread run() method");
} catch ( IOException e) { //不仅仅只出现IO异常,还有 InterruptedException
}
}
}
A. 编译错误.
B. 输出: Printing from thread run() method.
C. 线程先停止运行,在 200毫秒后恢复,并输出 :
Printing from thread run() method.
D. 线程先停止运行,在恰好200毫秒后恢复。
42. 在 awt 中,下列哪个组件可以实现带标题的窗口( C )
A. panel
B. button
C. frame
D. graphics
43. Socket类哪个方法返回Socket对象绑定的本地端口( B )
A. getPort()
B. getLocalPort()
C. getRemotePort()
D. 不存在这个样的方法,因为SocketChannel对象绑定的本地端口对程序是透明的
44. 在 html 中,下面那些标签属于表单标签( A )
A. table
B. radio
C. input
D. marquee
45. 下列哪些集合属于Collection的子类( B,D )
A. TreeMap
B. ArrayList
C. HashTable
D. HashSet
Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--LinkedHashSet
|--TreeSet
Map
|--HashMap
|--Hashtable
|--Properties
|--TreeMap
46. 有关Java中的类和对象,以下说法正确的有(C,D )
A. 同一个类的所有对象都拥有相同的特征和行为
B. 类和对象一样,只是说法不同 //类和对象,不仅说法不同,而且类是抽象的,对象是实例。
C. 对象是具有属性和行为的实体
D. 类规定了对象拥有的特征和行为
47. 下列关于javascript的说法错误的有( B, D)
A. JavaScript是基于对象和事件的脚本语言
B. JavaScript 脚本是java语言的一个分支 //两个不同公司的产品
C. JavaScript 脚本必须要内嵌在 html 语言中使用
D. JavaScript脚本需要编译后ie浏览器才能解释执行 //无需编译,直接运行
48. 下面的javascript语句,哪些是有错的(A ,D )
A. var num = 1 + "abc"; //1和NaN相加。报错
B. if(x=4) alert(1); //把4赋值给x,结果打印1
C. var arr = new Array();
D. var arr = {1,2,3,4}; //js中应该定义为var arr=[1,2,3,4]
49. 下列代码运行的结果是( A)
public static void main(String[] args) {
int num = getNum();
System.out.println(num);
}
public int getNum() {
int num = 1;
return num++;
}
A. 编译时报错
B. 运行时报错
C. 1
D. 2
50. 在Java中,如果要在字符串类型对象s="java"中,得到字符 'v' 出现的位置,可使用下面的那个方法?( C )
A. s.matches('v'); //匹配
B. s.charAt('v'); //根据位置获取位置上的某个字符
C. s.indexOf('v');
D. s.substring('v'); //获取字符中的一部分