传智播客Java就业班入学测试题答案解析【Java面试复习经典】

传智播客java就业班入学测试题解析(天天更新10道题。。。。)

共50道题,每道题2分,总分100分,80分为合格。javascript

(很不幸,在追逐速度的时候,基础不牢实,分数很低啊76分错了13道,建议你们先去如今作一遍,大家能够独立的作一下检验一下se的基础的基础的基础的基础的水平:html

http://www.itcast.cn/news/e181c4f9/8ec4/4bba/9a1f/3f3097e9b29c.shtml下载地址)java

注意,全部题目均为多项选择题。(我当时没看到这一条……都当成单选了,边作还边疑惑,怨本身对待考试的思路不开阔啊,不是全部选择都是单选……) git


 

1.      在JAVA中,下列哪些说法是正确的()程序员

A.java源文件的扩展名为.javaweb

B.写好的java源程序能够直接运行正则表达式

C.编写的源程序必须先编译后才能运行数组

D.程序员能够读懂扩展名为.class的文件
答案:AC  java程序须要经历以下几个步骤才可以被运行浏览器

1创建java源文件,为了让编译器识别是java文件全部扩展名为.java 安全

2编写java代码,你在里面写文言文我也不反对,可是严格意义上来说,不仅仅名称要符合java源文件规范,里面代码也应该是符合java语法的。

3编译器编译源文件:编译器javac经过编译.java文件产生可被java执行的.class文件

4 java执行.class文件

2.      在java中,关于数组描述正确的是(BD

A.数组中的索引下标从1开始 从0开始,计算机地址是从0开始

B.存储在数组当中的数据都属于同一数据类型 考察数组概念

C.经过数组名.length()能得到数组的长度 数组名.length length是它的一个属性

D.数组的最大索引下标是数组的长度减1 数组中有3个元素,角标为 0 1 2 长度为3  最大角标2=3-1;

 

3.      下列标识符哪一个是合法的(BD

A.class 关键字

B.$abc 能够

C.1234  标识符命名规范

D._name 

请思考:main是关键字吗?说明理由 

4.      下面程序的输出结果是什么( D)

int[] arr = new int[10];

System.out.println(arr[0]);

A.编译不经过

B.运行时出错

C.输出null 

D.输出0

 数组顾名思义是数据排成组,它就是用来存储数据的,当咱们定义好它是,它就已经被明确装的是何种类型的数据,而当咱们没有初始化里面元素的时候,java会默认会按照

你指定元素的类型来在角标上初始化相应的默认值。想想String类型的数组若是没有初始化,那它的结果是什么呢?

5.      下面哪些赋值语句是正确的?( abd)

A. long test = 012; 能够

B. float f = -412; 能够

C. int other = (int) true; 布尔类型不能转换为数值类型

D. double d = 0x12345678;能够,在double范围内

E. byte b = 128;超出byte范围-128~127

 这道题考察数据类型声明及转换

请思考:

byte b = 4;

b = 3+7;

System.out.println(b);结果如何呢?为何

byte b = 4;

byte b1 =3;

byte b2 =7;

b = b1+b2;

System.out.println(b);结果如何呢?为何

6.      下面哪一个语句正确地声明一个整型的二维数组(CD )

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];

 数组定义格式问题:int arr[][]=new arr[2][3] or int arr[][]=new arr[2][];左边部分[]扔在arr两侧都可

7.      下面哪些函数是public void aMethod(){...}的重载函数?( BD)

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

 让咱们分析运算在内存中的过程,x要先完成自身的加1,可是旁边又有比较运算,它就把本身在内存中预存一份原值,而后执行本身的加1等于4+1=5

而后本身加完了,把预存在预存中的原值4取出来参与比较运算,4>4false,此时x值为5因此直接执行输出,y同理

9.      尝试运行下面的代码会发生什么?(B )

public class Test {

  public static void main(String args[]){

       boolean m = true;

       if (m =false) {

           System.out.println("true");

       } else{

           System.out.println("false");

       }

    }

}

A. 输出字符串”true”

B. 输出字符串”false”

C. 编译时错误

D. 运行时错误

 咱们要明白if(){}语句中条件句中到底装的是什么,它里面判断的无非就是真假,true false,这里m做为一个boolean变量,在if中将它从新赋值为false

因此至关于if(false),故执行else中的

10.  在Java中,下列语句不能经过编译的有( )bd

A. String s= “join”+ 3;  +先后有字符串 会将其做为字符串参与链接                 

B. int a= “join”+3;字符串没法转换为int类型

C. int a= ‘a’+5; 能够的,在int范围以内

D. float f=5+5.5;小数java默认为double类型,没法从大变小,对于数据类型,一句话:能够鸡犬升天,不能委曲求全

 

11.  设 a = 3,则表达式 (--a )<<a的结果是(B )

A. 16                      

B. 8

C. 24                      

D. 12

 计算过程:

按照运算符的优先级,小括号优先级最高,先执行--a

--a运算特色是在参与其余运算以前将本身-1,再用新值参与其余运算,a此时为2

也就是2<<2  2的二进制为10,左移两位1000,因此答案为8.

12.  下面关于java中包的说法正确的是( acd)

A. 在java中可使用import语句导入包 必须对啊import javax.servlet.*;

B. 在java中可使用package语句导入包 你妹。这是打包,package com.lan.huyou 记住就得了

C. 位于同一个包中的类,不须要导包就能够直接访问 是的 你能够试一试

D. 不一样的包中能够出现类名相同的类 必须能够啊 要否则你的机器上怎么可能编写Person,早都被老师用了

 

13.  如下代码段的输出结果是?( a b)

    public static void main(String args[]){

       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

 先输出1 1 而后是2 1

第一次循环时 i=1 j=1 这个不难理解 第二次 i=2 而j虽然也自加为2 可是没有执行完 因此放在临时内存的2被舍弃 仍是保留1

14.  编译并运行如下代码将发生什么? ( E)

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;

   System.out.println(i);  

}

A. 输出11次100

B. 输出10次100,而后抛出运行期异常

C. 编译错误,由于变量i不能在main() 方法中被声明2次

D. 编译错误,由于变量j不能在main() 方法中被声明2次

E. 以上都不对

 j是局部变量,在switch外是无法访问到的,编译出错提示找不到j变量

15.  下列关于 html 的说法哪些是正确的? (  ab)

A. Html就是超文本标记语言的简写,是最基础的网页语言

B. Html代码不用区分大小写

C. Html 是由 xml 发展而来的 既生瑜何生亮~~两就不是一个玩意~~

D. Html中全部的标签都必需要有开始标签和结束标签 nonono <input type="text" name="test"/>

 

16.  在Java中,用来跳出循环的关键字为( c)

A. return

B. continue

C. break

D. exit

 

17.  下列关于 tcp 协议的描述正确的有( bd)

A. tcp协议是sun公司制定的协议

B. tcp是基于ip协议的一种链接协议

C. tcp协议面向无链接

D. tcp协议面向链接 必须稳定

 

18.  在web页面中,常常须要使用javascript进行表单验证,现假设对用户名的限定为字母数字或下划线,如下的正则表达式哪些能够完成这样的限定?(bc)

A. [a-z0-9_]

B. \w 

C. [a-zA-Z0-9_] 

D. \W 

 

19.  下列关于接口的说法正确的是(ad)

A. 接口中全部的方法都是默认抽象的

B. 接口是一种特殊的java类,因此也能够定义构造函数 nonono

C. 接口中的方法前面必需要加上public 没什么意义

D. 一个类只能extends继承一个父类,可是能够实现多个接口

 

20.  运行如下代码片断,输出结果是?( D )

class X {

    Y b = new Y(); 2运行到这里,执行y的构造函数输出Y

    X(){    

            System.out.print("X");  3这里 输出X

    }

}

 

class Y {

    Y(){

            System.out.print("Y");

    }

}

 

public class Z extends X {//继承父类的全部的成员变量和成员方法也就是说 X中的b对象也被继承到子类中

    

Y y = new Y();  4 输出Y

    Z(){

                System.out.print("Z");5 输出 Z

    }

 

    public static void main(String[] args) {

           new Z(); 1  Z的实例对象

    }

}

A. Z

B. YZ

C. XYZ

D. YXYZ

 对继承的中构造函数的考察,会先实现父类 再实现子类

21.  下面程序的输出结果是什么(  D)

Set set= new HashSet();

set.add("aaa");

set.add("bbb");

set.add("aaa");

System.out.println(set.size());

A. 编译不经过

B. 运行时出错

C. 输出3

D. 输出2

 一看到set想到set的特色是元素不可重复 无序 选D 编译时会有警告提示,使用泛型指定类型便可。

22.  下列选项中关于Java中super关键字的说法正确的是(AD)

A. super关键字是在子类对象内部指代其父类对象的引用。super.getClass()

B. super关键字不只能够指代子类的直接父类,还能够指代父类的父类。

C. 子类经过super关键字只能调用父类的方法,而不能调用父类的属性。

D. 在子类的构造函数中能够经过super关键字调用父类的构造函数

 

23.  下列关于类的继承的描述,正确的有(BD )

A. 一个类能够同时继承多个父类 java中不支持此种方式实现多继承

B. 一个类能够具备多个子类

C. 子类会自动拥有父类全部的方法 //自动拥有父类全部的非私有方法

D. 一个类继承另外一个类须要使用 extends 关键字

 

24.  下列代码运行的结果是(  D)

public static void main(String[] args) {

   

    int num = 4;

    int y = 0;

    switch(num){

       case1:

           y++;

       case2:

           y+=2; 

       case3:

           y+=3;

       case4:

           y+=4;

       case5:

           y+=5;

    }

    System.out.println(y);

}

A. 0

B. 4

C. 5

D. 9

 没有break来跳出,形成case穿透

25.  下列选项中关于java中this关键字的说法错误的有( AD) 

A. this关键字是一个对象的引用 this能够表明当前类

B. this关键字能够用于引用当前类之外其余类型的对象

C. this可用于构造函数中,调用类自己重载的构造函数,可是必须写在首行

D. this可用于静态方法中 this是对象的引用,静态方法没有对象,没有爹啊 因此不能在静态方法中引用this

 

26.  下列关于java中抽象类的说法正确的有(  AD) 

A. 含有抽象方法的类必须声明为抽象类

B. 抽象类中不能够有非抽象方法

C. 抽象类中至少须要包含一个抽象方法

D. 抽象类没法实例化 在抽象类中实例化有屁用

 

27.  下列关于构造函数的说法正确的是( ABD)

A. 方法名必须与类名相同

B. 使用new关键字建立对象时,java虚拟机会自动调用构造函数 //调用默认空参的构造函数,若是类中定义了带参的,那么须要在new的时候提供参数

C. 咱们在定义一个类时,必需要声明至少一个构造函数

D. 构造函数中不能使用return语句 构造函数返回值是对象,可是java规定不能够显式返回该对象

 

28.  下面有关Java异常处理的说法错误的是(A)

A. 一个try块只能有一条catch语句

B. 一个try块中能够不使用catch语句 能够

C. catch块不能单独使用,必须始终与try块在一块儿 try 和 catch是好基友

D. finally块不能单独使用,必须始终与try块在一块儿 

 

29.  下列关键字能和try语句一块儿使用的是( CD )

A. final

B. finalize

C. finally

D. catch

 

30.  编译并运行如下代码的输出结果是?(  A)

String s1 = new String("amit");

System.out.println(s1.replace('m','r')); replace方法返回一个字符串,这个字符串固然是新的了,不会影响原来的s1

System.out.println(s1);

String s3 = "arit";s3做为基础类型 被赋值为“arit”

String s4 = "arit";

String s2 = s1.replace('m','r');//s2 :arit 这里的s2是引用变量 指向 replace方法返回回来的String对象

System.out.println(s2 == s3); //一个基础类型的变量和一个引用类型的变量相比 那确定是不等

System.out.println(s3 == s4); //两个基础类型变量的比较

 

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)) {

           System.out.println("Bothare equal");

       }else {

           System.out.println("Bothare not equal");

       }

    }

}

A. 代码编译时报出错误提示信息“equals() 方法未定义”

B. 编译经过,抛出运行期异常.

C. 输出Both are equal.

D. 输出Both are not equal

 查看object的equals方法,就一目了然了

33.  阅读下面的html页面,选出能获取table元素的语句(BD )

<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()方法,结果是?(AC )

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.  下列哪些代码能够顺利经过编译和运行? ( ABD )

A.Integer i = new Integer("A");

B.Integeri = new Integer("7");

C.Characterc = new Character("A");

D.Booleanb = new Boolean(null);

E.Integeri = new Integer("0x10");

 

36.  下列关于ArrayList、Vector和LinkedList集合的说法正确是有(  ACD)

A. ArrayList集合底层是数组实现,该集合线程不安全

B. Vector 集合元素的存放是无序的

C. LinkedList集合底层是链表结构,适合作元素的增删操做

D. 这三个集合都是List接口的实现类

 

37.  下列哪些方法是ArrayList和LinkedList集合中都定义的(ACD )

A. add(Object o)

B. removeFirst()

C. remove(Object o)

D. add(int index,Object o)

 

38.  下列关于Java中文件输入输出的说法正确的是( AC)

A. 在Java中,文件的输入输出功能是经过流来实现的

B. 若是要把数据写入到一个文件中,须要建立一个输入流对象 输出流

C. 字符流在某些方面好比汉字的处理,比字节流更高效

D. 能够经过Reader r = new Reader("c:\\pet.txt")建立一个输入流对象 能够看一下Reader的构造方法

 

39.  下列哪一个关键字能够用于实现同步?( C )

A. native

B. static

C. synchronized

D. abstract

 

40.  下列哪些方法可让线程中断? ( AD )

A. sleep

B. start

C. notify

D. wait

 

41.  编译并运行如下代码的结果是?(A)

publicclass MyThread extends Thread{

    public static void main(String args[]){

       MyThread mt = new MyThread();

       mt.start();// new Thread(mt).start();

    }

 

    public void run(){

       try {

               sleep(200);

               System.out.println("Printing from thread run() method");

       } catch ( IOException e) {

          

       }

    }

}

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 中,下面那些标签属于表单标签( BC )

A. table

B. radio

C. input

D. marquee

 

45.  下列哪些集合属于Collection的子类(BD )

A. TreeMap

B. ArrayList

C. HashTable

D. HashSet

 

46.  有关Java中的类和对象,如下说法正确的有(  ACD)

A. 同一个类的全部对象都拥有相同的特征和行为

B. 类和对象同样,只是说法不一样

C. 对象是具备属性和行为的实体

D. 类规定了对象拥有的特征和行为

 

47.  下列关于javascript的说法错误的有( BC)

A. JavaScript是基于对象和事件的脚本语言

B. JavaScript 脚本是java语言的一个分支

C. JavaScript 脚本必需要内嵌在 html 语言中使用//也能够外链嘛

D. JavaScript脚本须要编译后ie浏览器才能解释执行

 

48.  下面的javascript语句,哪些是有错的(  D)

A. var num = 1 + "abc";

B. if(x=4) alert(1);

C. var arr = new Array(); 有多种定义放式 经过array对象,或者直接定义

D. var arr = {1,2,3,4}; 语法问题,[ ]

 

49.  下列代码运行的结果是( A )

public static void main(String[] args) {

    int num = getNum();//鬼调用这个方法啊?在静态函数中不能引用非静态的方法,得给这个方法一个承载体

//能够new 类().getNum();输出结果为1 

 

    System.out.println(num);

}

 

public int getNum() {

       int num = 1;

 

return num++;
}  

A. 编译时报错

B. 运行时报错

C. 1

D. 2

 

50.  在Java中,若是要在字符串类型对象s="java"中,获得字符 'v' 出现的位置,可以使用下面的那个方法?( B)

A. s.matches('v');

B. s.charAt('v');

C. s.indexOf('v');方法名称就是 “x”这个字符在s的哪一个位置

D. s.substring('v');