• 传智播客java就业班入学测试题解析(每天更新10道题。。。。) 共50道题,每道题2分,总分100分,80分为合格。 (很不幸,在追逐速度的时候,基础不牢实,分数很低啊76分错了13道,建议大家先去现在做一遍,你们...

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

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

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

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

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


     

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

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

    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');

    展开全文
  • 【Java面试复习经典】传智播客Java就业班入学测试题及答案解析(2014年版)  共50道题,每道题2分,总分100分,80分为合格。  注意,题目有多选,也有单选。请认真作答。 =======================================...

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

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

      注意,题目有多选,也有单选。请认真作答。

    =============================================================================
    【Java面试复习经典】传智播客Java就业班入学测试题及答案解析(2014年版)
    
        共50道题,每道题2分,总分100分,80分为合格。
    
        注意,题目有多选,也有单选。请认真作答。
    
    对应试者的忠告:
    
        传智播客从办学一来,一直在IT培训领域保持着良好的口碑,之所以能做到这么好的口碑,主要得益于过硬的教学质量以及学员的高就业率。
    
        本测试题的目的在于帮助学员检测自己的java基础,因为公司要保证教学质量,光有名师授课是远远不够的,还需要学员们都具备一个基本的java基础.
    
        试想一下,如果学员入学前我们不进行测试,那么必然会导致学生的技术水平参差不齐,再好的老师也无法把这样的班教好。
    
        希望参加测试的学员能本着对自己负责的态度,独立完成这套测试题。
    
        如果您试图通过找人帮忙做题等其他途径来完成这套测试题,我们劝您千万别这样做,因为这样是害了自己。
    
        即使通过测试,顺利进入就业班的学习,同样是跟不上老师的进度,不会有一个好的结果。
    
        如果您觉得完成这套测试题非常有难度,那也没有关系,因为我们针对基础不好的学员专门开设了java基础与加强班,您可以通过短时间的培训,打下一个坚实的基础,再继续参加我们就业班的培训。
    
    【Java面试复习经典】
    -----------------------------------------------------------------------------
    1. 在JAVA中,下列哪些说法是正确的(AC)
    
        A. java源文件的扩展名为.java
        B. 写好的java源程序可以直接运行
        C. 编写的源程序必须先编译后才能运行
        D. 程序员可以读懂扩展名为.class的文件
        
        java程序需要经历如下几个步骤才能够被运行:
            1.建立java源文件,为了让编译器识别是java文件所有扩展名为.java。
            2.编写java代码,你在里面写文言文我也不反对,但是严格意义上来讲,不单单名称要符合java源文件规范,里面代码也应该是符合java语法的。
            3.编译器编译源文件:编译器javac通过编译.java文件产生可被java执行的.class文件。
            4.java执行.class文件。
    -----------------------------------------------------------------------------
    2. 下列标识符哪个是合法的(BD)**
    
        A. class
        B. $abc
        C. 1234
        D. _name
    
        标识符(掌握)
      (1)就是给类、接口、方法、变量等起名字的字符序列。
      (2)组成规则:
        A:可由英文大小写字母组成;
        B:可由数字组成;
        C:可由$和_组成;
        D:可由中文组成,但是不建议用中文!
      (3)注意事项:
        A:不能以数字开头;
        B:不能是java中的关键字;
        C:java语言严格区分大小写。
    -----------------------------------------------------------------------------
    3. 下面哪些赋值语句是正确的?(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
    -----------------------------------------------------------------------------
    4. 在Java中,下列语句不能通过编译的有(BD)
    
        A. String s = “join” + 3;
        B. int a = “join” + 3;
        C. int a = ‘a’ + 5;
        D. float f = 5 + 5.5;        // 小数java默认为double类型,无法从大变小,对于数据类型,一句话:可以鸡犬升天,不能委曲求全。
    -----------------------------------------------------------------------------
    5. 设 a = 3,则表达式 (--a)<<a的结果是(B)
    
        A. 16
        B. 8
        C. 24
        D. 12
    -----------------------------------------------------------------------------
    6. 下列代码运行的结果是(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
    -----------------------------------------------------------------------------
    7. 尝试运行下面的代码会发生什么?(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中的代码。
    -----------------------------------------------------------------------------
    8. 编译并运行以下代码将发生什么?(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变量
    -----------------------------------------------------------------------------
    9.    class Demo {
            public static int fun(int c) {
                return c += 2;
            }
            public static void main(String[] args) {
                int temp = fun(2);
                System.out.println(temp);
            }
        }
        
        A. 2
        B. 4
        C. 6
        D. 8
        
        B
    -----------------------------------------------------------------------------
    10. 下面哪些函数是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) {...}
    -----------------------------------------------------------------------------
    11. 在java中,关于数组描述正确的是(BD)
    
        A. 数组中的索引下标从1开始
        B. 存储在数组当中的数据都属于同一数据类型
        C. 通过数组名.length()能获得数组的长度        // 数组名.length    length是数组的一个属性
        D. 数组的最大索引下标是数组的长度减1
    -----------------------------------------------------------------------------
    12. 下面程序的输出结果是什么(D)
    
        int[] arr = new int[10];
        System.out.println(arr[0]);
    
        A. 编译不通过
        B. 运行时出错
        C. 输出null
        D. 输出0
        
        数组顾名思义是数据排成组,它就是用来存储数据的,
        当我们定义好它时,它就已经被明确装的是何种类型的数据,
        而当我们没有初始化里面元素的时候,java会默认会按照你指定元素的类型来在角标上初始化相应的默认值。
        想一想String类型的数组如果没有初始化,那它的结果是什么呢? 答:是null。因为String是一个类类型,是引用数据类型。
    -----------------------------------------------------------------------------
    13. 下面哪个语句正确地声明一个整型的二维数组(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两侧均可。
    -----------------------------------------------------------------------------
    14. 以下代码输出是(D)
    
        class Demo {
            public static void main(String[] args) {
                int i = 0;
                int sum = 0;
                while (i <= 10) {
                    i++;
                    if (i % 2 != 0)
                        continue;
                    sum += i;
                }
                System.out.println(sum);
            }
        }
    
        A. 55
        B. 45
        C. 35
        D. 30
        
        0 + 2 + 4 + 6 + 8 + 10
    -----------------------------------------------------------------------------
    15. 和下面代码能完成相同的选项是(B)
    
        class Demo {
            public static void main(String[] args) {
                int i = 1;
                int sum = 0;
                while (i <= 100) {
                    if (i % 2 == 0) {
                        sum = sum + i;
                    }
                    i++;
                }
                System.out.println(sum);
            }
        }
    
        A. for (int x = 1; x <= 100; x++) { sum = sum + x; }
        B. for (int x = 0; x <= 100; x+=2) { sum = sum + x; }
        C. for (int x = 1; x <= 100; x+=2) { sum = sum + x; }
        D. 上述全对
    -----------------------------------------------------------------------------
    16. 下列有关类、对象和实例的叙述,正确的是哪一项?(D)
    
        A. 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
        B. 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
        C. 类是对象的抽象,对象是类的具体化,实例是类的另一个名称
        D. 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
    -----------------------------------------------------------------------------
    17. 下面关于java中包的说法正确的是(ACD)
    
        A. 在java中可以使用import语句导入包
        B. 在java中可以使用package语句导入包
        C. 位于同一个包中的类,不需要导包就可以直接访问
        D. 不同的包中可以出现类名相同的类
    -----------------------------------------------------------------------------
    18. 下列有关抽象类的叙述正确的是哪项?(C)**
    
        A. 抽象类中一定含有抽象方法
        B. 抽象类既能被实例化也能被继承
        C. 抽象类的声明必须包含abstract关键字
        D. 抽象类中不能有构造方法
    -----------------------------------------------------------------------------
    19. 下列有关接口的叙述错误的是哪项?(D)**
    
        A. 接口中只能包含抽象方法和常量
        B. 一个类可以实现多个接口
        C. 类实现接口时必须实现其中的方法
        D. 接口不能被继承
    -----------------------------------------------------------------------------
    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 {
            Y y = new Y();
    
            Z() {
                System.out.print("Z");
            }
    
            public static void main(String[] args) {
                new Z();
            }
        }
    
        A. Z
        B. YZ
        C. XYZ
        D. YXYZ
        
        A:成员变量的问题
            int x = 10; //成员变量x是基本类型
            Student s = new Student(); //成员变量s是引用类型
        B:一个类的初始化过程
            先进行成员变量的初始化:
                默认初始化
                显示初始化
                构造方法初始化
        C:子父类的初始化(分层初始化)
            先进行父类初始化,然后进行子类初始化。
                
            结果:
                YXYZ
        
            问题:
                虽然子类中的构造方法默认有一个 super();
                但初始化的时候,不是按照那个顺序进行的。
                而是按照分层初始化进行的。
                super(); 它仅仅表示要先初始化父类数据,再初始化子类数据。
    -----------------------------------------------------------------------------
    21. 下列关于类的继承的描述,正确的有(BD)
    
        A. 一个类可以同时继承多个父类
        B. 一个类可以具有多个子类
        C. 子类会自动拥有父类所有的方法        //自动拥有父类所有的非私有方法
        D. 一个类继承另一个类需要使用extends关键字
    -----------------------------------------------------------------------------
    22. 下列选项中关于java中this关键字的说法错误的有(BD)
    
        A. this关键字是一个对象的引用        // this可以代表当前类
        B. this关键字可以用于引用当前类以外其他类型的对象        // this只代表本类对象
        C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行
        D. this可用于静态方法中            // this是对象的引用,静态方法没有对象,没有爹啊 所以不能在静态方法中引用this(静态方法不能与this同时使用)
    -----------------------------------------------------------------------------
    23. 下列关于构造函数的说法正确的是(AB)
    
        A. 方法名必须与类名相同
        B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数    //调用默认空参的构造函数,如果类中定义了带参的,那么需要在new的时候提供参数
        C. 我们在定义一个类时,必须要声明至少一个构造函数
        D. 构造函数中不能使用return语句    // 构造函数返回值是对象,但是java规定不可以显式返回该对象
    -----------------------------------------------------------------------------
    24. 编译并运行以下代码将发生什么?(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)) {    // 继承Object类,比较的是对象的地址值
                    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
    -----------------------------------------------------------------------------
    25. 运行以下的main()方法,结果是?(AC)**
    
        public static void main(String[] args) {
            String myString;
            int x = 100;
            if (x < 100) 
                myString = "x is less than 100";
            if (x > 100) 
                myString = "x is greater than 100";
            System.out.println(myString.length());
        }
    
        A. 编译时报出错误提示信息“变量myString没有被初始化”
        B. 编译通过
        C. 编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度
        D. 以上都不对
    -----------------------------------------------------------------------------
    26. 有如下代码,请问哪些是正确的?(ACD)**
    
        class ClassA {}
        class ClassB extends ClassA {}
        class ClassC extends ClassA {}
        以及
        ClassA p0 = new ClassA();
        ClassB p1 = new ClassB();
        ClassC p2 = new ClassC();
        ClassA p3 = new ClassB();
        ClassA p4 = new ClassC();
    
        A.p0 = p1; // 赋值操作,把子类的地址用父类来接收,没问题
        B.p1 = p2; // 赋值操作,把子类的地址用其他子类类来接收,有问题
        C.p1 = (ClassB)p3; // 赋值操作,把父类的地址强转为子类的地址再用父类来接收,没问题
        D.p2 = (ClassC)p4; // 赋值操作,把父类的地址强转为子类的地址再用父类来接收,没问题
    -----------------------------------------------------------------------------
    27. 关于继承, 以下说法正确的是:(ACD)
    
        A.Java中只支持单继承, 一个类只能继承一个类, 但是可以有多个子类
        B.一个类如果没有自己写的无参构造方法, 那么子类将无法继承
        C.子类可以当父类用, 父类不可以当子类用
        D.子类重写父类方法时访问权限不能更低
    -----------------------------------------------------------------------------
    28. 编译并运行以下代码的输出结果是?(C)
    
        String s1 = new String("amit"); // 字符串常量池
        System.out.println(s1.replace('m', 'r')); // replace方法返回一个字符串,这个字符串当然是新的了,不会影响原来的s1
        System.out.println(s1);
        String s3 = "arit";
        String s4 = "arit";
        String s2 = s1.replace('m', 'r');
        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
    -----------------------------------------------------------------------------
    29. 下列哪些代码可以顺利通过编译和运行?(ABD)**
    
        A.Integer i = new Integer('A');
        B.Integer i = new Integer("7");        // 把字符串转为int类型,注意这个字符串必须是由数字字符组成。
        C.Character c = new Character("A");
        D.Boolean b = new Boolean(null);       // 在Boolean的构造函数中,除了"true"和"false"之外的字符串虽然不会造成编译错误,但是会返回false。
        E.Integer i = new Integer("0x10");
        
        因为这个Boolean的构造函数是根据输入的值判断的是true还是false或者输入的值是"true"或"false";
        如果输入的值是Boolean类型true,则返回true,否则返回false。
        如果输入的值是String类型的"true"或"false",
        那么这个构造函数会判断输入的是否为 "" 为空,也是返回false,
        不为空则进行长度判断,长度如果不满足true的长度,那么也是返回false,否则返回true;
        如果长度满足条件则进行对该字符串的每个字符进行编码转换,然后继续判断每个字符是否满足条件,也是返回Boolean类型。
        如果满足条件则将进行无视大小写的判断返回的也是Boolean类型的。
        原理就是这样。
    
        所以说,你这个实例化对象Boolean传入的"null"不满足Boolean类型的true,也没满足字符串的"true",所以返回的是false。
    -----------------------------------------------------------------------------
    30. 在Java中,如果要在字符串类型对象s="java"中,得到字符 'v' 出现的位置,可使用下面的那个方法?(C)
    
        A. s.matches('v');
        B. s.charAt('v');      // 返回指定索引处的 char 值
        C. s.indexOf('v');     // 返回指定字符在此字符串中第一次出现处的索引
        D. s.substring('v');
    -----------------------------------------------------------------------------
    31. 下列关于ArrayList、Vector和LinkedList集合的说法正确是有(ACD)
    
        A. ArrayList集合底层是数组实现,该集合线程不安全
        B. Vector 集合元素的存放是无序的
        C. LinkedList集合底层是链表结构,适合做元素的增删操作
        D. 这三个集合都是List接口的实现类
    -----------------------------------------------------------------------------
    32. 下面程序的输出结果是什么(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 编译时会有警告提示,使用泛型指定类型即可。
    -----------------------------------------------------------------------------
    33. 下列哪些方法是ArrayList和LinkedList集合中都定义的(ACD)**
    
        A. add(Object o)
        B. removeFirst()        // LinkedList所特有的方法
        C. remove(Object o)
        D. add(int index, Object o)
    -----------------------------------------------------------------------------
    34. 下列哪些集合属于Collection体系的子类(BD)**
    
        A. TreeMap
        B. ArrayList
        C. Hashtable
        D. HashSet
    -----------------------------------------------------------------------------
    35. 下面有关Java异常处理的说法错误的是(A)
    
        A. 一个try块只能有一条catch语句
        B. 一个try块中可以不使用catch语句
        C. catch块不能单独使用,必须始终与try块在一起
        D. finally块不能单独使用,必须始终与try块在一起
    -----------------------------------------------------------------------------
    36. 下列关键字能和try语句一起使用的是(CD)
    
        A. final
        B. finalize
        C. finally
        D. catch
    -----------------------------------------------------------------------------
    37. 下面程序的运行结果是(D)
    
        FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);
        fos.write(“abc”);     // fos.write(“abc”.getBytes());
        fos.close();
    
        A.在C盘创建文件demo.txt,但文件是空的
        B.在C盘创建文件demo.txt,并写入数据abc
        C.将C盘已有的文件demo.txt中追加写入abc
        D.编译失败
    -----------------------------------------------------------------------------
    38. 下列关于Java中文件输入输出的说法正确的是(AC)
    
        A. 在Java中,文件的输入输出功能是通过流来实现的
        B. 如果要把数据写入到一个文件中,需要创建一个输入流对象
        C. 字符流在某些方面比如汉字的处理,比字节流更方便
        D. 可以通过Reader r = new Reader("c:\\pet.txt")创建一个输入流对象
    -----------------------------------------------------------------------------
    39. 请看如下代码:
    
        BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt"));
        BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\b.txt"));
        String line = null;
        while ((line = br.readLine()) != null) {
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        bw.close();
        br.close();
    
        它表达的意思是?(A)
        A. 把c盘目录下的a.txt文件内容复制到d盘目录下的b.txt
        B. 把d盘目录下的b.txt文件内容复制到c盘目录下的a.txt
        C. 读取c盘目录下a.txt文件,输出在控制台
        D. 把控制台的内容写入到d盘目录下的b.txt文件中
    -----------------------------------------------------------------------------
    40. 关于泛型的说法正确的是(ABC)
    
        A.泛型是JDK1.5出现的新特性
        B.泛型是一种安全机制
        C.使用泛型避免了强制类型转换
        D.使用泛型必须进行强制类型转换
    -----------------------------------------------------------------------------
    41. 关于方法的递归算法,说法正确的是(ABD)
    
        A.递归就是方法自己调用自己
        B.递归的次数不能过大,否则会导致栈内存溢出
        C.使用递归算法,方法必须有返回值
        D.构造方法不可以使用递归算法
    -----------------------------------------------------------------------------
    42. 下列哪个关键字可以用于实现同步?(C)
    
        A. native
        B. static
        C. synchronized
        D. abstract
    -----------------------------------------------------------------------------
    43. 下列哪些方法可以让线程中断?(AD)
    
        A. sleep
        B. start
        C. notify
        D. wait
    -----------------------------------------------------------------------------
    44. 启动线程调用哪个方法?(B)
    
        A. run()
        B. start()
        C. play()
        D. go()
    -----------------------------------------------------------------------------
    45. 在 awt 中,下列哪个组件可以实现带标题的窗口(C)
    
        A. Menu
        B. Button
        C. Frame
        D. TextField
    -----------------------------------------------------------------------------
    46. 编写Button组件的事件处理类时,需要实现哪个接口?(B)**
    
        A. ItemListener
        B. ActionListener
        C. ButtonListener
        D. WindowListener
    -----------------------------------------------------------------------------
    47. 下面哪项不是TCP的特点?(B)
    
        A.面向连接
        B.数据不可靠
        C.传输速度慢
        D.对数据大小无限制
        
        解析:
        最大的坏处就是PPPoE导致MTU变小了,以太网的MTU是1500,再减去PPP的包头包尾的开销(8Bytes),就变成1492。
    
        UDP 包的大小就应该是 1492 - IP头(20) - UDP头(8) = 1464(BYTES)
        TCP 包的大小就应该是 1492 - IP头(20) - TCP头(20) = 1452(BYTES)
    
        目前大多数的路由设备的MTU都为1500
        我对上面的理解是:如果我们定义的TCP和UDP包小于1452,1464,那么我们的包在IP层就不用分包了,这样传输过程中就避免了在IP层组包发生的错误。
        如果使用UDP协议,如果IP层组包发生错误,那么包就会被丢弃,UDP不保证可靠传输。
        但是TCP发生组包错误时,该包会被重传,保证可靠传输。
        所以,我们在用Socket编程时,包的大小设定不一定非要小于1400,UDP协议要求包小于64K,TCP没有限定。
    -----------------------------------------------------------------------------
    48. TCP协议的服务器的Socket对象是下面哪一个类?(C)
    
        A.Socket
        B.InputStream
        C.ServerSocket
        D.OutputStream
    -----------------------------------------------------------------------------
    49. 正则表达式中可以表示所有的单词字符信息的是下面哪个规则(BD)
    
        A. \W
        B. \w
        C. [a-zA-Z]
        D. [a-zA-Z_0-9]
    -----------------------------------------------------------------------------
    50. 获取Class类型的对象的三种方式是(ABD)
    
        A. Object类的getClass()方法
        B. class静态属性(数据类型的静态属性class)(任意数据类型都具备一个class静态属性)
        C. 自己创建Class对象
        D. Class类的forName()静态方法
        
        解析:
        // 1. 根据给定的类名来获得:用于类加载
        String classname = "cn.itcast.reflect.Person"; // 来自配置文件
        Class clazz = Class.forName(classname); // 此对象代表Person.class
    
        // 2. 如果拿到了对象,不知道是什么类型:用于获得对象的类型
        Object obj = new Person();
        Class clazz1 = obj.getClass(); // 获得对象具体的类型
    
        // 3. 如果是明确地获得某个类的Class对象:主要用于传参
        Class clazz2 = Person.class; 
    =============================================================================

     

    我的GitHub地址:https://github.com/heizemingjun
    我的博客园地址:http://www.cnblogs.com/chenmingjun
    我的蚂蚁笔记博客地址:http://blog.leanote.com/chenmingjun
    Copyright ©2018 黑泽明军
    【转载文章务必保留出处和署名,谢谢!】
    展开全文
  • 传智播客java就业班入学测试题 共50道题,每道题2分,总分100分,80分为合格。 注意,所有题目均为多项选择题。   对应试者的忠告: 传智播客从办学一来,一直在IT培训领域保持着良好的口碑,之所以能做到这

    ---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

     

    传智播客java就业班入学测试题

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

    注意,所有题目均为多项选择题。

     

    对应试者的忠告:

    传智播客从办学一来,一直在IT培训领域保持着良好的口碑,之所以能做到这么好的口碑,主要得益于过硬的教学质量以及学员的高就业率。

    本测试题的目的在于帮助学员检测自己的java基础,因为公司要保证教学质量,光有名师授课是远远不够的,还需要学员们都具备一个基本的java基础,试想一下,如果学员入学前我们不进行测试,那么必然会导致学生的技术水平参差不齐再好的老师也无法把这样的班教好

    希望参加测试的学员能本着对自己负责的态度,独立完成这套测试题。

    如果您试图通过找人帮忙做题等其他途径来完成这套测试题,我们劝您千万别这样做,因为这样是害了自己。即使通过测试,顺利进入就业班的学习,同样是跟不上老师的进度,不会有一个好的结果。

    如果您觉得完成这套测试题非常有难度,那也没有关系,因为我们针对基础不好的学员专门开设了 java基础与加强班,您可以通过短时间的培训,打下一个坚实的基础,再继续参加我们就业班的培训。

     

    1. JAVA中,下列哪些说法是正确的(AC 

    Ajava源文件的扩展名为.java

    B.写好的java源程序可以直接运行//必须编译

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

    D.程序员可以读懂扩展名为.class的文件//字节码

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

    A.数组中的索引下标从1开始//下标从0开始

    B.存储在数组当中的数据都属于同一数据类型//在定义的时候就已经确定了数据类型

    C.通过数组名.length()能获得数组的长度//通过.length

    D.数组的最大索引下标是数组的长度减1

     

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

    Aclass //不能是关键字

    B$abc

    C1234//不能以数字开头

    D_name 

     

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

    int[] arr = new int[10];

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

    A.编译不通过

    B.运行时出错

    C.输出null

    D.输出0

     

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

    A. long test = 012;

    B. float f = -412;

    C. int other = (int) true;//Boolean类型不能强转

    D. double d = 0x12345678;

    E. byte b = 128;//-128~127

     

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

     

    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

     

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

    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. 编译时错误//if括号的值只能是条件语句

    D. 运行时错误

     

    10. Java中,下列语句不能通过编译的有(BD )

    A. String s= “join+ 3;                       

    B. int a= “join+3;//字符串不能直接赋值给int类型变量

    C. int a= ‘a+5;

    D. float f=5+5.5;//+用于数值运算都是转成int来运算,结果是int型需转型

     

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

    A. 16                       

    B. 8

    C. 24                       

    D. 12

     

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

    A. 在java中可以使用import语句导入包

    B. 在java中可以使用package语句导入包//表示将要存放的包的位置

    C. 位于同一个包中的类,不需要导包就可以直接访问

    D. 不同的包中可以出现类名相同的类

     

    13. 以下代码段的输出结果是?(AB)

    public class MyClass{

    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. 编译并运行以下代码将发生什么? (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. 输出11100

    B. 输出10100,然后抛出运行期异常

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

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

    E. 以上都不对

     

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

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

    B. Html代码不用区分大小写// XML是区分大小写字母的,HTML不区分

    C. Html 是由 xml 发展而来的

    D. Html中所有的标签都必须要有开始标签和结束标签// HTML不是必须

     

    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类,所以也可以定义构造函数//接口没有构造函数

    C. 接口中的方法前面必须要加上public//可以不加上,编译器默认自动加上

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

     

    20. 运行以下代码片段,输出结果是?( 

    class X {

    Y b = new Y();

    X() {

    System.out.print("X");

    }

    }

     

    class Y {

    Y() {

    System.out.print("Y");

    }

    }

     

    public class Z extends X {

    Y y = new Y();

    Z() {

    System.out.print("Z");

    }

     

    public static void main(String[] args) {

    new Z();

    }

    }

    A. Z

    B. YZ

    C. XYZ

    D. YXYZ

     

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

    Set set= new HashSet();

    set.add("aaa");

    set.add("bbb");

    set.add("aaa");

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

    A. 编译不通过

    B. 运行时出错

    C. 输出3

    D. 输出2

     

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

    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;

    case 5:

    y+=5;

    }

    System.out.println(y);

    }

    A. 0

    B. 4

    C. 5

    D. 9

     

    25. 下列选项中关于javathis关键字的说法错误的有( BD )  

    A. this关键字是一个对象的引用

    B. this关键字可以用于引用当前类以外其他类型的对象//只代表本类对象

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

    D. this可用于静态方法中//静态方法不能与this同时使用

     

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

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

    B. 抽象类中不可以有非抽象方法//同时存在抽象与非抽象方法

    C. 抽象类中至少需要包含一个抽象方法//可以不存在抽象方法,类上声明抽象即可

    D. 抽象类无法实例化

     

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

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

    B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数

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

    //可以不写,编译器自动加上空参构造

    D. 构造函数中不能使用return语句//构造函数不能有返回值

     

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

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

    B. 一个try块中可以不使用catch语句//不处理,直接抛异常

    C. catch块不能单独使用,必须始终与try块在一起

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

     

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

    A. final

    B. finalize

    C. finally

    D. catch

     

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

    String s1 = new String("amit"); 

    System.out.println(s1.replace('m','r'));  

    System.out.println(s1); //s1

    String s3 = "arit"; 

    String s4 = "arit"; 

    String s2 = s1.replace('m','r'); 

    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("Both are equal");

    } else {

    System.out.println("Both are not equal");

    }

    }

    }

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

    //继承Object类,比较对象地址值 

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

    C. 输出Both are equal.

    D. 输出Both are not equal

     

    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. 下列哪些代码可以顺利通过编译和运行? ( AB )

    AInteger i =  new Integer('A');

    BInteger i = new Integer("7");

    CCharacter c = new Character("A");//构造方法只能传入char类型

    DBoolean b = new Boolean(null);//不能传null

    EInteger i = new Integer("0x10");//字符串中的字符都必须是十进制数字

     

    36. 下列关于ArrayListVectorLinkedList集合的说法正确是有(ACD  )

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

    B. Vector 集合元素的存放是无序的// Vector底层是数组结构,肯定是有序的

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

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

     

    37. 下列哪些方法是ArrayListLinkedList集合中都定义的(AC  )

    A. add(Object o)

    B. removeFirst()//LinkedList特有

    C. remove(Object o)

    D. add(int index,Object o)// ArrayList特有

     

    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//用于唤醒wait()的线程

    D. wait//执行中的让出CPU执行权,进入线程中断

     

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

    //因为sleep抛出的异常是InterruptedException不是IOException

     

    import java.io.*;

     

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

    }

    }

    }

    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对象绑定的本地端口( 

    A. getPort()//获取连接到的远程端口

    B. getLocalPort()

    C. getRemotePort()//Socket不存在此方法

    D. 不存在这个样的方法,因为Socket Channel对象绑定的本地端口对程序是透明的

     

    44. 在 html 中,下面那些标签属于表单标签( BC )

    A. table

    B. radio

    C. input

    D.  marquee

     

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

    A. TreeMap

    B. ArrayList

    C. HashTable

    D. HashSet

     

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

    A. 同一个类的所有对象都拥有相同的特征和行为//行为一致,每个对象特征不一致以区分不同对象

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

    //类是物体的抽象描述,对象是一个具体的物体,两者有区别

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

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

     

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

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

    B. JavaScript 脚本是java语言的一个分支// javascriptjava没有关系

    C. JavaScript 脚本必须要内嵌在 html 语言中使用//可以在多种环境中执行

    D. JavaScript脚本需要编译后ie浏览器才能解释执行//JavaScript是解释执行,不需要编译

     

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

    A. var num = 1 + "abc";

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

    C. var arr = new Array();

    D. 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');//传入int索引,返回指定索引的字符

    C. s.indexOf('v');

    D. s.substring('v');//传入int类型索引,返回从指定索引开始到字符串结束的子字符串

     

    ---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

    详细请查看:http://edu.csdn.net

    展开全文
  • 传智播客java就业班入学测试题 共50道题,每道题2分,总分100分,80分为合格。 注意,题目有多选,也有单选。请认真作答。 参考答案:https://cloud.tencent.com/developer/article/1353368 对应试者的忠告: ...

    传智播客java就业班入学测试题

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

    注意,题目有多选,也有单选。请认真作答。

    参考答案:https://cloud.tencent.com/developer/article/1353368

    对应试者的忠告:

    传智播客从办学一来,一直在IT培训领域保持着良好的口碑,之所以能做到这么好的口碑,主要得益于过硬的教学质量以及学员的高就业率。

    本测试题的目的在于帮助学员检测自己的java基础,因为公司要保证教学质量,光有名师授课是远远不够的,还需要学员们都具备一个基本的java基础,试想一下,如果学员入学前我们不进行测试,那么必然会导致学生的技术水平参差不齐,再好的老师也无法把这样的班教好。

    希望参加测试的学员能本着对自己负责的态度,独立完成这套测试题。

    如果您试图通过找人帮忙做题等其他途径来完成这套测试题,我们劝您千万别这样做,因为这样是害了自己。即使通过测试,顺利进入就业班的学习,同样是跟不上老师的进度,不会有一个好的结果。

    如果您觉得完成这套测试题非常有难度,那也没有关系,因为我们针对基础不好的学员专门开设了 java基础与加强班,您可以通过短时间的培训,打下一个坚实的基础,再继续参加我们就业班的培训。

     

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

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

    B.写好的java源程序可以直接运行

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

    D.程序员可以读懂扩展名为.class的文件//字节码

    AC

    1. 下列标识符哪个是合法的(D )

    A.class

    B.$abc

    C.1234

    D._name

    标识符(掌握)

      (1)就是给类、接口、方法、变量等起名字的字符序列。

      (2)组成规则:

        A:可由英文大小写字母组成;

        B:可由数字组成;

        C:可由$和_组成;

        D:可由中文组成,但是不建议用中文!

      (3)注意事项:

        A:不能以数字开头;

        B:不能是java中的关键字;

        C:java语言严格区分大小写。

     

     

    1. 下面哪些赋值语句是正确的?(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

     

     

    1. 在Java中,下列语句不能通过编译的有(b )

    A. String s= “join”+ 3;                      

    B. int a= “join”+3;

    C. int a= ‘a’+5;

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

     

     

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

    A. 16                      

    B. 8

    C. 24                      

    D. 12

    (--a)  a =2    2<<10   1000 =8

    1. 下列代码运行的结果是(c )

    public static void main(String[] args) {

       

        int x = 4;

        int y = 5;

        if(x++>4 & ++y>5) {//0  &  1

           x++;

        }//   x=5   y=6

        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

     

    1. 尝试运行下面的代码会发生什么?( 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. 运行时错误

     

    1. 编译并运行以下代码将发生什么? ( d)

    public static void main(String args[]){

           char digit = 'a';//65

           for (int i = 0; i < 10; i++){

               switch (digit)//65

               {

                      case 'x' :

                      {

                         int j = 0;//局部

                         System.out.println(j);     

                      }

                      default :

                      {

                         int j = 100;

                         System.out.println(j);   //10次 100   

                      }

               }

       }

        int i = j;

       System.out.println(i);  

    }

    A. 输出11次100

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

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

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

    E. 以上都不对

    知识点:变量作用范围

    编译错误:

    Compilation Failed
    /usercode/file.java:19: error: cannot find symbol

        int i = j;

                ^

      symbol:   variable j

      location: class file

    1 error

     

    1. class Demo

    {

        public static int fun(int c)

    {

           return  c+=2;

        }

        public static void main(String[] args)

    {

           int temp = fun(2);

           System.out.println(temp);

        }

    }

    1.   2
    2.   4
    3.   6
    4.   8

     

     

    1. 下面哪些函数是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){…}
    知识点:重载函数:

    http://www.runoob.com/java/java-override-overload.html

     

    重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

    每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。

    最常用的地方就是构造器的重载。

    重载规则:

    • 被重载的方法必须改变参数列表(参数个数或类型不一样)
    • 被重载的方法可以改变返回类型;
    • 被重载的方法可以改变访问修饰符;
    • 被重载的方法可以声明新的或更广的检查异常;
    • 方法能够在同一个类中或者在一个子类中被重载。
    • 无法以返回值类型作为重载函数的区分标准。

     

    1. 在java中,关于数组描述正确的是(bcd )

    A.数组中的索引下标从1开始0 

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

    C.通过数组名.length()能获得数组的长度

    D.数组的最大索引下标是数组的长度减1

    知识点:C选项

    不对的,字符串有成员函数length(), 可以通过调用 str.length() 来获得字符串的长度
    数组的length是一个静态成员变量,不是方法,array.length就是数组的长度(容量)

     

    1. 下面程序的输出结果是什么( d)

    int[] arr = new int[10];

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

    A.编译不通过

    B.运行时出错

    C.输出null

    D.输出0

     

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

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

    知识点: 二维数组定义  CD

    数组定义格式问题:
    java中使用 [][] 来定义二维数组 定义数组时也可同时初始化
    
    
    
    下面是一些例子
    
    float[][] numthree; //定义一个float类型的2维数组
    
    numthree=new float[5][5]; //为它分配5行5列的空间大小
    
    numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1
    
    long[][] numfive=new long[5][]; //定义一个long类型的不规则数组
    
    numfive[0]=new long[5]; //为第1行分配5列
    
    //定义double型的数组分配3行3列的空间同时赋值
    
    double[][] numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};
    
    
    
    int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};
        int arr[][]=new arr[2][3] or int arr[][]=new arr[2][];
        左边部分[]在arr两侧均可。

     

     

    1. 以下代码输出是( d )

    class Demo {

        public static void main(String[] args) {

           int i = 0;

           int sum = 0;

           while (i <= 10) {//  0---10

               i++;

               if (i % 2 != 0) //奇数

                  continue;

               sum += i;// 2  4   6  8  10

     

           }

           System.out.println(sum);

        }

    }

    1.   55
    2.   45
    3.   35
    4.   30

    求偶数和

        0 + 2 + 4 + 6 + 8 + 10

    1. 和下面代码能完成相同的选项是(b)

    class Demo {

        public static void main(String[] args) {

           int i = 1;

           int sum = 0;

           while (i <= 100) {

               if (i % 2 == 0) {

                  sum = sum + i;//  100内 偶数

               }

               i++;

           }

           System.out.println(sum);

        }

    }  

    1.   for (int x =1; x<=100;x++){ sum=sum+x;}
    2.   for (int x =0; x<=100;x+=2){ sum=sum+x;}
    3.   for (int x =1; x<=100;x+=2){ sum=sum+x;}

    D.上述全对

     

    1. 下列有关类、对象和实例的叙述,正确的是哪一项?(b)

    A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别

    B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称

    C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称

    D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称

    知识点:d

    类 ,对象的定义  关系

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

    A. 在java中可以使用import语句导入包

    B. 在java中可以使用package语句导入包

    C. 位于同一个包中的类,不需要导包就可以直接访问

    D. 不同的包中可以出现类名相同的类

    知识点 :acd

     

    1. 下列有关抽象类的叙述正确的是哪项?(c)

    A.抽象类中一定含有抽象方法

    B.抽象类既能被实例化也能被继承

    C.抽象类的声明必须包含abstract关键字

    D.抽象类中不能有构造方法

    知识点:抽象类

    抽象类总结规定

    • 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
    • 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
    • 3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
    • 4. 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法
    • 5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。

     

    1. 下列有关接口的叙述错误的是哪项?(d)

    A.接口中只能包含抽象方法和常量

    B.一个类可以实现多个接口

    C.类实现接口时必须实现其中的方法

    D.接口不能被继承

    http://www.runoob.com/java/java-interfaces.html

    接口的声明

    接口的声明语法格式如下:

    [可见度] interface 接口名称 [extends 其他的接口名名] { // 声明变量 // 抽象方法 }

    接口的继承

     

     

    一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法。

    下面的Sports接口被HockeyFootball接口继承:

    / 文件名: Hockey.java public interface Hockey extends Sports

    { public void homeGoalScored(); public void visitingGoalScored(); public void endOfPeriod(int period); public void overtimePeriod(int ot); }

     

    1. 运行以下代码片段,输出结果是?( D )

    class X {//父类

        Y b = new Y();//父类代码块

        X() {

                System.out.print("X");

        }

    }

     

    class Y {

        Y() {

                System.out.print("Y");

        }

    }

     

    public class Z extends X {

        Y y = new Y();//子类代

        Z() {

                System.out.print("Z");

        }

     

        public static void main(String[] args) {

               new Z();

        }

    }

    A. Z

    B. YZ

    C. XYZ

    D. YXYZ

    A:成员变量的问题
            int x = 10; //成员变量x是基本类型
            Student s = new Student(); //成员变量s是引用类型
        B:一个类的初始化过程
            先进行成员变量的初始化:
                默认初始化
                显示初始化
                构造方法初始化
        C:子父类的初始化(分层初始化)
            先进行父类初始化,然后进行子类初始化。
                
            结果:
                YXYZ
        
            问题:
                虽然子类中的构造方法默认有一个 super();
                但初始化的时候,不是按照那个顺序进行的。
                而是按照分层初始化进行的。
                super(); 它仅仅表示要先初始化父类数据,再初始化子类数据。

     

     

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

    A. 一个类可以同时继承多个父类(x)

    B. 一个类可以具有多个子类(V)

    C. 子类会自动拥有父类所有的方法(X)

    D. 一个类继承另一个类需要使用 extends 关键字(V)

     

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

    A. this关键字是一个对象的引用

    B. this关键字可以用于引用当前类以外其他类型的对象

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

    D. this可用于静态方法中

    知识点:bd

    this  是对象引用  静态方法没有对象

     

    1. 下列关于构造函数的说法正确的是( ABCD )AB

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

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

     

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

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

     

     

     

     

    1. 编译并运行以下代码将发生什么?( 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)) { // 继承Object类,比较的是对象的地址值

               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

     

    1. 运行以下的main()方法,结果是?( b)    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. 以上都不对

     

    1. 有如下代码,请问哪些是正确的?(  c   d)acd

    class ClassA{}

    class ClassB extends ClassA{}

    class ClassC extends ClassA{}

    以及

    ClassA p0 = new ClassA();

    ClassB p1 = new ClassB();

    ClassC p2 = new ClassC();

    ClassA p3 = new ClassB();

    ClassA p4 = new ClassC();

    A.p0 = p1;//classa    classb

    B.p1 = p2;

    C.p1    = (ClassB)p3;   b  

    D.p2 = (ClassC)p4;

     

    A.p0 = p1; // 赋值操作,把子类的地址用父类来接收,没问题
    B.p1 = p2; // 赋值操作,把子类的地址用其他子类类来接收,有问题
    C.p1 = (ClassB)p3; // 赋值操作,把父类的地址强转为子类的地址再用父类来接收,没问题
    D.p2 = (ClassC)p4; // 赋值操作,把父类的地址强转为子类的地址再用父类来接收,没问题

     

     

    1. 关于继承, 以下说法正确的是: (ad)ACD

    A.Java中只支持单继承, 一个类只能继承一个类, 但是可以有多个子类

    B.一个类如果没有自己写无参构造方法, 那么子类将无法继承

    C.子类可以当父类用, 父类不可以当子类用

    D. 子类重写父类方法时访问权限不能更低

     

    1. 编译并运行以下代码的输出结果是?(d  )

    String s1 = new String("amit"); // 字符串常量池

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

     

    System.out.println(s1); amit

    String s3 = "arit";

    String s4 = "arit";

    String s2 = s1.replace('m','r'); arit

    System.out.println(s2 == s3); //false

    System.out.println(s3 == s4);true

     

    1.   arit

    amit

    false

    true

     

    1.   arit

    arit

    false 

    true

     

    1.   amit

    amit

    false

    true

     

    1.   arit

    amit

    true

    true

     

    1. 下列哪些代码可以顺利通过编译和运行? ( A )ABD

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

    B.Integer i = new Integer("7"); // 把字符串转为int类型,注意这个字符串必须是由数字字符组成。

     

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

    D.Boolean b = new Boolean(null); / 在Boolean的构造函数中,除了"true"和"false"之外的字符串虽然不会造成编译错误,但是会返回false。

     

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

     

    java.lang.NumberFormatException: For input string: "0x10"

    1. 在Java中,如果要在字符串类型对象s="java"中,得到字符 'v' 出现的位置,可使用下面的那个方法?( B )C

    A. s.matches('v');

    B. s.charAt('v');  ??/

    C. s.indexOf('v');

    D. s.substring('v');

    知识点:String 类 方法

    char charAt(int index)
    返回指定索引处的 char 值。

     

    boolean matches(String regex)
    告知此字符串是否匹配给定的正则表达式。

    int indexOf(int ch)
    返回指定字符String substring(int beginIndex)
    返回一个新的字符串,它是此字符串的一个子字符串。在此字符串中第一次出现处的索引。

    如果此字符串中没有这样的字符,则返回 -1

    int indexOf(int ch)
    返回指定字符在此字符串中第一次出现处的索引。

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

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

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

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

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

    ArrayList、Vector和LinkedList相关知识ACD

     

    1. 下面程序的输出结果是什么(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

     

    Java 集合框架:

     

    Set
     

    Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。

    Set 接口存储一组唯一,无序的对象。

     

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

    A. add(Object o)

    B. removeFirst()//LinkedList     移除并返回此列表的第一个元素。

    C. remove(Object o)

    D. add(int index,Object o)

     

    1. 下列哪些集合属于Collection体系的子类( a )BD

    A. TreeMap

    B. ArrayList

    C. Hashtable

    D. HashSet

     

     

    从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,ListSet Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayListLinkedListHashSetLinkedHashSetHashMapLinkedHashMap 等等。

     

    http://www.runoob.com/java/java-collections.html

     

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

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

    B. 一个try块中可以不使用catch语句

    C. catch块不能单独使用,必须始终与try块在一起

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

     

    1. 下列关键字能和try语句一起使用的是( c  d )

    A. final

    B. finalize

    C. finally

    D. catch

     

    1. 下面程序的运行结果是( a   )d

      FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);

      fos.write(“abc”);

      fos.close();

    A.在C盘创建文件demo.txt,但文件是空的

    B.在C盘创建文件demo.txt,并写入数据abc

    C.将C盘已有的文件demo.txt中追加写入abc

    D.编译失败

    缺少try---- catch (FileNotFoundException e)

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

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

    B. 如果要把数据写入到一个文件中,需要创建一个输入流对象  出

    C. 字符流在某些方面比如汉字的处理,比字节流更方便

    D. 可以通过Reader r = new Reader("c:\\pet.txt")创建一个输入流对象   ??? Reader类是一个抽象类,需要实现方法public abstract class Reader implements Readable, Closeable {

     

    AC

    1. 请看如下代码:

    BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt"));

    BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\b.txt"));

    String line = null;

    while ((line = br.readLine()) != null) {

    bw.write(line);

        bw.newLine();

    bw.flush();

    }

    bw.close();

    br.close();

    它表达的意思是?( a )

    A. 把c盘目录下的a.txt文件内容复制到d盘目录下的b.txt

    B. 把d盘目录下的b.txt文件内容复制到c盘目录下的a.txt

    C. 读取c盘目录下a.txt文件,输出在控制台

    D. 把控制台的内容写入到d盘目录下的b.txt文件中

     

    1. 关于泛型的说法正确的是(c)ABC

    A.泛型是JDK1.5出现的新特性

    B.泛型是一种安全机制

    C.使用泛型避免了强制类型转换

    D.使用泛型必须进行强制类型转换

     

    1. 关于方法的递归算法,说法正确的是(bc)ABD

    A.递归就是方法自己调用自己

    B.递归的次数不能过大,否则会导致栈内存溢出

    C.使用递归算法,方法必须有返回值

    D.构造方法不可以使用递归算法

    递归,就是在运行的过程中调用自己。

      递归必须要有三个要素:

      、边界条件

      、递归前进段

      、递归返回段

      当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

     

    1. 下列哪个关键字可以用于实现同步?(  c)

    A. native

    B. static

    C. synchronized

    D. abstract

     

    1. 下列哪些方法可以让线程中断? (a d  )

    A. sleep

    B. start

    C. notify

    D. wait

     

    1. 启动线程调用哪个方法? ( b )

    A. run()

    B. start()

    C. play()

    D. go()

     

    1. 在 awt 中,下列哪个组件可以实现带标题的窗口( c )

    A. Menu

    B. Button

    C. Frame

    D. TextField

     

    1. 编写Button组件的事件处理类时,需要实现哪个接口? ( c )

    A ItemListener

    B ActionListener

    C ButtonListener

    D WindowListener

     

    1. 下面哪项不是TCP的特点? ( c )B

    A.面向连接

    B.数据不可靠

    C.传输速度慢

    D.对数据大小无限制

    TCP   UDP

    小结TCPUDP的区别:

    1.基于连接与无连接;
    2.对系统资源的要求(TCP较多,UDP少);
    3.UDP程序结构较简单;
    4.流模式与数据报模式

    5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

    tcp协议和udp协议的差别
    TCP UDP
    是否连接 面向连接 面向非连接
    传输可靠性 可靠 不可靠
    应用场合 传输大量数据 少量数据
    速度

    1. TCP协议的服务器的Socket对象是下面哪一个类? ( C )

    A Socket//客户端

    BInputStream

    CServerSocket

    DOutputStream

     

    1. 正则表达式中可以表示所有的单词字符信息的是下面哪个规则:(C  )

    A \W

    B \w

    C [a-zA-Z]

    D[a-zA-Z_0-9]

    正则表达式   BD

    1. 获取Class类型的对象的三种方式是:( AB D )

    A. Object类的getClass()

    B. class静态属性

    C. 自己创建Class对象

    D. Class类的forName()静态方法

    解析:

        // 1. 根据给定的类名来获得:用于类加载

        String classname = "cn.itcast.reflect.Person"; // 来自配置文件

        Class clazz = Class.forName(classname); // 此对象代表Person.class

     

        // 2. 如果拿到了对象,不知道是什么类型:用于获得对象的类型

        Object obj = new Person();

        Class clazz1 = obj.getClass(); // 获得对象具体的类型

     

        // 3. 如果是明确地获得某个类的Class对象:主要用于传参

        Class clazz2 = Person.class;

     

    展开全文
  • 下列标识符哪个是合法的(BD ) A.class B.$abc C.1234 D._name 2. 下列代码运行的结果是(c ) public static void main(String[] args) { int x = 4; int y = 5;... if(x++...
    1. 下列标识符哪个是合法的(BD )

           A.class

           B.$abc

           C.1234

           D._name

     

         2. 下列代码运行的结果是(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

     

    3. 下面哪些函数是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){…}

     

    4. 以下代码输出是(  D)

    class Demo {

        public static void main(String[] args) {

           int i = 0;

           int sum = 0;

           while (i <= 10) {

               i++;

               if (i % 2 != 0)

                  continue;

               sum += i;  // sum = sum + i // 0+2+4+6+8+10 = 30

     

           }

           System.out.println(sum);

        }

    }

    A.  55

    B.  45

    C.  35

    D.  30

     

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

    A. 在java中可以使用import语句导入包

    B. 在java中可以使用package语句导入包

    C. 位于同一个包中的类,不需要导包就可以直接访问

    D. 不同的包中可以出现类名相同的类

     

    6.下列有关接口的叙述错误的是哪项?(A)

    A.接口中只能包含抽象方法和常量

    B.一个类可以实现多个接口

    C.类实现接口时必须实现其中的方法

    D.接口不能被继承

     

    7.运行以下代码片段,输出结果是?( D )

    class X {

        Y b = new Y();

        X() {

                System.out.print("X");

        }

    }

     

    class Y {

        Y() {

                System.out.print("Y");

        }

    }

     

    public class Z extends X {

        Y y = new Y();

        Z() {

                System.out.print("Z");

        }

     

        public static void main(String[] args) {

               new Z();

        }

    }

    A. Z

    B. YZ

    C. XYZ

    D. YXYZ

     

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

    A. this关键字是一个对象的引用

    B. this关键字可以用于引用当前类以外其他类型的对象

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

    D. this可用于静态方法中

     

    9.关于继承, 以下说法正确的是: (AD)

    A.Java中只支持单继承, 一个类只能继承一个类, 但是可以有多个子类

    B.一个类如果没有自己写无参构造方法, 那么子类将无法继承

    C.子类可以当父类用, 父类不可以当子类用

    D. 子类重写父类方法时访问权限不能更低

     

    10.下列哪些代码可以顺利通过编译和运行? ( ABD )

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

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

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

    D.Boolean b = new Boolean(null);

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

     

    11.在Java中,如果要在字符串类型对象s="java"中,得到字符 'v' 出现的位置,可使用下面的那个方法?( C )

    A. s.matches('v');

    B. s.charAt('v');

    C. s.indexOf('v');

    D. s.substring('v');

     

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

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

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

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

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

     

    13.下面程序的输出结果是什么( 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

     

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

    A. add(Object o)

    B. removeFirst()

    C. remove(Object o)

    D. add(int index,Object o)

     

    15.下面程序的运行结果是(  D  )

      FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);

      fos.write(“abc”);

      fos.close();

    A.在C盘创建文件demo.txt,但文件是空的

    B.在C盘创建文件demo.txt,并写入数据abc

    C.将C盘已有的文件demo.txt中追加写入abc

    D.编译失败

     

    16.关于方法的递归算法,说法正确的是( ABC )

    A.递归就是方法自己调用自己

    B.递归的次数不能过大,否则会导致栈内存溢出

    C.使用递归算法,方法必须有返回值

    D.构造方法不可以使用递归算法

     

    17.在 awt 中,下列哪个组件可以实现带标题的窗口( C )

    A. Menu

    B. Button

    C. Frame

    D. TextField

     

    18.编写Button组件的事件处理类时,需要实现哪个接口? ( B )

    A. ItemListener

    B. ActionListener

    C. ButtonListener

    D. WindowListener

     

    19.下面哪项不是TCP的特点? (  B  )

    A.面向连接

    B.数据不可靠

    C.传输速度慢

    D.对数据大小无限制

     

    解析:

    最大的坏处就是PPPoE导致MTU变小了以太网的MTU是1500,再减去PPP的包头包尾的开销(8Bytes),就变成1492。

    UDP 包的大小就应该是 1492 - IP头(20) - UDP头(8) = 1464(BYTES)
    TCP 包的大小就应该是 1492 - IP头(20) - TCP头(20) = 1452(BYTES)

    目前大多数的路由设备的MTU都为1500
    我对上面的理解是:如果我们定义的TCP和UDP包小于1452,1464,那么我们的包在IP层就不用分包了,这样传输过程中就避免了在IP层组包发生的错误。如果使用UDP协议,如果IP层组包发生错误,那么包就会被丢弃,UDP不保证可靠传输。但是TCP发生组包错误时,该包会被重传,保证可靠传输。所以,我们在用Socket编程时,包的大小设定不一定非要小于1400,UDP协议要求包小于64K,TCP没有限定。

     

    20.获取Class类型的对象的三种方式是:( ABD )

    A. Object类的getClass()

    B. class静态属性

    C. 自己创建Class对象

    D. Class类的forName()静态方法

     

    解析:

    // 1. 根据给定的类名来获得  用于类加载

    String classname = "cn.itcast.reflect.Person";// 来自配置文件

    Class clazz = Class.forName(classname);// 此对象代表Person.class

    // 2. 如果拿到了对象,不知道是什么类型   用于获得对象的类型

    Object obj = new Person();

    Class clazz1 = obj.getClass();// 获得对象具体的类型

    // 3. 如果是明确地获得某个类的Class对象  主要用于传参

    Class clazz2 = Person.class; 

    转载于:https://www.cnblogs.com/whf-Staring/p/4784796.html

    展开全文
  • 【Java面试复习经典】传智播客Java就业班入学测试题及答案解析(2012年版) 共50道题,每道题2分,总分100分,80分为合格。  注意,题目有多选,也有单选。请认真作答。 =========================================...
  • 2、对学员的结业考试成绩评测,要求在控制台中提示用户输入学员考试成绩,写一个方法,根据用户输入的成绩,返回一个等级;90分以上A级、80~90分B级、70~80分C级、60~70分B级、60分以下C级。如图所示: ...
  • 1.变量:如果创建多个变量,则变量之间的名字不可重复 2.对于float和long类型来说,变量后面的F和L不能丢掉 3.使用byte和short,则右侧的数据值不能超过左侧类型的范围 4.没有进行赋值的变量不能直接使用,一定要...
  • 黑马入学测试题集锦

    2015-10-07 21:11:55
    黑马程序员训练营入学考试   1、 请说明Java中字符'\'的含义,有什么作用?     2、 编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。  ...
  • 提示:本大全每半月更新一次,请持续保持关注!谢谢!... 从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作...
  • java就业面试试题大全

    2010-07-06 23:54:00
    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。...
  • Java就业面试问题大全

    2016-07-19 22:34:54
    Java就业面试问题汇总
  • * 课程回顾:  * schema约束  * schema和DTD的对比  * schema符合XML的语法结构。  * DOM或者SAX解析技术可以解析schema的文档。  * schema对名称空间支持好。  * schema支持更多的数据类型,自定义数据类型。
  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。...
  • 提示:本大全每半月更新一次,请持续保持关注!谢谢!... 从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的 工作...
  • 传智播客笔试

    2020-03-31 23:31:02
    传智播客java就业班入学测试题
  • Java就业面试大全

    2013-02-28 13:01:43
    从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做;第二,你非常痴迷和爱好程序,...
  • java就业面试

    2016-07-18 17:49:00
    从享受生活的角度上来说:“程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做;第二,你非常痴迷和爱好程序,...
1 2 3 4 5 ... 20
收藏数 1,040
精华内容 416