概述
软件学院实训第一次考试
选择题
1.设x=1,y=2,z=3,则表达式y+=z–/++x值是( A)。
A、3
B、3.5
C、4
D、5
2.Java中,Byte数据类型的取值范围是( B)。
A、-127~128
B、-128~127
C、-255~255
D、-256~255
3.关于多态性的说法正确的是( D)。
A、子类中不能有和父类中同名的方法
B、多态性就是方法的名字可以一样,但返回的类型必须不一样
C、一个类中不能有同名的方法
D、子类中可以有和父类中同名且参数相同的方法
4.关于下面程序片段,结论正确的是(B )。
String a =”Java”;
String b=”Java”;
String x=”Ja”;
String y=”va”;
String c=x+y;
A、a和b不指向同一个实例对象,a和c指向同一个实例对象
B、a和b不指向同一个实例对象,a和c不指向同一个实例对象
C、a和b指向同一个实例对象,a和c不指向同一个实例对象
D、a和b指向同一个实例对象,a和c指向同一个实例对象
5.关于super的说法正确的是( C)。
A、可以用在main()方法中
B、是指当前对象的内存地址
C、是指当前对象的父类对象的内存地址
D、是指当前对象的父类
6.构造函数何时会被调用?( B)
A、抽象类中的方法都是抽象方法
B、创建对象时
C、可以出现在非抽象类中
D、是没有方法体的方法
7.不允许作为类及类成员的访问控制符是(C )
A、public
B、private
C、static
D、protected
8.执行下面代码后,描述正确的是( C)
int a,b,c;
a=1;
b=2;
c=(a+b > 3?a++:b++)
A、c的值是false
B、a的值是2,b的值是2
C、a的值是1,b的值是3
D、a的值是2,b的值是3
9.下面的方法重载正确的是( B)。
A、float fun1 (int a, float b){} float fun2(int a ,float b){}
B、float fun (float a){} float fun(float a, float b){}
C、float fun (int a, float b) {} float fun (int x, float y){}
D、int fun (int a, float b){} float fun(int a, float b){}
10.下面代码中,编译时会发生错误的是( A)。
class Parent{ }
class Child extends Parent{
public static void main (String [] args){
Parent p1 = new Child (); //第一行
Parent p2 = new Parent (); //第二行
Child c1 = new Child (); //第三行
Child c2 = new Parent (); //第四行 }
}
A、第四行
B、第三行
C、第二行
D、第一行
11.字符流和字节流的区别在于( D)。
A、前者带有缓冲,后者没有
B、前者是块读写,后者是字节读写
C、二者没有区别,可以互换使用
D、每次读写的字节数不同
12.Java中,关于HashMap类的描述,错误的是(D )。
A、HashMap使用键/值的形式保存数据
B、HashMap允许将null用作值
C、HashMap允许将null用作键
D、HashMap能够保证其中元素的顺序
13.关于继承的说法,正确的是(A )。
A、一个类只能有一个超类
B、一个类只能有一个子类
C、一个类可以有几个超类
D、超类的对象就是子类的对象
14.Java语言中,尝试对null对象进行操作时,会产生(B )类型的异常。
A、EOFException
B、IOException
C、NullPointerException
D、ArithmeticException
15.编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( A)
A、class
B、exe
C、java
D、html
填空题
16.任何一个Java程序都默认引入一个包,这个包的名字是(java.lang)。
17.什么是多态(相同类型的对象调用相同的方法表现出不同的行为特征。)
18.输入输出流一般分为(字节输入流),(字节输出流),(字符输入流),(字符输出流)。
19.继承是做什么用的(复用),还可以通过什么方式实现(组合)
20.面向对象的三大特性有哪些?(封装)(继承)(多态)
21.FileInputStream是(字节流),BufferedWriter是(字符流),ObjectOutputStream是(对象流)
22.假设x=13,y=14,则表达式x%y!=0的值是(true),其数据类型是(boolean)
23.ArrayList集合的底层实现是一个类型的(Object),如果要使ArrayList集合只能存储一个数据类型,需要为这个集合添加(泛型)。
24.方法add(T <? extends Pair > p) 不能对对象p进行(set)操作,方法add(T <? super Pairp) 不能对对象p进行(get)操作。(填写set或get)
25.什么是封装(把一个类的信息封装到类的内部,不能让外部直接访问,如果外部需要访问,必须使用这个类提供的方法进行访问。)
26.在使用interface声明一个接口时,只可以使用(public)修饰符修饰该接口。
简答题
27.接口和抽象类的用法区别是什么?
(1)接口中只能包含抽象方法,不能包含普通方法;抽象类中可以包含普通方法。
(2)接口中不能定义静态方法;抽象类中可以定义静态方法。
(3)接口中只能定义静态常量属性,不能定义普通属性;抽象类里可以定义静态常量属性,也可以定义普通属性。
(4)接口不能包含构造器;抽象类可以包含构造器,抽象类里的构造器为了让其子类调用并完成初始化操作。
(5)接口中不能包含初始化块,但抽象类可以包含初始化块。
(6)一个类最多只能有一个直接父类,包括抽象类;但是一个类可以实现多个接口。
28.请使用lambda表达式,获取dishs集合中Dish对象的calories小于400的Dish的名称,并按照calories进行正序排列。(请附上代码和运行结果,以图片的形式)
题目部分信息
dishs集合数据:
new Dish("salmon", 240);
new Dish("beef", 150);
new Dish("chicken", 450);
new Dish("fruit", 550);
new Dish("rice", 350);
new Dish("pizza", 250);
Dish类
部分
class Dish {
private final String name;
private final int calories;
}
答案
public class StreamTest {
public static void main(String[] args) {
List<Dish> menus = Arrays.asList(
new Dish("salmon", 240);
new Dish("beef", 150);
new Dish("chicken", 450);
new Dish("fruit", 550);
new Dish("rice", 350);
new Dish("pizza", 250););
List<Dish> lastMenus = menus.stream()
.filter(item->item.getCalories()<400)
.sorted(Comparator.comparing(Dish::getCalories))
.map(Dish::getName)
.collect(Collectors.toList());
lastMenus.forEach(System.out::println);
}
}
29.请使用冒泡排序将数据(1,5,8,9,2,4,1,5,80,41,20)进行正序排序(请附上代码和运行结果,以图片的形式)
public class Sort {
public static void main(String[] args) {
int[] arr ={1,5,8,9,2,4,1,5,80,41,20};
for (int i = 0; i < arr.length; i++) {
boolean flag= true;
for (int m =0;m<arr.length-i-1;m++){
if (arr[m]>arr[m+1]){
int temp =arr[m];
arr[m]=arr[m+1];
arr[m+1]=temp;
flag=false;
}
}
if (flag) break;
}
System.out.println(Arrays.toString(arr));
}
}
30.抽象类和抽象方法有哪些规则?
(1)抽象类必须使用abstract修饰符来修饰,抽象方法必须使用abstract修饰符来修饰。
(2)抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例,即使抽象类里不包含抽象方法,这个抽象类也不能创建实例。
(3)抽象类可以包含属性、方法(普通方法和抽象方法)、构造器、初始化块、内部类、枚举类。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。
(4)含有抽象方法的类(包括直接定义了一个抽象方法;继承了一个抽象父类,但没有完全实现父类包含的抽象方法;以及实现了一个接口(本书第六章详细介绍),但没有完全实现接口包含的抽象方法三种情况)只能被定义成抽象类。
最后
以上就是糟糕石头为你收集整理的软件学院实训第一次考试软件学院实训第一次考试的全部内容,希望文章能够帮你解决软件学院实训第一次考试软件学院实训第一次考试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复