传播智慧,引领未来
传智播客Java基础综合测试题
第一关
1.动手完成 Java 开发包的安装,并设置环境变量 Path 。
2.编写一个程序,要求程序运行后在屏幕上输出: *************************** This is my first java program! ***************************
3.编写一个程序,该程序从命令行接收 4 个参数,并将接收的 4 个参数打印输出到屏幕。
第二关
1. 指出下列哪些变量名称是不合法的?
tomSalary,float,1people,people1,price_per_m,price-per_m,$root,@test
2 、写出 int min=x>y?y:x 的等价 if 语句。
3 、利用 java API 帮助文档,找到一个可以将给定的字符串转化为小写的方法。
4 、打印出成绩等级,如果成绩大于等于 90 分,输出“优秀”,如果成绩大于等于80 分,输出“良好”,如果大于等于 70 分,输出“中等”,如果大于等于 60 分,输出“及格”,其它输出“不及格”。
5、用冒泡和选择两种方式对数组进行排序。
第三关
1 、选择题
(1)程序 TestSketch.java 代码如下, 4 个选项中正确的描述是() Class A { }
Class B extends A { }
Public class TestSketch {
Public static void mian(String[] args)
传播智慧,引领未来
{
A a=new A(); B b=(B)a;
} }
A.通过编译并正常运行 B.编译时出现异常
C.编译通过,运行时出现异常
D.编译器报告找不到 TestSketch.java
(2)下面有关类 Demo 的描述正确的有() Public class Demo extends Base {
Private int count; Public Demo() {
System.out.println(“A Demo object has been created”);
}
Protected void assone() {
Count++;
} }
A.当创建一个 Demo 类的实例对象时, count 的值为 0
B.当创建一个 Demo 类的实例对象时, count 的值是不确定的 C.Base 类型的对象中可以包含改变 count 值的方法 D. Demo 的子类对象可以访问 count
3) 阅读下面的程序,正确的选项为() Class person {
String name; String nickname;
Public person(String s,String t) {
name = s; nickName=t; }
Public String toString() {
return name + “ nickname = “+nickName; } }
public class Teacher extends Person {
String rank;
Public Teacher(String s,String t,String r) {
super (s,t);
传播智慧,引领未来
rank=r;
}
public String toString() {
return name+”nickname=”+nickName+” rank=”+rank;
}
public static void main(String args[]) {
person a= new Person(“Tom”,”Tiger”);
person b=new Teacher(“Jack”,”Horse”,”Professor”); Teacher c= new Teacher(“Bobby”,”Elephant”,”Lecture”); System.out.println(“a is “+a.toString()); System.out.println(“b is”+b.toString()); System.out.println(“c is”+c.toString()); }
}
? 编译时会出现错误 ? 运行时会出现错误 ? 运行结果为:
a is Tom nickname=Tiger
b is Jack nickname=Horse rank=Professor c is Bobby nickname=Elephant rank=Lecture
D. 运行结果为:
a is Tome nickname=Tiger b is Jack nickname=Horse
c is Bobby nickname=Elephant rank = Lecturer
2. 假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性: 姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个 奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方 法进行属性访问。 (从各个对象向上抽取的方式思考)
3 、定义一个自己的数学类 MyMath. 类中提供静态方法 max, 该方法接受 3 个同 类型的参数(例如整型),返回其中的最大值。 Int sum = 0;a,b,c
Max = ((sum = a>b?a:b)>c)?sum:c;
4、定义一个Car类,保证该类对象在内存中只存在一个。写出例程。
第四关
1 、接口和抽象类的区别
2 、选择题
(1).在使用 interface 声明一个接口时,可以使用()修饰符修饰该接口。 A. private B. protected
C.private or protected D.public
传播智慧,引领未来
(2)虽然接口和抽象类不能创建对象,但它们的对象引用仍可指向该类型的对象。这种说法() A.正确 B.不正确 C.不能确定
D.接口和抽象类不能说明其对象引用
(3).接口中说明了一组公共的抽象方法,其中是否包含公共的静态方法?答案是() A.可以 B.不可以 C.不能肯定
D. 因静态方法不能被改写,故不能出现在接口中
4 )当我们说明一个类 C 实现一个接口 I ,下面说法()不正确 A.接口 I 是类 C 一个超类型 B.类 C 也实现了接口 I 的超接口 C.类 C 的子类也实现接口 I
D.接口 I 类型的对象引用所指定的对象一定是类 C 或其子类的一个对象。
3. 填空题
(1) 我们可以通过 ____________ ,使得处于不同层次,甚至互不相关的类具 有相同的行为,然后由每个类分别去实现这些行为。 (2) 接口声明的关键字是 ______________ 。
(3) 在声明类的同时,我们可通过关键字 __________________ 实现接口。 (4) 使用类实现接口时,必须 __________ 该接口的所有方法。 (6) 创建包的关键字是: ____________ 。
(7) 引入包 grade 的 best 类,可使用语句: ____________________________ 。
第五关
1. 下面这种捕获异常的方式适当么?说明理由 Try{ ?
}catch(Exception e){ ..
}catch(FileNotFoundException a){ ? }
2.编写程序,越界访问数组元素的下标,捕获并打印异常信息。
3.描述模板方法设计模式。写出例程。
第六关
1. 编写一个线程使得 4 个线程同时运行。
2. 请在程序中创建一个HashSet 实例对象,并向这个对象中添加三个自定义的Student类的实
例对象(Student类有两个属性,姓名和年龄)。要求:如果两个Student对象相当,即两个Student对象的姓名和年龄相等时,必须保证HashSet里面只能有一个对象。 3. 请利用System.getProperties()方法,打印出java虚似机的环境信息。
相关推荐: