Java试卷
- 格式:doc
- 大小:54.00 KB
- 文档页数:5
Java高级程序设计认证试卷(答案见尾页)一、选择题1. Java语言的特性包括哪些?A. 封装B. 多态C. 抽象D. 动态代理2. 在Java中,以下哪个关键字用于定义常量?A. finalB. staticC. constD. var3. Java中的集合框架包含以下哪些接口?A. CollectionB. ListC. SetD. Map4. Java的异常处理机制包括以下哪些关键字?A. tryB. catchC. finallyD. throw5. 以下哪个是Java反射机制中用于获取类信息的方法?A. getDeclaredMethods()B. getGenericSuperclass()C. getAnnotations()D. getComponentType()6. Java的泛型支持以下哪种类型转换?A. 自动装箱/拆箱B. 自动类型转换C. 强制类型转换D. 隐式类型转换7. Java的注解处理器用于执行哪些任务?A. 代码重构B. 类文件生成C. 性能优化D. 错误检查8. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. implementsD. extends9. Java的序列化机制用于以下哪个目的?A. 恢复内存中的对象状态B. 实现跨平台的数据交换C. 提高数据安全性D. 降低数据存储效率10. Java的线程同步机制使用的关键字是?A. synchronizedB. volatileC. lockD. await11. Java语言有哪些基本数据类型?A. byteB. shortC. intD. long12. 在Java中,以下哪个关键字用于定义方法?A. privateB. staticC. finalD. abstract13. Java中的集合框架包括哪些接口和实现类?A. ListB. SetC. QueueD. Map14. Java中,哪个关键字用于实现继承?A. extendsB. implementsC. interfaceD. override15. 在Java中,什么是垃圾回收机制(Garbage Collection)?A. 一种自动内存管理技术B. 一种手动内存管理技术C. 一种动态数组技术D. 一种静态数组技术16. Java中,哪个关键字用于导入其他包或类库?A. importB. includeC. requireD. uses17. 在Java中,什么是异常处理机制?请简述。
java考试试卷考试时间:120分钟一、选择题(每题2分,共20分)1. Java语言是:A. 编译型语言B. 解释型语言C. 编译和解释型语言D. 汇编语言2. 下列哪个不是Java的基本数据类型?A. intB. doubleC. StringD. char3. Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct4. 下列哪个是Java中的异常处理关键字?A. tryB. catchC. finallyD. All of the above5. Java中的集合框架中,哪个接口用于存储一组元素?A. ListB. SetC. MapD. Queue6. Java中,哪个关键字用于实现多态?A. newB. extendsC. implementsD. overrride7. 下列哪个是Java中访问控制修饰符?A. publicB. protectedC. privateD. All of the above8. Java中,哪个类是所有Java类的根类?A. ObjectB. ClassC. SystemD. Thread9. 下列哪个是Java的输入输出流类?A. InputStreamB. OutputStreamC. Both A and BD. None of the above10. Java中,哪个关键字用于定义接口?A. classB. interfaceC. packageD. import二、简答题(每题5分,共30分)1. 解释Java的“一次编写,到处运行”的概念。
2. 描述Java中的垃圾回收机制。
3. 什么是Java的多线程,以及它的重要性。
4. 简述Java中异常处理的基本原则。
5. 解释Java集合框架中的List、Set和Map的区别。
6. 描述Java中泛型的作用和好处。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算,并能够处理用户输入的异常情况。
程序java试卷及答案一、单选题1、用于将java源代码文件编译成字节码的编译器是 ( )。
A. javacB. javaC. jdbD. javah解答:A知识点列表:2.1 JAVA虚拟机、特点及JAVA运行系统。
2、 Java应用程序的入口方法是()。
A. start()B. init()C. paint()D. main()解答:D知识点列表:2.2 Java Applet程序、Application程序的编辑、编译和运行。
3、下列选项在java中属于不合法的标识符的是()。
A. BigMeaninglessNameB. _whatavariableC. #myvarD. $dollar解答:C知识点列表:3.4 Java 语言变量、常量的使用及其运算操作。
4、当在命令行输入:java myprog good morning 运行以下代码,输出结果是()。
public class myprog{public static void main(String argv[]){System.out.println(argv[2]);}}A. myprogB. goodC. morningD. Exception raised: "ng.ArrayIndexOutOfBoundsException: 2"解答:D知识点列表:2.2 Java Applet程序、Application程序的编辑、编译和运行。
5、编译和运行下面代码后显示的结果是()。
import java.awt.*;public class Butt extends Frame{public static void main(String argv[]){Butt MyBut=new Butt();}Butt(){Button HelloBut=new Button("Hello");Button ByeBut=new Button("Bye");add(HelloBut);add(ByeBut);setSize(300,300);setVisible(true);}}A. 2个按钮并排占据整个窗体,左边是Hello按钮,右边是Bye按钮B. Hello按钮占据整个窗体C. Bye按钮占据整个窗体D. Hello和Bye按钮都位于窗体的上部解答:C知识点列表: 7.1 Java 常用的布局策略及主要容器组件;图形界面的基本构成。
一、单项选择题:在每小题的备选答案中选出一个正确答案,并将正确答案的代码填在题干上的括号内。
(每小题1 分,共 20分)1. 在Java的以下的变量赋值语句中,无法通过编译的是(A)。
A.char c1=”男”;B. double d1=1.2 ;C.char c2=’女’;D. int f1=128 ;2. 下列选项中关于Java类的理解错误的是(A)。
A.因为类中的属性和方法是从共性中抽象出来的,所以类的属性不能被赋值,类的方法不能有具体实现B.在Java类中使用class关键字定义类C.定义类就定义了一个自己的数据类型D.类是具有相同属性和共同行为的一组对象的集合3. 在Java中,想要存储如员工年龄的数据最好使用(D)数据类型。
A. booleanB. StringC. charD. int4. Java语言中的数组是一个变量,用于保存一组相同数据类型的元素。
以下数组声明错误的是(D)。
A. int[] ABC;B. double ABC[];C. String[] name;D. char ABC[10];5. 给定如下所示的Java代码,要使这段代码能够编译成功,横线处应该填入(D)。
public count(int i,double d){return i*d*2.0;}A. intB. voidC. charD. double11. Java在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。
A. privateB. protectedC. publicD. private protected14. 在Java中,通过调用以下(C)方法,可以加载Sun的JDBC-ODBC桥。
A. new Class().load("sun.jdbc.odbc.JdbcOdbcDriver");B. new Class().forName("sun.jdbc.odbc.JdbcOdbcDriver");C. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");D. Class.load("sun.jdbc.odbc.JdbcOdbcDriver");15. 在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项(C)中的语句不能正确调用Test类的方法。
一,单项选择题1.下列声明和赋值语句错误的是(C)A.float x=5.23fB.boolean b =falseC.char c= ’aaa’D.int three=32.下列关于简单数据类型和输出基本型数据的说法中,不正确的是(D)A.byte型变量的取值范围是-27~27-1B. boolean类型变量的值只能是真或者假C.System.out.println()表示输出数据后换行D.控制符号%s表示输出int类型数据值3.下列属于JA V A关键字的是(B)A.StringB.instanceofC.TrueD.Switch4.有关位运算符中说法正确的是(B)A.对于一个整型数进行移位,其右操作数应该小于64B.位运算要求操作数为整数C.位运算符返回的是boolean类型值D.运算符的运算顺序是从右至左,赋值顺序是从右至左5.下列关于Java程序中数组的使用说法不正确的是(C)A.声明数组和创建数组可以一起完成B.可以使用int型变量的值指定数组元素的个数C.同一个数组中的元素类型必须不同D.数组在使用前必须先定义6.下列程序输出的k的值是(D)Int x=3,y=11,k=5switch(x%y){case 0:k=x*y;case 2:k=x+y;case 4:k=x-y;default:k=x*y-x;}A. 33B. 14C. -7D. 307.switch语句中“表达式”的值不可以是(A)A. long型B. short型C. char型D. byte型8,下列关于对象的哪一种说法是正确的?(D )A.对象是指向属性的引用B.对象是可以对其进行实例化从而得到类的东西C.对象是一种蓝本,据此可以创建抽象的具体实现D.对象是类的实例9.下面关于变量及其范围的陈述哪一项是错误的?(A)A.实例变量用关键字static声明B.局部变量在使用前必须被初始化C.实例变量是类的成员变量D.在方法中定义的局部变量在该方法被执行时创建10.分析下面的代码,哪一项叙述是正确的?(A)public class Person {int arr[] = new int[10];public static void main(String a[]) {System.out.println(arr[1]);}}A.编译时出错B.编译时正确而运行时出错C.输出0 D.输出null11.下列说法正确的一项是( A )A java.1ang.Integer是接口B java.1ang.Runnable是类C Doulble对象在iava.1ang包中D Double对象在java.1ang.Object包中12.下面是有关子类继承父类构造函数的描述,其中正确的是(B )A创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
Java程序设计期末考试卷一一、单项选择题(每小题2分,共40分)1、下列哪个选项不是Java语言的注释符号()A、//B、/* */C、/** */D、!2、下面符号中,那个符号是Java的“等于号运算符”()A、=B、!=C、= =D、>=3、下列哪个选项不是Java关键字()A、booleanB、privateC、hiD、if4、下列运算符中,优先级最高的是()A、|B、&C、++D、()5、下列哪项不是Java的原子数据类型()A、longB、forC、byteD、char6、编译Java程序的命令是()A、javaB、javadocC、javacD、cd7、下列哪个选项中对应的工具可以用来开发Java语言程序()A、Word2003B、JBuilderC、OutlookD、Excel20008、下列哪个选项是Java的输出语句()A、System.out.println();B、Out.system.print();C、System.println.out();D、print.system.out();9、Java语言中的语句是以()为结尾的。
A、逗号B、分号C、单引号D、句号10、下列哪个选项是Java的主方法()A、public static main(String args[])B、private static void main(String args[ ])C、public static void main(String args[ ])D、private static main(String [ ] args)11、下面的选项中,哪一项不属于“飞机”类的行为()A、起飞B、降落C、速度D、加速12、下列类的继承哪个是正确的()A、class Apple extends FruitB、class AppleC、class Apple FruitD、Apple extends Fruit13、定义一个整型变量i的语句是()A、int i;B、double i;C、i int;D、int q;14、下面定义数组的语句错误的是()A、String [ ] str;B、String str [ ];C、char [ ] [ ] str;D、char str;25、数组第一个元素的下标是()A、0B、1C、2D、-116、下列哪项是Java的转义字符()A、|’B、!”C、\’D、&”17、下列哪项不是Java合法的标识符A、$weiB、123C、F117D、girl_boy18、下列哪个选项不是正确的for语句的形式()A、for( ; ; )B、for(int i=0; i<10; i++)C、for(int i=0, i<10, i++)D、for(int i=0; ; i++)19、下列哪个选项是正确的循环语句的形式()A、do{//循环体}while(1= =1);B、while(1=1){//循环体}C、while(){//循环体}D、while{//循环体}()20、声明类的关键字是()A、classB、interfaceC、implementsD、static二、填空题:共10个空,每个空1分,满分10分;请将答案填入题中的括号中。
希望对你的考试有所帮助。
参考答案一、选择题ADADDDAACDCBCABBCBCA二、填空题1. import java.io.*;2. 字节流和字符流3. 标准输出设备和标准错误设备4. File5. FileNotFoundException6. 成员函数和成员变量7. throws三、写出下列程序的运行结果1. 结果为( 6,5 )( 6,7 )2. 结果为(A---B---C)3. 输出结果是:FatherClass.value=100ChildClass value=200200100四、程序设计1. public class Test{public static void main(String args[]){ int a[]={1,4,5,3,2,0};int i,j;for (i=0;i<5;i++)for (j=0;j<5-i;j++)if(a[j]>a[j+1]){int t;t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<a.length;i++)System.out.println(a[i]+" ");}}2. class Student {String name="湖南****学院";int sNum=888888;String sex="男";String birth="1988/08/08";String sname;int Score;void setName(String a){sname=a;}void setScore(int b){Score=b;}void show(){System.out.println("所在学校:"+name);System.out.println("学号:"+sNum);System.out.println("性别:"+sex);System.out.println("生日:"+birth);System.out.println("姓名:"+sname);System.out.println("成绩:"+Score);}}class Undergraduate extends Student{String department;String major;void setDeparment(String c){department=c;}void setMajor(String d){major=d;}void show1(){super.show();System.out.println("系部:"+department); System.out.println("专业:"+major);}}class Student{public static void main(String arg[]){Student A=new Student();Undergraduate B=new Undergraduate();B.setName("许翼");B.setScore(95);B.setDeparment("信息工程系");B.setMajor("计算机网络");B.show1();}}3. import java.awt.*;public class TestCenterPanel {public static void main(String args[]) {new MyFrame3(300,300,600,400,Color.BLUE);}}class MyFrame3 extends Frame{//private Panel p;MyFrame3(int x,int y,int w,int h,Color c){super("FrameWithPanel");setLayout(null);setBounds(x,y,w,h);setBackground(c);Panel p = new Panel(null);p.setBounds(w/4,h/4,w/2,h/2);p.setBackground(Color.pink);add(p);setVisible(true);}}二、填空(每空1.5分,共15分)1.在编写Java application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上__import java.io.*;_______________语句。
《Java 面向对象程序设计》期末考试试卷(A)一、一、选择题(每题2 分,共20 分)1.1.设int x=1,float y=2,则表达式x / y的值是:A.0B.1C.2D.以上都不是2.2.以下语句有语法错的是:A.A.int x=1;y=2;z=3B.B.for (int x=10,y=0;x>0;x++);C.C.while (x>5);D.D.for(; ;);3.3.void 的含义:A.A.方法体为空B.B.定义的方法没有形参C.C.定义的方法没有返回值D.D.方法的返回值不能参加算术运算4.4.以下有关类定义的说法正确的是:A.A.一个类可以有成员,也可以没有成员B.B.类的成员至少有一个属性和一个方法C.C.类的静态属性同全局变量的概念完全一样,只是表达形式不同D.D.类的方法在实例化时不占用内存5.5.以下有关构造函数的说法,正确的是:A.A.一个类的构造函数可以有多个B.B.构造函数在类定义时被调用C.C.构造函数只能由对象中的其它方法调用。
D.D.构造函数可以和类同名,也可以和类名不同6.6.以下有关类的继承的说明中,正确的是:A.A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.B.子类只能继承父类的方法,不能继承父类的属性C.C.子类只能继承父类的非私有属性,不能继承父类的方法D.D.子类不能继承父类的私有属性7.7.以下有关类的构造函数继承的说明,正确的是:A.A.子类继承父类的构造函数,但不能自己定义B.B.子类可定义自己的构造函数,但受父类定义的构造函数的限制C.C.子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D.D.如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义8.8.this 和super的使用中,正确的是:A.A.都是指一个内存地址B.B.可以在同一个方法定义中出现C.C.意义相同D.D.以上都不对9.9.下列属于容器的组件有A.A.JButtonB.B.JPanelC.C.线程D.D.JTextArea10.下列有关Applet 的描述中,正确的是:A.Applet可读取客户端文件B.Applet不能创建客户端文件C.Applet只能读取客户端的部分系统变量D.Applet 可自己定义新的属性和方法二、二、填充题(每空2分,共40 分)、1.1.数组x定义如下int x[ ][ ]=new int[3][2]则x.length 的值为____________,x[0].length 的值为____________。
Java程序设计考试试卷(附答案)一、单项选择题:共20题,每小题1分,满分20分1、下列选项中,不属于Java语言特点的一项是。
( D )A、安全性B、分布式C、面向对象D、编译执行2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C )A、面向对象B、有类库C、跨平台D、动态链接3、如下哪个不是Java中有效的变量名。
( A )A、 ifB、helloC、nameD、good4、下列不属于Java保留字的一个是( B )。
A、elseB、UnicodeC、ifD、static5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应该是( C )。
A、’a’B、12C、’c’D、语句在编译时出错6、下列关于int类型和long类型的说法中,正确的一个是( A )。
A、int类型可以自动转换为long类型B、long类型可以自动转换为int类型C、long类型占的存储空间比int类型的小D、long类型和int类型数据能表示整数的范围一样7、下列类的定义中,错误的是( B )。
A、class y{ .... }B、public x extends y{ .... }C、public class x extends y{ .... }D、class x extends y implements y1{ .... }8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。
A、1与1B、2与1C、1与2D、2与29、为了区分重载多态中同名的不同方法,要求( C )。
A、调用时用类名或对象名做前缀B、返回值类型不同C、形式参数个数或者类型不同D、形式参数名称不同10、定义类头时能使用的修饰符是( C )。
A、privateB、staticC、protectedD、abstract11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )A、没有import相应的包B、if语法错误C、程序中存在异常D、文件名写错12、int类型被包装在如下的哪一个类中?( B )A、java.1ang.CharacterB、java.1ang.IntegerC、java.util.IntegerD、java.1ang.Short13、关于对下列代码段的描述,正确的一项是( C )。
Java复习资料1、(1)定义类用的关键字是什么?class;(2)继承类用的关键字是什么?extends;实现接口用的关键字是什么?implements2、线程的五种状态分别是:新生状态、就绪状态、运行状态、阻塞状态、死亡状态3、对窗口的监听用的是WindowListener接口,该接口中的方法较多,为了便于实现该接口可以使用WindowAdapter4、Panel和Applet容器的默认布局模式是FloatLayout,Window、Frame、Dialog容器的默认布局模式是BorderLayout5、开发与运行JA V A程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码6、在面向对象概念中,每个对象都是由成员属性(变量)、成员方法两个最基本的部分组成的。
7、一个if语句可以跟随多个else if语句,但是只能有一个else语句。
8、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2 字节内存空间。
9、面向对象的三大特征分别是封装、继承、多态。
10、JA V A中类成员的限定词有哪几种。
protected、private、public、默认(default)11、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
最终(final)方法是不能被当前类的子类重新定义的方法。
12、JA V A线程的实现方式有哪两种继承Thread类、实现接口。
13、程序的错误分为Error 、Exception14、Java语言的核心类库是ng包,Java中所有类的基类是该包中的Object类;15、封装在类中某方法,其方法名与类名相同且没有返回类型并负责完成对象成员的初始化工作,为实例变量赋予合适的初始值,则该方法是构造方法。
16、在一个类中封装了多个同名方法,而这些同名方法之间的参数类型不同或参数的个数不同,则这种现象称之为方法的重载。
17、用来表示当前对象的关键字是this,用来表示父类对象的关键字是super18、Collection的四种主要接口是BeanContext、List、Set、SortedSet19、运行Java程序需要的工具软件所在的目录。
JDK的bin目录20、Java的核心包中提供编程应用的基本类的包ng21、在Java中实现用户界面功能的包swt 、swing22、JA V A数据类型分基本数据类型和引用数据类型23、JA V A的文件名与公共类名的关系。
两者必须相同24、标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。
简单地说,标识符就是一个名字。
25、JA V A程序分两种,它们是Java Application程序和Java Applet程序26、所有应用程序都必须有且只有一个什么方法。
应用程序对象27、类的实现包括28、接口中只包含常量和方法的定义,而没有变量和方法的实现。
29、某个类中包含了抽象方法,则这个类必须为抽象类或接口类。
30、用abstract 关键字来修饰一个类时,这个类叫做抽象类。
31、类string和类stringbuffer必须声明为什么。
类string和类stringbuffer属于引用类型存储在堆栈上面如果没有声明就没有在堆栈上分配空间32、ng封装类string和stringbuffer,其中stringbuffer用来处理什么字符串。
变量33、JA V A中把字符串当作对象来处理。
34、所有例外对象都应对应类Throwable及其子类;例外包括哪两种类型。
uncheck例外、check例外35、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的paint方法来完成一些画图操作。
36、关于对象成员占用内存?37、Applet可以做作哪些操作?38、Java语言特点简单、安全、容易使用、面向对象、可移植、高性能、多线程的语言。
39、构造函数何时被调用?创立对象时40、character流与byte流的区别是什么前者是块读写,后者是字节读写41、System.out.println("5" + 2);的输出结果是52。
42、定义数组的语句int[] ia = new int [15];43、Applet中paint()方法使用哪种类型的参数?Graphics44、.哪个关键字可以对对象加互斥锁?synchronized45、那些方法不可以使线程进入阻塞状态?notify三问答题1、类和接口的异同点。
相同点:接口属于类不同点:接口是一种抽象类,接口只能定义抽象方法2、线程的状态及状态间的转换图。
3、一个线程从创建、启动到终止期间处于哪五个状态?互相之间如何转换?4、什么是垃圾回收?垃圾回收机制正是JA V A与其他语言不同的如C/C++C/C++ 程序员意向都是对象一定要被摧毁. 如果对象忘记摧毁那么就会造成内存泄露JAV A 程序员的意向却是遗忘对象, 让编译器为我们解决这种事,让内存泄露永远不会发生5、哪些对象是垃圾回收线程回收的?指定的对象,既System.gc();6、JA V A的垃圾回收发生的时机是什么?答:可能不会发生, 也可能永远不会发生你可以这样认为: 只要内存没有到耗尽的那一刻,那么垃圾回收就不会被启动因为启动垃圾回收需要付出一定的效率代价,不启动的话我们就不用付出这样一份高昂的代价7、JA V A语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?Throws 含义:在一个方法声明后使用,表示这个方法可能会抛出异常,从而通知调用这个方法的调用方处理该异常。
Throw 含义:抛出异常对象。
Try含义:try 块所包含程序可能会产生异常。
Catch 含义:捕获并处理异常Finally 含义:无论是否发生异常,finally 中的语句都要执行8、Java中的异常处理机制的简单原理和应用。
答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2种情况。
一种是JAVA类库内置的语义检查。
例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。
另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。
所有的异常都是ng.Thowable的子类。
9、JA V A应用程序和小程序有什么区别?应用程序是从主线程启动(也就是main()方法)。
applet小程序没有main方法,主要是嵌在浏览器页面上运行(调用init()线程或者run()来启动),嵌入浏览器这点跟flash的小游戏类似。
10、JA V A语言的特征是?平台独立性、面向对象、安全、多线程、分布式、半编译半解释四程序设计题1、定义一个三角形类Triangle。
该类包含三个int类型的变量a,b,c,分别表示三角形的三个边长。
类中需要定义如下的方法:public void set(int a,int b ,int c)public boolean judge() ;//判断三角形是否合法public double getArea(); // 求三角形面积,可以使用海伦公式public int getPerimeter() ; //求三角形周长说明需要进行异常处理。
2、编一个JA V A小应用程序求1!+2!+。
+100!。
public class Factorials{public static void main (Sring args[ ]){int i,j;long s=0,k;for(i=1;i<=100;i++){k=1;for(j=1;j<=i;j++)k=k*j;System.out.println(i+”!=”+k);s= s+k;}System.out.println(“Total sum=”+s);}}3、编程实现从键盘接收输入的数据,并输出此数及它的2倍数。
import java.Scanner;public class Test{public static void main(String []args){Scanner input = new Scaner(System.in);int num = input.nextInt();System.out.println(num + "\n" + 2*num);}}4.谈谈final, finally, finalize的区别。
final关键字:a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。
因此一个类不能既被声明为abstract的,又被声明为final的。
b) 将变量或方法声明为final,可以保证它们在使用中不被改变。
c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
d) 被声明为final的方法也同样只能使用,不能重载。
finally关键字:在异常处理时提供finally 块来执行任何清除操作。
如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。
finalize:方法名,不是关键字。
Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。
这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。
它是在Object 类中定义的,因此所有的类都继承了它。
子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。
finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
5.abstract class和interface有什么区别声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。