20期入学综合考试B
一、单选题,每题2.5分:
1. 下面程序的运行后,a,b,c的值正确的是:
int a=2,b=3;
int c=(a+b>5?a++:++b);
A. a=2,b=4 B. a=1,b=3 C. a=1,b=2 D. c=2
2. 关于IO流, 以下说法不正确的是:
A. 可以分为两大体系, 字节流和字符流
B. 复制java的字节码文件使用字符流来操作更好
C. 当需要将一个文件内容读取到内存时可以使用文件输入流
D. 当对流中数据的操作都在内存中时, 可以使用内存流
3. 关于File类, 以下说法不正确的是:难度☆☆
A. File中方法createNewFile()不会抛出异常
B. Java中File既可以表示文件也可以表示文件夹
C. 如果一个File对象表示的实际是一个文件夹, 用流关联它并写入数据时会出异常
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. 程序因异常而终止
C. 打印出set中的元素, 元素顺序和放入的顺序是不一致的
D. 打印出set的地址值
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.66666
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. 出现异常的线程名为main, 因此该异常一定是在主线程抛出
C. 异常由Demo类中调用该类的show方法时抛出, 在该类中的第12行处出现异常
D. 出现异常的调用是在Demo类的main方法中, 在Demo类的第8行
9. 下面程序执行的结果是: 难度☆☆☆
int x =1,y=1;
if(x++==2 && ++y==2) {
x=7;
}
System.out.println("x="+x+",y="+y);
A. x=2,y=2 B. x=2,y=1 C. x=1,y=2 D. x=7,y=2
10. 以下代码输出结果是: 难度☆☆☆☆
ByteArrayOutputStream bais = new ByteArrayOutputStream();
bais.close();
bais.write(98);
byte[] arr = bais.toByteArray();
String str = new String(arr);
System.out.print(str);
A. b B. 运行报错 C. 空字符串"" D. 98
二、填空题,每题2.5分:
1. int x=2;int y=++x/3;则y的值是_______
2. 下列代码的输出结果是_______
boolean b=false?true:true==false?true:true;
System.out.println(b);
3. 带有_______修饰符的类称为抽象类。
4. 对于char型、short型、int型、long型、float型变量,这五种数据类型分别占用_______、_______、_______、_______、_______个字节。
5. 方法重载是一个类中方法名_______,参数列表_______;而方法的修饰符与方法重载有无关系?_______(有/无),方法的返回值类型能用于区分是否是方法重载么?_______(是/否)
6. Java语言有两种流程控制结构:分支结构和循环结构。其中选择结构有_______、_______两种分支语句;循环结构有_______、_______和_______循环语句。
7. Java面向对象的三大特征_______、_______、_______。有:class A implements B{•••},其中B是一个_______,A_______了B。
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("constructor C");
c = new C();
}
}
class C {
static int c = 10;
C(){
System.out.println("static block B");
c = 9;
}
}
三、编程题,1、2题每题15分,第3题20分:
1、某公司营业额按照月份统计的数据如下:单位(万元)
一月:52 四月:78 七月:44 十月:45
二月:45 五月:23 八月:45 十一月:66
三月:33 六月:37 九月:98 十二月:32
编写一个程序,先用一维数组存储这些数据,脚标表示月份。然后再对营业额进行求和(注:不允许直接数字相加)
2. 在第一题的基础上运用冒泡排序或者选择排序的方法分别对12个月的营业额进行排序(注:排序方法二选一,对营业额进行排序)。
3. 在以上题目的基础上实现输入月份(1-12)查询相应月份营业额的功能。
|
|