1、JAVA语言与WWW技术复习题doc2016-2017 年第二学期 JAVA语言与 WWW技术复习题一、填空题1. Java 的三大体系分别是 _ Java EE _ _ 、_ Java SE _ 、_ Java ME _ 。2. Java 中的变量可分为两种数据类型,分别是 _基本数据类型 _ 和 _引用数据类型 _。3. 在非静态成员方法中,可以使用关键字 _ This _ _ 访问类的其它非静态成员。4.被static 关键字修饰的成员变量被称为 _静态变量 _,它可以被该类所有的实例对象共享。5. 编译 Java 程序需要使用 _ javac _ _ 命令。6. Java 中的程序代码
2、都必须在一个类中定义,类使用 _ class _ 关键字来定义。7. 若int a=12,45,34,46,23; ,则 a2= _ 34_ _ 。8. 面向对象的三大特征是 _封装 、 _继承 _ 和 多态 _ 。9.定义在类中的变量被称为 _成员变量 _ ,定义在方法中的变量被称为 _局部变量 _。10. 异常的捕获通常由try、 catch两部分组成,_ try_代码块用来存放可能发生异常, _ catch_代码块用来处理产生的异常。11. String 类中用于返回字符串字符个数的方法是 _ length() _ 。12. JDK中提供了一系列可以存储任意对象的类,统称为 _ 集合 _
3、 _ 。13. 在Java 中,能实现线程间通信的流是 _管道流 _ 。14. 是 _ PrintStream setOut(PrintStream out)_类的对象,称为标准输出流,调用_ 方法可以实现标准输出流的重定向。System类 的 _15. 在程序开发中,要想将一个包中的类导入到当前程序中,可以使用 _ import _关键字。16.System 类中所提供的属性和方法都是_静态_的,想要引用这些属性和方法,直接使用System 类调用即可。17.Collection有两个子接口分别是List和 Set , List 集合的特点是有序、可重复,Set 集合的特点是无序、不可重复。
4、18.InputStreamReader类是用于将 _字节流 _转换为 _字符流 _。19.在 Java 中, byte类型数据占 _1_个字节, short类型数据占 _2_个字节, int类型数据占 _4_个字节, long 类型数据占 _8_个字节。20.当一个对象被当成垃圾从内存中释放时,它的_ finalize()_方法会被自动调用。二、选择题1. 下面哪种类型的文件可以在 Java 虚拟机中运行?A、 .java B 、 .jre C 、 .exe D 、 .class2.以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,
5、在程序中的任何位置都可以被访问D、在程序中,可以将一个 byte 类型的值赋给一个 int 类型的变量,不需要特殊声明3.请先阅读下面的代码。 int x = 1;int y = 2;if (x % 2 = 0) y+; else y-;y= + y);上面一段程序运行结束时,变量 y 的值为下列哪一项?A、 1 B 、 2 C 、 3 D 、 switch 语句4.在以下什么情况下,构造方法会被调用?A、 类定义时 B 、 创建对象时C、 调用对象方法时 D 、 使用对象的变量时5.请先阅读下面的代码public class Test public Test() 构造方法一被调用了 );pu
6、blic Test(int x)this(); 构造方法二被调用了 );public Test(boolean b)this(1); 构造方法三被调用了 );public static void main(String args) Test test = new Test(true);上面程序的运行结果为下列哪一项?A、构造方法一被调用了 B、构造方法二被调用了C、构造方法三被调用了 D、以上三个选项之和6.类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?A、 public B 、 protectedC、 private D 、 default7.下面的程序段执行后,输出的结果
7、是以下哪个选项?StringBuffer buf=new StringBuffer(Beijing2008);(7,);、Beijing2008 B 、 Beijing2008C、 Beijing2008 D 、 Beijing#20088.Java 语言中,集合类都位于哪个包中?A、 B 、C、 D 、9. 以下选项中,哪个是 File 类 delete() 方法返回值的类型?A、 boolean B 、 intC、 String D 、 Integer10. 以下对 File 类的 public boolea isFile() 方法的描述,哪个是正确的?A、判断该 File 对象所对应的是
8、否是文件。B、判断该 File 对象所对应的是否是目录。C、返回文件的最后修改时间。D、在当前目录下生成指定的目录。11.Java 属于以下哪种语言?A、机器语言 B 、 汇编语言 C 、高级语言 D 、以上都不对12. 假设 int x = 2 ,三元表达式 x0?x+1:5 的运行结果是以下哪一个?A、0 B 、2 C、3 D 、513.在类的继承关系中,需要遵循以下哪个继承原则?A、多重 B、单一 C 、双重 D 、不能继承14.编译运行下面的程序,结果是什么?public class A public static void main(String args) B b = new B(
9、);();void test() A);class B extends A void test() ();B);A、产生编译错误 B 、代码可以编译运行,并输出结果 ABC、代码可以编译运行,但没有输出 D 、编译没有错误,但会产生运行时异常15.以下都是 Math 类的常用方法,其中用于计算绝对值的方法是哪个?A、 ceil() B 、 floor() C、 abs() D 、 random()16.阅读下面的程序:public class test public static void main(String args) int i;float f = ;double d = ;i = (
10、int)(f) * (int)(d);程序执行后,运行结果为以下哪个选项?A、 9 B、 5 C、6 D、17.使用 Iterator 时,判断是否存在下一个元素可以使用以下哪个方法?A、 next() B 、 hash() C 、hasPrevious() D 、 hasNext()18.类的定义必须包含在以下哪种符号之间?A、方括号 B 、花括号 C 、双引号“” D 、圆括号 ()19.要产生 20 , 999 之间的随机整数可以使用以下哪个表达式?A (int)(20+()*97)B.20+(int)()*980)C.(int)()*999D.20+(int)()*98020.先阅读下
11、面的程序片段:String str1=new String(java);String str2=new String(java);StringBuffer str3=new StringBuffer(java);对于上述定义的变量,以下表达式的值为 true 的是哪个?A、 str1=str2; B、 (str2) ; C、 str1=str3; D、以上都不对21.在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?A 、HashMap B 、 TreeSet C 、 Properties D 、 TreeMap22.要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用以下哪个
12、集合?A、LinkedList B 、 ArrayList C 、 hashSet D、 TreeSet三、简答题1.简述 &与 &的区别并举例说明。如果使用“ &”在表达式之间进行连接,那么无论任何情况, “ &”两边的表达式都会参与计算。如果使用“ &”进行连接,当“ &”左边的表达式为 false ,则不会执行其右边的表达式。例如定义 int x = 2,y = 0; boolean b = x 0 表达是会发生被 0 除异常,因为 x / y 的表达式执行了。而 boolean b = x 0 是不会出现这种异常的,因为x y为false,表达式x / y不会执行。2.什么是方法重载?
13、方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。3.构造方法和普通的成员方法有什么区别?构造方法是类的一个特殊成员, 它会在类实例化对象时被自动调用。 而普通方法只有在使用的时候才会被调用。 在定义构造方法时要求方法名与类名相同、 在方法名的前面没有返回值类型的声明、在方法中不能使用 return 语句返回一个值4.抽象类和接口的区别?在 Java 中,使用 abstract 关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类, 同时实例化子类来获得该类的对象
14、。 抽象类通常用于表示一种抽象的概念。接口可以说是一种特殊的抽象类, 接口中只能定义常量和抽象方法。 由于接口的特殊性,在定义时需要使用 interface 关键字。5. String和 StringBuffer有什么区别?String 类是不可变类, 即字符串值一旦初始化后就不可能改变。符串类,类似 String 的缓冲区,可以修改字符串的值。StringBuffer是可变字6.简述 Java 的特点。面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。7.什么是多态?多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态
15、就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。8.集合中的 List 、 Set、 Map有什么区别?List 的特点是元素有序、 元素可重复。 List 接口的主要实现类有 ArrayList 和 LinkedList 。Set 的特点是元素无序、 元素不可重复。 Set 接口的主要实现类有 HashSet 和 TreeSet 。Map的特点是存储的元素是键 (Key) 、值 (Value) 映射关系, 元素都是成对出现的。 Map接口的主要实现类有 HashMap和 TreeMap。9. 请说说 Collection 和 Collections 的
16、有什么区别?Collection 是一个单例集合接口。它提供了对集合对象进行基本操作的通用方法。Collections 是一个工具类。它包含各种有关集合操作的方法。四、程序题1.请编写程序,实现计算“ 1+3+5+7+ +99”的值。public class Test01 public static void main(String args) int sum = 0;for (int i = 1; i 100; i+) if (i % 2 != 0)sum += i;2 请按照以下要求设计一个学生类 Student ,并进行测试。要求如下:1) Student 类中包含姓名、成绩两个属性2)
17、分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值 .3) Student 类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值4)在测试类中创建两个 Student 对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值class Student private String name;private double grade;public Student() public Student(String name, double grade) =name;=grade;publi
18、c String getName() return name;public void setName(String name) = name;public double getGrade() return grade;public void setGrade(double grade) = grade;public class Test01 public static void main(String args) Student stu1 = new Student();(zhangsan);(99);Student stu2 = new Student(lisi, 100);.3.在 Has
19、hSet 集合中添加三个 Person 对象,把姓名相同的人当做同一个人, 禁止重复添加。提示:1) Person 类中定义 name和 age 属性,重写 hashCode() 方法和 equals() 方法,针对 Person 类的 name属性进行比较,如果 name相同, hashCode() 方法的返回值相同, equals 方法返回 true 。import .*;public class Test02 public static void main(String args) HashSet hashSet = new HashSet();Person p1 = new Perso
20、n(Jack,25);Person p2 = new Person(Rose,23);Person p3 = new Person(Jack,27);(p1);(p2);(p3);for(Object obj:hashSet)Person p=(Person)obj;:+;class PersonString name;int age;public Person(String name, int age) super();=name;=age;public int hashCode() return ();public boolean equals(Object obj) if (this = obj)return true;if (obj = null)return false;Person other = (Person) obj;return
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1