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

一、填空题(共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对象

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,718评论 2 9
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,533评论 0 6
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,360评论 0 4
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,762评论 0 10
  • 昨天和网友谈论到中国网红的事,他不知道怎么着突然提议让我去当网红,但人家网红也是很漂亮的,我回了一句,又不好看,当...
    洛笔阅读 683评论 2 7