选择题(每题3分,共45分)1、下列程序编译或运行的结果是。
() Dpublic static void main(String args[]){int a = 10;int b,c;if(a>50){b=9;}c = b + a;System.out.println(c);}A.10B. 19C. 9D. 编译错误2、下列语句片段中,four的值为 ( ) Dint three = 3;char one = ‘1’;char four = (char)(three+one);A. 3B. 1C. 31D. 43、下列代码的运行结果是 ( ) Dpublic static void main(String[] args){int a = 7;System.out.println(a%3);}A.2.0 B.2 C.1.0 D.14、以下程序的输出结果为( )。
Dpublic static void main(String[] args) {int x = 1, y = 1, z =1;if(x--==1&&y--==1||z--==1)System.out.println(“x=” +x+”, y=” +y+”, z=” +z);}A. x=0, y=1, z=1B. x=0, y=2, z=2C. x=0, y=2, z=1D. x=0, y=0, z=15、下列代码段编译和运行的结果是(). Cpublic static void main(String args[]){String str = “null”;if(str==null){System.out.println(“null”);}else if(str.length()==0){System.out.println(“zero”);} else {System.out.println(“some”);}}A. nullB. zeroC. someD. 编译错误6、下列代码的运行结果是(): Dpublic class Animal{public String noise(){return “peep”;}public static void main(String[] args){Animal animal = new Dog();Cat cat = (Cat)animal;System.out.println(cat.noise());}}class Dog extends Animal{public String noise(){return “bark”;}}class Cat extends Animal{public String noise(){return “meow”;}}A. peepB. barkC. meowD. 编译错误E. 抛出运行时异常7、关于下列代码说法正确的是( ) Dpublic class Foo{public int add(int a,int b){return a+b;}public static void main(String[] args){Foo foo = null;System.out.println(foo.add(10,20));}}A. 编译错误B. 正常运行,但无结果输出C.30D.运行时抛出NullPointerException8、程序的执行结果是 ( ) Bpublic class Test{int x;public static void main(String[] args){Test t = new Test();t.x = 5;change(t);System.out.println(t.x);}public static void change(Test t){t.x = 3;}}A. 5B. 3C. 0D. 49、关于下列代码书法正确的是 ( ) B public class A{public void doit(){}public String doit(){return “a”;}public double doit(int x){return 1.0;}}A. 无编译错误B. 代码public String doit(){行,出现编译错误C. 代码public double doit(int x){行,出现编译错误D. 代码return “a”;行处出现编译错误10、下列代码的运行结果是() DString test = “This is a test”;String[] tokens = test.split(“\\s”);System.out.println(tokens.length);A. 0B. 1C. 3D. 411、请看下列代码() A1 //some code here2 try{3 //some code here4 }catch(SomeException se){5 //some code here6 }finally{7//some code here8}下面那种情况不能使第7行的代码执行:A. 第1行抛出异常B. 第3行抛出异常C. 第5行抛出异常D. 第3行代码成功执行E. 第5行代码成功执行F. 不管如何第7行都会运行12、Java中单一文件里的关键字class import package 出现的顺序应为:() CA. class package importB. class import packageC. package import classD. import package class13、给出以下代码,请问该程序的运行结果是什么? Dclass Example {public static void main(String args[]){String s = new String( "Computer" );if( s == "Computer" )System.out.println( "Equal A" );if( s.equals( "Computer" ) )System.out.println( "Equal B" );}}A、代码编译失败B、打印输出空白行C、打印输出:Equal A;D、打印输出:Equal BE、打印输出:Equal A和Equal B14、Java语言中, 通常把可能发生异常的方法调用语句放到________、________块中,分别用来捕获和处理异常。
() CA. try,finally;B. catch,try;C. try,catchD. finally,try15、下列哪个语句可以获取文件“file.txt”的父目录名称?() DA.String name =File.getParentName(“file.txt”);B.String name =(new File(“file.txt”)).getParent();C.String name =(new File(“file.txt”)).getParentName();D.String name = (new File(“file.txt”)).getParentFile();填空题(每空2分,共20分)1、完成代码计算10的阶乘并输出,把下面代码补全:int result = 1;for(int i = 2; i <= 10; i++){}System.out.println(“result=”+ result);答案:result *= i 或 result = result * i2、在Java的类中需要将一个成员变量设置成子类可访问并且包内可访问,则使用访问修饰符来访问。
答案:protected3、Java中所有类都是类 __的子类答案:ng.Object4、System.out prinln(4/3)的输出结果为___,System.out prinln(4%3)的输出结果为___. 答案:1,15、Java语言中我们可以继承类或实现接口实现多线程。
答案:Thread Runnable6、方法重载的条件中,参数只要满足、、中的任何一点即可。
答案:顺序不同、个数不同、类型不同简答题(共17分)1、请您简述Java语言中的面向对象的特征都有哪些?并逐个阐述。
(8分)答案1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
一是过程抽象,二是数据抽象。
过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。
数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。
2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:封装是面向对象的特征之一,是对象和类概念的主要特性。
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。
在这个阶段定义对象的接口。
通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。
事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。
封装保证了模块具有较好的独立性,使得程序维护修改较为容易。
对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。
4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。
比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。
又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。
多态性包括参数化多态性和包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、请说出List,Set和Map三个接口存储元素时各有什么特点?(9分)答案:List与Set具有相似性,它们都是单列元素的集合,它们有一个共同的父接口,叫做Collection。