A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

18期入学综合考试A
一、单选题,每题2.5分:
1. 下面程序的运行后,a,b,c的值正确的是:
        int a=1,b=2;
        int c=(a+b>3?a++:++b);
        A.  a=2,b=3
        B.  a=1,b=3
        C.  a=1,b=2
        D.  c=2

2. 关于IO流, 以下说法不正确的是:
A. 可以分为两大体系, 字节流和字符流
B. 当需要将一个文件内容读取到内存时可以使用文件输入流
C. 当对流中数据的操作都在内存中时, 可以使用内存流       
D. 复制java的字节码文件使用字符流来操作更好

3. 关于File类, 以下说法不正确的是:
A. Java中File既可以表示文件也可以表示文件夹        
B. 如果一个File对象表示的实际是一个文件夹, 用流关联它并写入数据时会出异常
C. File中方法createNewFile()不会抛出异常
D. 使用输出流关联File对象,如果这个对象表示的文件不存在,会自动创建这个文件

4. 关于以下代码运行结果说法正确的是 :
import java.util.TreeSet;
public class Demo{       
        public static void main(String[] args) {
                TreeSet<Student> set = new TreeSet<>();
                set.add(new Student("张三", 12));
                set.add(new Student("李四", 13));
                set.add(new Student("王五", 15));
                System.out.println(set);
        }
}
class Student {
        public String name;
        public int age;
        public Student(String name, int age) {
                super();
                this.name = name;
                this.age = age;
        }
}
A. 打印出set中的元素, 元素顺序和放入的顺序是一致的
B. 打印出set中的元素, 元素顺序和放入的顺序是不一致的
C. 打印出set的地址值
D. 程序因异常而终止

5.  以下说法正确的是:   
A. 继承应体现一般到具体的关系, 父类应该比子类表示的范围更广泛.
B. 子类继承父类, 子类将能使用父类所有的功能
C. 如果一个父类有多个子类, 那么这些子类的对象之间可以互相强转.
D. 子类的功能一定比父类更多

6.        以下代码运行结果是:
import java.util.Arrays;
public class Demo{       
        public static void main(String[] args) {
                Student[] stus = new Student[3];
                stus[0] = new Student("李跛子");
                stus[1] = new Student("王二麻子");
                stus[2] = new Student("张拐子");
                delete(stus);
                System.out.println(Arrays.toString(stus));
        }
        private static void delete(Student[] stus) {
                for (Student student : stus) {
                        if ("张拐子".equals(student.name)) {
                                student = null;
                                break;
                        }
                }
        }
}
class Student {
        public String name;
        public Student(String name) {
                this.name = name;
        }
        public String toString() {
                return name;
        }
}
A. [李跛子, 王二麻子, 张拐子]
B. [李跛子, 王二麻子]
C. [李跛子, 王二麻子, null]
D. 程序因异常而终止

7. 以下代码的运行结果是:
import java.io.Serializable;
class Demo implements Serializable{
        private static int i;
        public static void main(String[] args) throws Exception {
                for (i = 0; i < 5; i++) {
                        new Thread(){
                                public void run() {
                                        try {
                                                Thread.sleep(10000);
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                        System.out.print(i);
                                };
                        }.start();
                }
        }
}
A. 程序因异常而终止
B. 55555
C. 因为线程安全问题, 输出结果不确定
D. 12345

8. 假设运行某一个程序时出错, 控制台报出以下信息, 以下说法不正确的是:   
Exception in thread "main" java.lang.NullPointerException
        at cn.itcast.Demo.show(Demo.java:12)
        at cn.itcast.Demo.main(Demo.java:8)
A.        出现的异常类型为空指针异常,该异常产生的原因是使用了null去调用属性或者方法
B.        异常由Demo类中调用该类的show方法时抛出, 在该类中的第12行处出现异常
C.         出现异常的调用是在Demo类的main方法中, 在Demo类的第8行
D.        出现异常的线程名为main, 因此该异常一定是在主线程抛出

9.        下面程序执行的结果是:  
        int x =1,y=1;
        if(x++==2 & ++y==2) {
                x=7;
        }
        System.out.println("x="+x+",y="+y);
        A.  x=1,y=2
        B.  x=7,y=1
        C.  x=7,y=2  
        D.  x=2,y=2

10. 以下代码输出结果是:  
ByteArrayOutputStream bais  =  new ByteArrayOutputStream();
        bais.close();
        bais.write(100);
        byte[] arr = bais.toByteArray();
        String str = new String(arr);
        System.out.print(str);
        A. 100
        B. 空字符串""
        C. 运行报错
D. d

二、填空题,每题2.5分:
1. int x=2;int y=x++/3;则y的值是_______ 。

2. 下列代码的输出结果是________.
boolean b=true?false:true==true?false:true;
System.out.println(b);

3. 带有_______修饰符的类称为最终类。

4. Java语言支持的类型可以分为两种,分别是基本类型和引用类型。其中基
类型包括__________和数值类型,引用类型包括_____________、__________和__________类型,还有一种特殊的__________类型。

5. Java语言有两种类型转换方式,分别是_____________和_____________。有以下数据类型:short、double、long、int、byte、float,请按照从小到大的容量大小排序: ___________________________________________________。

6. Java语言有两种流程控制结构:分支结构和循环结构。其中分支结构有_______、_______两种分支语句;循环结构有_______、_______和________循环语句。

7. Java面向对象的三大特征_______、_______、_______。其中有:class A extends B{•••},可以说B是A的_______;java实现良好的封装有public、private、__________三个访问控制修饰符。

8. List集合和Set集合是Collection的子接口,List集合的特点是_________,Set集合的特点是________。HashSet的底层结构是______;TreeSet的底层结构_____________,TreeSet排序有自然排和___________。

9. List集合有四种遍历方式,分别是:_____ 、_____ 、_____ 、_____ 。

10. 下面程序运行的结果为_____ 。
public class Demo {       
        public static void main(String[] args) {
                System.out.println(A.c.c.c);
        }
}
class A {
        A(){
                System.out.println("static block A");
        }
        static B c;
}
class B {
        static C c;
        static {
                System.out.println("static block B");
                c = new C();
        }
}
class C {
        static int c = 10;
        C(){
                System.out.println("constructor C");
                c = 11;
        }
}

三、编程题,1、2题每题15分,第3题20分:
1、某公司营业额按照月份统计的数据如下:单位(万元)
                一月:52    四月:78    七月:44   十月:45
                二月:45    五月:23    八月:45   十一月:66
                三月:33    六月:37    九月:98   十二月:32       
编写一个程序,用一维数组存储这些数据,脚标表示月份。然后再对营业额进行求和(注:不允许直接数字相加)
       
2. 在第一题的基础上运用冒泡排序或者选择
3. 排序的方法分别对12个月的营业额进行排序(注:排序方法二选一。对营业额进行排序)。

3. 在以上题目的基础上实现输入月份(1-12)查询相应月份营业额的功能。

3 个回复

倒序浏览
都不会做,先练习 一下!!!!
回复 使用道具 举报
留个坐标。
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马