美文网首页
尚学堂卓越班入学考试试卷笔试(A卷)

尚学堂卓越班入学考试试卷笔试(A卷)

作者: Hi三好学生 | 来源:发表于2019-08-26 17:54 被阅读0次

    一、填空题(共15个题目,总计15分)

    1. 安装JDK后,为了告诉计算机javac.exe和java.exe等执行文件的位置,需要配置的环境变量是_____________。

    2. Java提供了三种注释类型,分别是单行注释,多行注释和_____________。

    3. char 类型用来表示在Unicode编码表中的字符,长度是______个字节。

    4. _________是短路与运算符,如果左侧表达式的计算结果是false,右侧表达式将不再进行计算。

    5. _____________语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

    6. 基本数据类型的类型转换中,要将double类型的常量3.14159赋给为整数类型变量n的语句是_____________________。

    7. 执行Person p = new Person();语句后,将在___________中给Person对象分配空间,并在栈内存中给引用变量p分配空间,存放Person对象的引用。

    8. 使用static修饰的变量称为静态变量,静态变量可以有两种访问方式,分别是类名.静态变量名和_______________________。

    9. 在一个类文件中的关键字package,import,class出现的可能顺序是______________________________。

    10. 异常是由Java应用程序抛出和处理的非严重错误,比如所需文件没有找到、零作除数,数组下标越界等,可分为两类:Checked异常和__________________。

    11. 数组在内存中分配连续的空间,数组的长度固定,一经分配无法改变,可以使用____________属性获取数组的长度。

    12. DateFormat类可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定的字符串格式的方法名是______________。

    13. JDK1.5后提供了____________关键字,用以定义枚举类。枚举类是一种特殊的类,可以有自己的属性、方法和构造方法。

    14. 如果希望将自定义类Student的多个对象放入集合TreeSet,实现所有元素按照某个属性的自然顺序排列,则需要Student类实现__________________接口。

    15. 迭代器Iterator为集合而生,专门实现集合遍历,该接口有三个方法,分别是hasNext() 、____________、remove()。

    二、选择题(共20个题目,总计20分)
    1)以下选项中是对一个Java源文件进行正确编译的语句是( )(选择一项)

    A.javac Test.java
    B.javac Test
    C.java Test
    D.java Test.class

    2)以下选项中属于合法的Java标识符的是( )。(选择两项)

    A.public
    B.3num
    C.name
    D.age

    3)以下代码的执行结果是( )。(选择一项)

    boolean m = true;
    if(m = false){
        System.out.println("false");
    }else{
        System.out.println("true");
    }
    

    A.false
    B.true
    C.编译错误
    D.无结果

    4)以下do-while循环代码的执行结果是( )。(选择一项)

    int a=0;
    int c=0;
    do{
        --c;
        a=a-1;
    }while(a>0);
    System.out.println(a+"  "+c);
    

    A.-1 -1
    B.死循环
    C.-1 -2
    D.-1 0

    5)while循环和do-while循环的区别是( )。(选择一项)

    A.没有区别,这两个结构在任何情况下效果一样
    B.while循环比do-while循环执行效率高
    C.while循环是先循环后判断,所以循环体至少被执行一次
    D.do-while循环是先循环后判断,所以循环体至少被执行一次

    6)分析下面的Java多重循环代码片段,编译运行后的输出结果是( )。(选择一项)

    for (int i = 0; i < 6; i++) {
        int k = ++i;
        while (k < 5) {
            System.out.print(i);
            break;
        }
    }
    

    A.024
    B.02
    C.123
    D.13

    7)以下关于方法调用的代码的执行结果是( )。(选择一项)

    public class Test {
        public static void main(String args[]) {
            int i = 99;
            mb_operate(i);
            System.out.print(i + 100);
        }
        static void mb_operate(int i) {
            i += 100;
        }
    }
    

    A.99
    B.199
    C.299
    D.99100

    8)以下关于继承条件下构造方法执行过程的代码的执行结果是( )。(选择一项)

    class Person {  
        public Person() {
            System.out.println("execute Person()");
        }
    }
    class Student extends Person {  
        public Student() {      
            System.out.println("execute Student() ");
        }   
    }
    class PostGraduate extends Student {    
        public PostGraduate() { 
            System.out.println("execute PostGraduate()");
        }   
    }
    public class TestInherit {
        public static void main(String[] args) {
            new PostGraduate();     
        }
    }
    

    A.execute Person()execute Student() execute PostGraduate()
    B.execute PostGraduate()
    C.execute PostGraduate()execute Student() execute Person()
    D.没有结果输出

    9)以下语句中关于Java构造方法的说法错误的是( )。(选择一项)

    A.构造方法的作用是为创建对象进行初始化工作,比如给成员变量赋值
    B.一个Java类可以没有构造方法,也可以提供1个或多个构造方法
    C.构造方法与类同名,不能书写返回值类型
    D.构造方法的第一条语句如果是super(),则可以省略,该语句作用是调用父类无参数的构造方法

    10)以下关于this和super关键字的说法错误的是( )。(选择二项)
    A.this关键字指向当前对象自身,super关键字指向当前对象的直接父类
    B.在main方法中可以存在this或super关键字,但不能同时存在。
    C.this和super关键字都可以访问成员属性,成员方法和构造方法
    D.在一个类的构造方法中可以同时使用this和super来调用其他构造方法

    11)以下选项中可以使成员变量m 被函数fun()直接访问的是( )。(选择一项)

        class Test {
        private int m;
        public static void fun() {      
            System.out.println(m);
        }
    }
    

    A.将private int m 改为protected int m
    B.将private int m 改为 public int m
    C.将private int m 改为 static int m
    D.将private int m 改为 int m

    12)Person类和Test类的代码如下所示,则代码中的错误语句是( )。(选择一项)

    public class Person {
        public String name;
        public Person(String name) {
            this.name = name;
        }
    }
    public class Test {
        public static void main(String[] args) {
            final Person person = new Person("欧欧");
            person.name = "美美";
            person = new Person("亚亚");
        }
    } 
    

    A.final Person person = new Person("欧欧");
    B.person.name = "美美";
    C.person = new Person("亚亚");
    D.没有错误

    13)以下关于异常的代码的执行结果是( )。(选择一项)

    public class Test {
        public static void main(String args[]) {
            try {
                System.out.println("try");          
                return;
            } catch(Exception e){
                System.out.println("catch");
            }finally {
                System.out.println("finally");
            }
        }
    }
    

    A.trycatchfinally
    B.catchfinally
    C.tryfinally
    D.try

    14)以下关于String类的代码的执行结果是( )。(选择一项)

    public class Test2 {
        public static void main(String args[]) {
            String s1 = new String("bjsxt");
            String s2 = new String("bjsxt");
            if (s1 == s2)
                System.out.println("s1 == s2");
            if (s1.equals(s2))
                System.out.println("s1.equals(s2)");
        }
    }
    

    A.s1 == s2
    B.s1.equals(s2)
    C.s1 == s2s1.equals(s2)
    D.以上都不对

    15)以下关于StringBuffer类的代码的执行结果是( )。(选择一项)

        public class TestStringBuffer {
        public static void main(String args[]) {
            StringBuffer a = new StringBuffer("A");
            StringBuffer b = new StringBuffer("B");
            mb_operate(a, b);
            System.out.println(a + "." + b);
        } 
        static void mb_operate(StringBuffer x, StringBuffer y) {
            x.append(y);
            y = x;
        } 
    }
    

    A.A.B
    B.A.A
    C.AB.AB
    D.AB.B

    16)以下选项中能够正确创建一个数组的是( )。(选择二项)
    A.float []f[] = new float[6][6];
    B.float f[][] = new float[][];
    C.float [6][]f = new float[6][6];
    D.float [][]f = new float[6][];

    17)以下选项中关于int和Integer的说法错误的是( )。(选择二项)
    A.int是基本数据类型,Integer是int的包装类,是引用数据类型
    B.int的默认值是0,Integer的默认值也是0
    C.Integer可以封装了属性和方法提供更多的功能
    D.Integer i=5;该语句在JDK1.5之后可以正确执行,使用了自动拆箱功能

    18)以下选项中关于Java集合的说法错误的是( )。(选择二项)
    A.List接口和Set接口是Collections接口有两个子接口
    B.List接口中存放的元素具有有序,不唯一的特点
    C.Set接口中存放的元素具有无序,不唯一的特点
    D.Map接口存放的是映射信息,每个元素都是一个键值对

    19)以下代码的执行结果是( )。(选择一项)

    Set<String> s=new HashSet<String>();
    s.add("abc");
    s.add("abc");
    s.add("abc");
    s.add("abcd");
    System.out.println(s.size());
    

    A.1
    B.2
    C.3
    D.4

    20)下面集合类中属于非线程安全,且结构采用了哈希表的是( )。(选择一项)

    A.Vector
    B.ArrayList
    C.HashMap
    D.Hashtable

    三、判断题(共15个题目,总计15分)
    1.一个Java源文件中可以定义多个类,但是至多只能有一个public类。( )

    2.Java的字节码文件的扩展名是class,是一种平台独立的非二进制文件。( )

    3.^ 是异或位运算符,运算规则是如果两个操作数相同,结果是0,否则结果是1。( )

    4.赋值运算符优先级别低于条件运算符,条件运算符优先级别低于算术运算符。( )

    5.switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是int类型、char类型,但不能是double,float类型。( )

    6.在多重循环中,外层循环变量变化一遍,内层循环变量要变化一次 。( )

    7.程序调用自身的编程技巧称为递归。递归的特点是编程简单并且节省内存。( )

    8.类可以看成一类对象的模板,对象可以看成该类的一个具体实例。( )

    9.使用public修饰的成员属性和方法可以被当前项目中所有包的所有类访问。( )

    10.将子类对象赋给父类引用变量,称为向下转型,将无法访问子类特有的方法。( )

    11.继承是多态的基础,没有继承就没有多态。( )

    12.内部类作为外部类成员,权限修饰符和其他成员一样,可声明为private、默认、protected或public。( )

    13.数组和集合中的元素可以是任何数据类型,包括基本类型和引用类型。( )

    14.增强的for循环可以遍历数组和集合,语法简单 不需要知道数组的长度,不能实现与下标相关的操作。( )

    15.LinkedHashMap是一种有序的HashMap,查询速度快,便于进行添加删除操作。( )

    四、简答题(共6个题目,总计30分)

    1.方法重载和方法重写(覆盖)的区别。(4分)

    2.简述Java中的四个权限访问修饰符及其访问范围。(5分)

    3.简述static关键字的作用。(5分)

    4.接口和抽象类的联系和区别。(5分)

    5.String、StringBuffer、StringBuilder区别与联系(5分)

    6.Vector和ArrayList、ArrayList和LinkedList的区别和联系。(6分)

    五、编码题(共3个题目,总计20分)

    1.编写递归算法程序:一列数的规则如下: 0、1、1、2、3、5、8、13、21、34...... 求数列的第40位数是多少。(5分)

    2.编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。(6分)

    (1)编写一个圆类Circle,该类拥有:

    一个成员变量
    Radius(私有,浮点型);//存放圆的半径;
    两个构造方法
    Circle() //将半径设为0
    Circle(double r ) //创建Circle对象时将半径初始化为r

    三个成员方法
    double getArea() //获取圆的面积
    double getPerimeter() //获取圆的周长
    void show() //将圆的关径、周长、面积输出到屏幕

    (2) 编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:

    一个成员变量
    double hight (私有,浮点型); //圆柱体的高;
    构造方法
    Cylinder(double r,double h) //创建Cylinder对象时将半径初始化为r,高度初始化为h
    成员方法
    double getVolume() //获取圆柱体的体积
    void showVolume() //将圆柱体的体积输出到屏幕

    3.实现List和Map数据的转换。(9分)具体要求如下:

    功能1:定义方法public void listToMap( ){ }将List中Student元素封装到Map中

    1)使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息并加入List

    2)遍历List,输出每个Student信息

    3)将List中数据放入Map,使用Student的id属性作为key,使用Student对象信息作为value

    4)遍历Map,输出每个Entry的key和value

    功能2:定义方法public void mapToList( ){ }将Map中Student映射信息封装到List

    1)创建实体类StudentEntry,可以存储Map中每个Entry的信息

    2)使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息,并使用Student的id属性作为key,存入Map

    3)创建List对象,每个元素类型是StudentEntry

    4)将Map中每个Entry信息放入List对象

    相关文章

      网友评论

          本文标题:尚学堂卓越班入学考试试卷笔试(A卷)

          本文链接:https://www.haomeiwen.com/subject/xxntectx.html