一、填空题(30道)
1.JVM执行Java程序的过程有 ( 加载 )、(链接 )和( 初始化 )。
参考:https://www.cnblogs.com/dooor/p/5289994.html
加载:JVM把class文件加载到内存
链接:将java类的二进制代码合并到JVM的运行状态之中的过程
初始化:初始化阶段是执行类构造器<clinit>()方法的过程
2.JDK包括( Jre )和( 程序运行所需的一些类库 )
3.Java中基本类型long占用( 8 )个字节
4转移字符\t的含义是( 空八格 )。
5.String类对象的equals方法含义是( 比较的是字符串本身是否相同 )。
6.8>>2的结果是(2 )。
7.导入包的目的是( 使用包中已经定义好的类,方法 )。
8类的静态方法只能直接调用其他( 静态方法 )或访问( 静态变量 )。
9子类的对象可以赋给( 父类 )的引用变量,但是这时使用( 父类 )的引用变量只能访问( 父类)中定义的那些成员变量。
10.Object类中的equals()方法和“==”运算符的含义( 比较两者的地址是否一样,equals方法可以比较引用数据类型.==只能比较非引用数据类型 )。
11如果final修饰方法,表示(方法不可以被子类重写 )。
12如果final修饰类,表示( 此类是最终类,没有子类 )。
13方法重写规则是(方法名参数)相同、(返回值 )相同。
14接口中所有方法隐式地标识为(public )、(abstract)。
15抽象类(有)构造方法,接口(没有) 构造方法。括号中填入有或没有
16计算字符串长度的方法是(length())。
17.String的concat(String str)的含义是(连接两个字符串,拼成一个字符串 )。
18.String的 charAt(int index)的含义(将字符串中第(index+1)个字母转换为字符 )。
19.StringBuffer类是( 线程安全的类 ),而StringBuilder则不是。
20.返回映射条目的键的方法是( size() )。
21.Map映射中利用(get() )的方法的得到映射中的值。
22.HashTable是线程( 安全)。
23.异常在处理过程中用(throws )关键字抛出异常对象。
24异常处理程序中最多只能有一个(try)块。
25.NullPointerException属于(空指针)异常,含义是(没有任何对象指向)。
26. 关键字(private )的含义是私有的
27 .双精度类型是( double )
28 int A,B,C;A=2;B=3;C=A >B?100:200,那么C的值为:: (200)
29. public class Test{
public static void main(String[] args){
int i = 5;
do{
System.out.println(i);
}while (--i>4)
}
}
执行后的输出是 (5)
30 面向对象的特征是:( 封装,继承,多态 )(三个)
31 子类里使用( super )关键字,可以调用父类里的方法。
32 ( Object )类是Java体系的单根父节点,所有Java类都从此类继承::
33.( sun )公司在1995年年初发布了java语言
34开发Java程序除了需要安装JDK以外还需要配置( 环境变量 )
35定义类的关键字是( class )
36 设有下列数组定义语句int d[][]= { {111, 100,200}, {131,141}};则此d[0][1]的值为(100 )。
37 逻辑或 ( || ) 运算规则同时为假即为假 一者为真即为真。 (填写 &&或||或!)
38 在Java提供的访问修饰符中,访问权限最大的是( public )。
39 JAVA中医生姓名属性最好使用( String )数据类型。(填写英文)
40 获取数组长度的属性是( length )。
41面向对象三大特征是( 封装 )、( 继承 )、( 多态 )。
42封装要求属性定义的类型是( private )
43 接口中的方法是( public abstract修饰的 )
44 给Set对象里添加一个元素,用到的方法是( add() )
45 Java中基本类型long占用( 8 )个字节
46 返回set列表中的元素个数可以使用哪个方法( size() )
47 Math.pow(3,2)的结果是( 9 )
48 String str = “字符串长度points”;字符串的长度为( 11 )。
二、代码阅读器(5道)
1.阅读以下代码,并写出运行结果
public static void main(String[] args) {
out(new Son());
}
private static void out(Father father){
father.out();
}
-------------------
class Father{
protected int money = 100000;
public void out(){
System.out.println(money);
}
}
class Son extends Father{
protected int money = 100;
public void out(){
System.out.println(money);
}
};
运行结果为:( 100 )
2.阅读以下代码,并写出运行结果
Integer a = new Integer(3);
Integer b = new Integer(3); System.out.println(a==b);
运行结果为:( false )
4. 阅读以下代码,并写出运行结果
public static void main(String[] args) {
doStuff(new Son());
}
static void doStuff(Father father){
father.out();
}
static void doStuff(Son son){
son.out();
}
----------------------
class Father{
protected int money = 100000;
protected void out(){
System.out.println(money);
}
}
class Son extends Father{
protected int money = 100;
public void out(){
System.out.println(money);
}
}
运行结果为:(100)
5. 阅读以下代码,并写出运行结果
HashSet<Integer> hs = new HashSet<Integer>();
hs.add(0);
hs.add(0);
hs.add(0);
hs.add(1);
hs.add(1);
for (int i : hs){
System.out.print(i);
}
运行结果为:( 01 )
三 判断题
1.在“Person p = new Person();”中Person是对象,p是类. ✖,反了
2 当方法的返回类型为void时,方法体中一定不可以使用return关键字。 ✖
3 方法如果没有返回值,则需要使用NULL来声明 ✖,void
4 HasHSet不能保证元素的排列顺序,顺序有可能发生变化 ✔
5 泛型的优点是不用向下强制类型转换 ✔
6 ArrayList类中,如果要修改元素的值,调用的方法是add() ✖,set
7 关于ArrayList集合,如果要获得集合的元素个数,可以通过size()方法获得。 ✔
8 this作为调用者来调用父类被覆盖的实例方法。( ✖,super )
9 调用ArrayList类的get方法可以返回元素在此列表中的指定位置。( ✖ )
10 Java中标识符由数字、字母、$、下划线组成,对字母大小写不敏感,不能使用java保留字。( ✖,大小写敏感 )
11 数组是一种基本数据类型。( ✖,引用数据类型 )
12 Math类中的round()方法可以求四舍五入。( ✔