一、填空题
1.包的命名规范是(包名全部小写).
2 权限访问控制符中,访问权限最小的是(private)。
3 权限访问控制符中,访问权限最大的是(public)。
修饰的属性或方法只可以被本类、本包内的类使用,应选择的修饰符是(private)。
4 面向对象中,继承需要使用到的关键字是(extends)。
5、List接口的特点是(有序列表)。
6、ArrayList和LinkedList的区别是(ArrayList底层是数组,LinkedList底层是链表)。
7、关于ArrayList类的get方法的功能是(通过下标获取元素)。
8、对ArrayList进行删除元素时,需要的方法是(remove())。
9、如果要获得集合的元素个数,需要调用的方法是(size())。
10、List接口的常用实现类包括(ArrayList,LinkedList)。
11.Collection的常用子接口包括(List,Set)。
12 Collection的父接口是(Iterable)。
13基本数据类型int的封装类是(Integer)。
14、能够去除字符串首尾空格的方法是(trim()方法)。
15、能够实现截取字符串操作的方法是(substring()方法)。
16、Math类中的哪个方法可以取绝对值?(abs()方法).
17、Math类中的哪个方法可以求四舍五入?_(round()方法)
18 .数组是一种引用数据类型
19int类型的数组默认值是(0)。
20.若有如下程序段程序的执行结果是(1)
int index=1; int foo[]=new int[3]; int bar=foo[index];int baz=bar+index;
21.设有下列数组定义语句: int a[][]= {{1, 2}, {3}};则此a[1][0]的值为(3)。
22、Java基本类型中字符类型是(char)
23、换行的转义字符的是(\n)
24、单行注释的语法是(\\)
25、Java中标识符的要求包括(首字母小写,不能和关键字重名,驼峰式命名,见名知意)
26、java中byte数据类型的取值范围是(-128~127)
27. Collection是( 接口 )(接口/抽象类/类/最终类)
28. 对ArrayList进行删除元素时,调用的方法是 remove()
29. List接口的常用实现类包括: :(3种)
30. 基本数据类型int的包装类是( Integer )类。
31. 基本数据类型double的包装类是( Double )类。
32. ( LinkedList )更适合增加删除操作频繁的场合
33. ArrayList类中,如果要修改元素的值,调用的方法是 set()
34. List( 实现 )了Collection接口。(继承/实现)
二.代码阅读题
1、若有如下接口A的定义,下列哪些类下确实现了该接口
interface A {
void method1(int i);
void method2(int j);
}
A class B { void method1(int i ) { } void method2(int j ) { } }
B class B implements A{ public void method1(int x ) { } public void method2(int y ) { } }
C class B implements A { void method1(int i ) { } void method2(int j ) { } }
D class B implements A{ void method1( ) { } void method2( ) { } }
2、求字符串的长度的方法是::
正确答案:A
A length()
B size()
C length
D size
3、能够实现截取字符串操作的方法是::
正确答案:A
A substring()
B substr()
C indexof()
D equals()
5、输出结果为(e java)
String str =“I like java”;
System.out.println(str.substring(5));:
从5开始到结束(从0开始数,数到5)
三 判断题
1.List接口的特点是无次序,可重复 ✖
2.ArrayList和LinkedList在删除和新增操作(remove/add)中,ArrayList更占优势 ✖
3.List和Set都是Collection的子接口 ✔
4.ArrayList list = new ArrayList();在编译时会报错 ✖
5.用迭代器遍历集合中的元素,判断集合中是否仍有元素可以迭代,可以用hasNext ✔
6.在进行插入操作时,如果插入的是集合的头部,ArrayList性能和LinkedList性能差不多。 ✖
7.泛型的优点是不用向下强制类型转换 ✔
四 单选题
1.如果要获得集合的元素个数,需要调用的方法是( C )
A length()
B add()
C size()
D remove()
2.基本数据类型Long的包装类是( C )类。
A Integer
B String
C Long
D Float
3.输出结果为( C )
String str ="Collection";
System.out.println(str.substring(1));
A Coll
B Collection
C ollection
D ollec
五 多选题
1 欲构造List接口类型的一个实例,此实例使用ArrayList类实现,下列哪个方法是错误的::(CD)
A List myList=new ArrayList();
B ArrayList myList=new List();
C List myList=new Object();
D List myList=new List();
2. public class Demo{//我严重怀疑这些程序都是直接在word手打的,为啥每次的双引号都是中文的...
public static void main (String[] args){
List al=new ArrayList();
a1.add(“A”);
a1.add(“B”);
a1.add(“B”);
a1.add(“C”);
System.out.println (al);
}
}
上述程序执行后的输出不是哪项::(ABD)
A [A,B,C]
B [A,B,C,C]
C [A,B,B,C]
D [B,A,C,B]
六.技能题
1. 创建一个学生类,属性:姓名,年龄,班级
创建初始化学生信息的构造方法。
封装学生属性信息,定义show()方法,输出学生的详细信息。
创建3个Student对象,并将创建的3个学生对象依次添加到ArrayList对象中
遍历输出学生的详细信息。
查询所有年龄大于18岁的学生姓名,年龄
查询是否存在名字叫:张三的学生,如果存在则删除,没 有存在则添加一个姓名叫:张三的学生。
Student.java
package com.xiongluoluo;
public class Student {
private String stuName;
private int stuAge;
private String stuClass;
public Student(){}
public Student(String stuName,int stuAge,String stuClass){
this.stuName = stuName;
this.stuAge = stuAge;
this.stuClass = stuClass;
}
public void show(){
System.out.println("姓名:"+stuName+"\t"+"年龄:"+stuAge+"\t"+"班级:"+stuClass);
}
public void setStuName(String stuName){
this.stuName = stuName;
}
public String getStuName(){
return stuName;
}
public void setStuAge(int stuAge){
this.stuAge = stuAge;
}
public int getStuAge(){
return stuAge;
}
public void setStuClass(String stuClass){
this.stuClass = stuClass;
}
public String getStuClass(){
return stuClass;
}
}
MyDemo.java
@Test
public void test1(){
List<Student> list = new ArrayList<Student>();
Student student1 = new Student("熊落落",18,"软件工程1班");
Student student2 = new Student("杨梦梦",22,"软件工程2班");
Student student3 = new Student("李鹏鹏",26,"软件工程3班");
list.add(student1);
list.add(student2);
list.add(student3);
System.out.println("*******遍历输出学生的全部信息*********");
for(Student student : list){
student.show();
}
System.out.println("*******年龄大于十八岁的学生信息*********");
for(Student student : list){
if(student.getStuAge()>18){
student.show();
}
}
System.out.println("*******查找张三的信息并遍历全部学生信息*********");
int flag = 0;
for(Student student : list){
if("张三".equals(student.getStuName())){
list.remove(student);
flag = 1;
break;
}
}
if(flag==0){
Student student4 = new Student("张三",21,"软件工程4班");
list.add(student4);
}
for (Student student : list){
student.show();
}
}
2.创建一个Hero类,属性包含:编号id,名字name,性别sex,爱好hobby,封装Hero类的所有属性。
要求:
使用List存储Hero对象。
为List添加三个Hero对象
用户输入编号查找对应的Hero信息,如果有对应的则将英雄的的名字改为德玛,否则打印显示没有找到此英雄并添加一个ID为控制台输入的英雄,其他信息自行完善。
遍历输出所有Hero对象,以及每个英雄的所有信息。
Hero.java
package com.xiongluoluo;
public class Hero {
private String id;
private String name;
private char sex;
private String hobby;
public Hero(){}
public Hero(String id, String name, char sex, String hobby) {
this.id = id;
this.name = name;
this.sex = sex;
this.hobby = hobby;
}
@Override
public String toString() {
return "Hero{" +
"id=" + id +
", name='" + name + '\'' +
", sex=" + sex +
", hobby='" + hobby + '\'' +
'}';
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
}
MyDemo.java
@Test
public void test2(){
List<Hero> list = new ArrayList<>();
Hero hero1 = new Hero("1","菠萝吹雪",'男',"菠萝");
Hero hero2 = new Hero("2","梨花诗",'女',"梨花");
Hero hero3 = new Hero("3","西门无恨",'男',"西门");
list.add(hero1);
list.add(hero2);
list.add(hero3);
Scanner sc = new Scanner(System.in);
System.out.println("请输入编号:");
String id = sc.next();
int flag = 0;
for(Hero hero : list){
if(hero.getId().equals(id)){
hero.setName("德玛");
flag = 1;
break;
}
}
if(flag==0){
System.out.println("没有找到此英雄");
Hero hero4 = new Hero(id,"新英雄",'男',"傻猹");
list.add(hero4);
}
for(Hero hero : list){
System.out.println(hero);
}
}