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)查询相应月份营业额的功能。
|
|