安徽工业大学Java历年真题汇总_第1页
安徽工业大学Java历年真题汇总_第2页
安徽工业大学Java历年真题汇总_第3页
安徽工业大学Java历年真题汇总_第4页
安徽工业大学Java历年真题汇总_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java历年真题汇总单项选择题1、Java语言中提供的标准Java类库存储在〔A〕的包中。A、java.langB、java.awtC、java.utilD、java.applet2、Java的源代码局部可分为3局部,即包的声明、导入声明和类的定义。虽然他们不一定是必须的,但是如果这3局部同时存在,那么要遵循一定的规那么。以下选项中正确的选项是________D__________。A、包声明、类的定义和导入声明B、导入声明、包声明和类的定义C、类的定义、包声明和导入声明D、包声明、导入声明和类的定义3、编译和运行以下程序时会发生的情况是_______D___________。privateclassTest{privateintMoney;publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}A、编译出错:不能使用private修饰成员变量B、编译出错:main()方法的签名不正确C、编译出错:成员变量没有初始化D、编译出错:不能使用private修饰外部类4、如果以下的两个源程序的文件名分别为Test_1.java和Test_2.java,并且在同一个文件夹中,那么编译和运行以下程序时会发生的情况是_________C_________。12341234publicclassTest_1{publicvoidSay(){System.out.println("HelloWorld!");}}123412345publicclassTest_2{publicvoidSay(){Test_1Test=newTest_1();Test.Say();}}A、两个文件都能正常编译,运行第二个文件的字节码程序文件,可以输出HelloWorld!B、两个文件都不能正常编译C、两个文件都能正常编译,运行第二个文件的字节码程序文件时出错:“java.lang.NoSuchMethodError:main〞D、第一个文件能正常编译,第二个文件能不正常编译5、编译和运行以下程序时会发生的情况是_______D___________。publicclassTest{publicvoidsay(intnumber){System.out.println("int:"+number);};publicvoidsay(longnumber){System.out.println("long:"+number);};publicstaticvoidmain(String[]args){Testtest=newTest();test.say(18);}}A、编译出错B、运行出错C、运行时输出:long:18D、int:18123456、12345publicclassTest{publicstaticvoidmain(String[]args){System.out.println("大家好!");}publicstaticvoidmain(int[]args){System.out.println("你们好!");}}A、编译出错B、运行出错C、运行时输出:大家好!D、运行时输出:你们好!E.运行时输出:大家好!F.你们好!你们好!大家好!7、用Thread子类实现多线程的步骤顺序是(D)A.声明Thread类的子类,创立Thread子类的实例,让线程调用start()方法B.声明Thread类的子类,在子类中重新定义run()方法,创立Thread子类的实例C.创立Thread子类的实例,让线程调用start()方法D.声明Thread类的子类,在子类中重新定义run()方法,创立Thread子类的实例,让线程调用start()方法8、Java源程序文件的扩展名为(A)。A、.javaB、.classC、.htmlD、.txt9、为了使名为HelloWorld的类成功编译和运行,必须满足的条件〔D〕。A、HelloWorld类必须定义在HelloWorld.java文件中B、HelloWorld类必须定义为public类C、HelloWorld类必须导入java.lang包D、HelloWorld类中必须定义正确的main()方法10、编译和运行以下程序时会发生的情况是_______C___________。importjava.io.*;publicclassTest{privateintx;publicclassinnerclass{publicinnerclass(){System.out.println("x="+x);}}publicstaticvoidmain(String[]args){newinnerclass();}}A、编译出错,内部类试图访问外部类成员B、编译出错,内部类不能用public修饰C、编译出错,内部类不是静态的,因此需要先获得外部类的对象才能访问外部类的成员D、编译运行成功11、以下可以给对象加互斥锁的关键字是〔D〕A、serializeB、staticC、transientD、synchronized12、以下表达正确的选项是(D)。A、匿名对象肯定是垃圾对象B、程序可以在指定的时间内调用垃圾回收器释放内存C、垃圾回收器可以确保Java程序不会产生内存泄露D、对象的finalize()方法在对象被垃圾回收器回收之前获得调用13、当线程调用wait()方法处于等待状态时,可以让该线程恢复运行的方法是_______D___________A、join()B、run()C、Interrupted()D、notifyAll()14、以下程序的线程要输出〞大家好!〞,在//Todo处应该填写的语句是_________C_________。publicclassTestimplementsRunnable{publicvoidrun(){System.out.println("大家好!");}publicstaticvoidmain(String[]args){Testtest=newTest();Threadthread=newThread(test);;//Todo}}A、test.start()B、test.run()C、thread.start()D、thread.run()15、在编写异常处理的Java程序中,每个catch语句块都应该与(C)语句快对应,使得用该语句块来启动Java的异常处理机制。A.if…elseB.switchC.tryD.throw16、假设需要定义类变量或类方法,只能使用的关键字是(D)A.packageB.privateC.publicD.Static17、以下类声明正确的选项是________D__________。A、abstractfinalclassHI{···}B、abstractprivatemove(){···}C、protectedprivatenumber;D、publicabstractclassCar{···}18、设有如下的程序publicclassTest{publicstaticvoidmain(String[]args){StringS1=args[1];StringS2=args[2];StringS3=args[3];System.out.println("S1="+S1);}以下使得执行该程序的输出结果为S1=6的命令行是(D)。A、javaTest6666B、javaTest3861C、javaTest6318D、javaTest368119、以下定义的类中,可以用来创立可运行类的正确方法是(A)。A、publicclassXimplementsRunable{publicvoidrun{…}}B、publicclassXimplementsThread{publicvoidrun{…}}C、publicclassXimplementsThread{publicintrun{…}}D、publicclassXimplementsRunable{protectedvoidrun{…}}20、对于构造函数,以下表达正确的选项是_______B___________。A、构造函数不允许重载。B、构造函数没有返回类型。C、子类不允许调用父类的构造函数。D、在同一个类中定义的重载构造函数不可以相互调用。21、有关在Java中定义实例方法和类方法的表达正确的选项是〔D〕A:前者有public修饰,后者没有public修饰B:前者没有public修饰,后者有public修饰C:前者有static修饰,后者没有static修饰D:前者没有static修饰,后者有static修饰22、有Java语句如下,那么说法正确的选项是〔C〕

int[]a,b=newint[3];A:此语句是错误的B:a.length的值为3C:b.length的值为3D:a.length和b.length的值都为323、以下程序代码的输出结果是〔B〕

System.out.println(100/8);A:12.5B:12C:4D:024、在Java程序中声明一个数组,错误的选项是〔〕C A:inta[]; B:inta[][]; C:floata[10]; D:float[]a[];25、在Java程序中有定义:intx[][]=newint[4][5];那么x.length和x[3].length的值分别是〔〕A A:4和5 B:5和4 C:4和3 D:5和326、定义一个使用接口Java.lang.Runnable的类,必须要实现的方法是〔〕BA:start()B:run()C:init()D:paint()27、以下关于线程的说法正确的选项是〔〕(D A:一个线程被创立,它就立即开始运行 B:使用start()方法可以使一个线程立即开始运行 C:当一个线程因为抢先机制而停止运行时,它被放在可运行队列的前面 D:一个正在运行的线程可能因为某些情况而进入阻塞状态28、在Java程序中有代码如下:System.out.println((newStringTokenizer("Iamastudent","a")).countTokens());那么输出结果为〔C〕 A:Iamastudent B:2 C:3 D:429、以下是创立File对象的代码,错误的选项是〔〕(D A:Filef1=newFile("/mydir/myfile.txt"); B:Filef2=newFile("/mydir","myfile.txt"); C:Filef3=newFile("\\mydir\\myfile.txt"); D:Filef4=newFile("\mydir\myfile.txt");30、在Java语言中执行如下语句后,i和j的值分别为〔A〕 inti=10;intj=++i; A:11和11 B:10和10 C:10和11 D:11和1031、JAVA中为字符型输入/输出流提供的读字符的方法所使用的类是〔〕。CA、InputStreamB、OutputStreamC、FIleReaderD、FileWriter32、以下程序代码的输出结果是〔〕Dintx=100;System.out.println("5.5"+x%8);(1分) A:5.512 C:18 D:5.5433、以下哪些字符串匹配模式〞。boy\\w[3]〞〔〕。A、boy111B、boy!@#C、boyweoD、boyboyboyboy34、以下哪个关键可用来定义Java常量〔〕。A、publicB、staticC、finalD、void35、为8位字节流数据提供读操作支持的类是〔〕(1分)A A:FileInputStream B:FileOutputStrem C:FileReader D:FileWriter36、以下有关抽象类及抽象方法的表达错误的选项是〔〕(1分)A A:使用final修饰的类是抽象类 B:使用abstract修饰的方法是抽象方法 C:抽象类必须被继承才能使用,抽象类不可能有实例 D:抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类37、设x=40那么执行y=〔++x〕+〔x++〕+1后,x,y的结果分别为(D)A、42,80B、41,81C、43,82D、42,8338、在编写JavaApplication程序时,假设需要使用到标准输入输出语句,必须在程序的开头写上(C)语句。A.importjava.awt.*;B.importjava.applet.Applet;C.importjava.io.*;D.importjava.awt.Graphics;39、有关Java语言的特点,哪种是错误的〔D〕A、多态B、可移植C、多线程D、手动垃圾回收40、J2SE是(B)A、Java企业平台B、Java标准平台C、Java小型平台D、Java小型平台第二版41、以下哪种操作不会跑出异常〔〕AA:浮点数除以0得到Infinity B:i=0/0;C:翻开不存在的文件D:a[-1]=100;42、于length〔〕表述正确的选项是〔〕C A:数组有length〔〕方法,String也有length〔〕方法 B:数组有length〔〕方法,String没有length〔〕方法 C:数组没有length〔〕方法,String有length〔〕方法 D:数组没有length〔〕方法,String也没有length〔〕方法43、以下正确的句子是〔〕(1分)D A:float3.14; B:bytei=225; C:intk=33L; D:intp[][];44、在Java语言中执行如下语句后,i和j的值分别为〔〕Ainti=10;intj=++i;(1分) A:11和11 B:10和10 C:10和11 D:11和1045、当使用FileInputStream类中的read()方法时,如果没有读入一个字节数据时,返回值为〔〕B A:0 B:-1 C:true D:false46、以下程序的输入结果是〔〕。 StringBufferbuf1=newStringBuffer(20); buf1.append("student");System.out.println(buf1.length()+","+buf1.capacity());A.20,20B.7,20C.0,20D.0,047、一个实现Runnabel接口的类必须要实现的方法是〔B〕 A:start() B:run() C:sleep() D:init()48、以下有关Java的表达错误的选项是〔〕(1分)D A:强类型语言 B:与平台无关 C:可以使用汉字变量名 D:不检查数组下标越界49、以下有关数组的表达错误的选项是〔〕(1分)D A:数组是将一组相同类型的数据顺序存储,组成一种复合数据类型 B:在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用 C:对于多维数组,从最高维开始,可以对每一维分配不等长的空间 D:在Java语言中,数组元素可以互相赋值,而数组名不能直接赋值50、当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为〔A〕(1分) A:线程的同步 B:线程的互斥 C:线程的调度51、StringBuffer类的字符对象的长度是〔〕BA:固定长度B:可变长度C:长度必须小于16个字符D:长度必须大于16个字符52、对于catch子句的排列,以下正确的选项是〔〕BA:父类在前,子类在后B:父类在后,子类在前C:有继承关系的异常类不能在同一个try内D:必须有Exception类的Catch捕捉1、编译Java源程序文件产生的字节码文件的扩展名为(B)。A..javaB..classC..htmlD..exe2、以下对派生类的描述中不正确的选项是〔C〕。A、一个派生类可以作为另一个派生类的基类B、Java中一个派生类只有一个基类C、具有继承关系时,子类不能定义与父类同名的成员变量和方法D、生成派生类对象时,先调用基类构造方法然后再调用派生类构造方法3、以下程序的输入结果是〔B〕。 StringBufferbuf1=newStringBuffer(20); buf1.append("student");System.out.println(buf1.length()+","+buf1.capacity());A.20,20B.7,20C.0,20D.0,08、假设有以下程序段:inta=1,b=2,c=0;a=1/b*c;System.out.println(a);程序执行后输出的结果是〔A〕。A.0B.0.5C.1D.除数为0异常9、一个可以独立运行的Java应用程序(D)A、可以有一个或多个main方法B、最多只能有两个main方法C、可以有一个或零个main方法D、只能有一个main方法10、以下选项中,用于继承接口的关键字是〔D〕A、extendsB、interfaceC、abstractD、implements11、以下不属于构造方法特征的是:〔B〕A、构造方法名与类名相同B、构造方法能够继承C、构造方法在创立对象时自动执行。D、每一个类可以有多个构造方法12、设类B是类C的父类,下面声明对象x1的语句不正确的选项是〔〕。A、x1=newB()B、Bx1=newC()C、x1=newC()D、Cx1=newB()13、以protected修饰的类如:protectedclassfish{…}那么fish(D)A、可被其它程序包中的类使用B、仅能被本程序包中的类使用C、不能被任意其它类使用D、仅能被本程序包中的类和其它程序包中的子类使用14、以下〔B〕修饰符所定义的方法必须被子类所覆盖A、finalB、abstractC、staticD、volatile15、以下哪个不属于Java的根本数据类型〔C〕A、byteB、doubleC、stringD、char17、this关键字的含义是(B)。A.本类;B.本类对象;C.这个类;D.父类对象;18、以下哪些字符串匹配模式〞。boy\\w[3]〞〔〕。A、boy111B、boy!@#C、boyweoD、boyboyboyboy19、关于异常处理以下哪种说法不正确〔〕。A、异常的抛出和处理只能在一个方法中完成。B、异常可以只抛出而不在程序中做出任何处理。C、不对异常做出处理,程序将不能往下执行。D、异常的抛出和处理可放在不同的类中完成。20、以下有关抽象类及抽象方法的表达错误的选项是〔 A 〕A:使用final修饰的类是抽象类B:使用abstract修饰的方法是抽象方法C:抽象类必须被继承才能使用,抽象类不可能有实例D:抽象类可以没有抽象方法,但抽象方法所在的类一定是抽象类21、阅读以下程序,其运行结果是〔 C 〕publicclassTest{ voidequalsMethod(){ Strings1=newString(“howareyou〞); Strngs2=newString(“howareyou〞); System.out.println(s1==s2); } Publicstaticvoidmain(String[]args){ Testt=newTest(); t.equalsMethod();} A:== B:true C:false D:equal22、java.io包的File类是(D)。A、字节流类B、字符流类C、对象流类D、非流类以下可以给对象加互斥锁的关键字是〔D〕A、serializeB、staticC、transientD、synchronized7、以下可用于定义线程执行体的方法是(B)A、start()B、run()C、init()D、jion()8、以下表达不正确的选项是〔C〕。A、构造方法是类的一种特殊函数,其方法名必须与类名相同B、构造方法的主要作用是对类的对象进行初始化工作C、构造方法的返回值类型只能是void型D、在创立对象时,系统会自动调用构造方法9、在java源程序的一个类中同时定义了多个同名的方法,同名的各个方法的形式参数的个数、类型或顺序各不相同。这种面向对象的程序特性被称之为(C)A、覆盖B、隐藏C、重载D、封装10、在Java图形用户界面的程序设计中,只用于显示不可修改的文本信息,一般使用〔A〕类的对象来实现。A、JLable(或Lable)B、JTextField(或TextField)C、JButton(或Button)D、JTable(或Table)11、Java应用程序的入口方法是(C)A、start()B、init()C、main()D、run()12、以下表达正确的选项是(D)。A、匿名对象肯定是垃圾对象B、程序可以在指定的时间内调用垃圾回收器释放内存C、垃圾回收器可以确保Java程序不会产生内存泄露D、对象的finalize()方法在对象被垃圾回收器回收之前获得调用13、以下不属于面向对象程序设计特性的是(E)A、封装B、多态C、继承D、重载E、耦合14、用于设置组件C的前景色方法是(D)。A、setForeground(“red〞)B、setForeground(red)C、setForeground(RED)D、setForeground(Color.red)15、以下属于Java根本数据类型的是(D)。A、IntegerB、DoubleC、StringD、char16、只包含一个由public修饰的Java类Abc的Java源程序的正确取名为〔C〕。A、AbcB、abc.javaC、Abc.javaD、只要扩展名为.java的任意一个合法的文件名17、设有以下程序段abstractclassAbstract{//第1行abstractintgetInt();//第2行}publicclassAbstractTestextendsAbstract{privateintIt=10;privateintgetInt(){returnIt;}//第6行}以下哪一个是正确的(D)。A.程序编译成功B.由于第2行错误而编译失败C.由于第1行错误而编译失败D.由于第6行错误编译失败18、设有如下的程序publicclassTest{publicstaticvoidmain(String[]args){StringSa=args[1];StringSb=args[2];StringSc=args[3];System.out.println("Sc="+Sc);}以下使得执行该程序的输出结果为Sa=2的命令行是(B)。A、javaTest2222B、java4242C、java1234D、java432119、以下哪一个声明的方法强迫它的子类必须实现(implements)它(E)。A、publicdoublemethod()B、staticvoidmethod(doubleX){}C、privatedoublemethod()D、protectedvoidmethod(doubleX){}E、abstractpublicvoidmethod()20、以下定义的类中,可以用来创立可运行类的正确方法是(A)。A、publicclassXimplementsRunable{publicvoidrun{…}}B、publicclassXimplementsThread{publicvoidrun{…}}C、publicclassXimplementsThread{publicintrun{…}}D、publicclassXimplementsRunable{protectedvoidrun{…}}21、用Thread子类实现多线程的步骤顺序是(D)A.声明Thread类的子类,创立Thread子类的实例,让线程调用start()方法B.声明Thread类的子类,在子类中重新定义run()方法,创立Thread子类的实例C.创立Thread子类的实例,让线程调用start()方法D.声明Thread类的子类,在子类中重新定义run()方法,创立Thread子类的实例,让线程调用start()方法22、Java程序中需要检测错误的代码放在什么地方(A)A.try块B.catch块C.finally块D.throws块23、下面关于类及其修饰符的一些描述,不正确的选项是(C)A.abstract类只能用于派生子类,不能用于创立abstract类的对象B.final和abstract不可以同时修饰一个类C.final类不仅可以用于派生子类,也可以用于创立final类的对象D.abstract方法必须在abstract类(或接口)中声明,但abstract类的定义中可以没有abstract方法24、假设在某个类中定义如下的方法:abstractintgetProduct(intx,inty);那么该方法是(B)A.本地方法B.抽象方法C.最终方法D.静态方法判断题:1、一个Java源程序文件中,可以同时定义一个public类和一个public接口。(×)2、可以用new来创立abstract类的实例对象。(×)3、非static方法不可以重载。(×)4、当一个线程休眠时,sleep()方法不消耗CPU时间。(×)5、静态方法可以被重载。(√)6、abstract类中不可以有private成员。(√)7、局部变量只能是方法体内定义的变量。(×)8、抽象类必须包含抽象方法。(×)9、内部类的方法不能够访问外部类定义的成员变量。(×)10、Java把数组当作对象。(√)11、子类可以继承父类的私有方法。(×)12、Java中子类调用父类的方法,是通过super来实现的。(√)13、有的类定义时可以不定义构造函数,所以构造函数不是必需的。(×)14、在Java程序中,一个线程的优先级可以用任一个非负整数设置,整数越大,优先级越高(×)15、以下语句中变量的Path在Windows系统下,其值为\a\b;在Unix系统下,其变量的值为/a/b。(√)1. 对子类实例化对象需要调用超类的构造函数进行初始化工作,完成对子类的超类实例变量的初始化,那么子类可以继承超类的构造函数。〔〕2. Java提供了一种称为“内部类〞的机制,使类可以在其他类中定义()3. 运算符“==〞用于比拟引用时,如果两个引用指向内存中以同一个对象,那么返回true.〔〕4. 求模运算只能运用于整型数运算〔〕5. Java应用程序从main()方法处开始执行〔〕6. Java类库中的Math方法可以产生随机数〔〕7. New操作符动态为对象按其指定的类型分类内存,并返回该类型的一个引用〔〕1、一个Java类可以有多个父类。(×)2、使用length()方法可以获取字符串或数组的长度。(√)3、可以用new来创立abstract类的实例对象。(×)4、子类对象中要调用父类的成员方法,必须使用关键字super。(×)5、static方法不可以重载。(×)6、JavaApplet小程序应该在浏览器中执行。(√)7、一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。(×)8、abstract与final不能同时修饰同一个类。(√)9、Java源程序中区分字母的大小写。(√)10、Java程序中,可以将boolean类型的数据和其他类型的数据在一起运算。(×)11、abstract类中不可以有private成员。(√)12、static方法中可以引用非static成员。(×)简答题:什么是上转型对象?答:Aa=newB();//其中BextendsA,a是子类对象的上转型对象。2、什么叫接口回调?答:可以把把实现某一接口的类创立的对象的引用赋给该接口声明的接口变量中;那么该接口变量就可以调用被类实现的接口中的方法;当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口中的相应方法,这一过程称作对象功能的接口回调3、什么是正那么表达式?写出与模式“A[135]{2}〞匹配的4个字符串。答:是指一个用来描述或者匹配一系列符合某个句法规那么的字符串的单个字符串。其用途是在文本编辑器或其他工具里,用来检索和/或替换那些符合某个模式的文本内容。4、线程和进程的关系?答:进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、开展至消亡的过程。线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。5、、线程有4种状态?答:〔1〕新建:线程创立后就有了内存空间;〔2〕运行:线程创立后,在JVM管理的线程中还没有这个线程,此线程必须调用star方法才能排队等候切换〔3〕中断:有4种情况〔4〕死亡:处于死亡状态的线程不具有继续运行的能力6、FileInputStream流的read〔〕方法和FileReader流的read〔〕方法有何不同?它们的文件输出流分别对应哪个类?答:FileInputStream是文件字节输入流,read()方法从输入流中顺序读取单个字节的数据,方法返回字节值(0-255),独到文件末尾时返回-1。如:汉字为2个字节,字母为1个字节。FileReader是文件字符输入流,read()方法从输入流中顺序读取单个字符的数据,方法返回一个整数(0-65535),如果未读出字符就返回-1。如:汉字为1个字符,字母为1个字符。FileOutputStream类和FileWriter类7、java的方法重写继承的方法的规那么是什么? 答:子类中定义一个方法,并且这个方法的的名字、返回类型、参数个数、和类型与从父类集成的方法完全相同。8、String和StringBuffer的区别?答:String类创立的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创立,其中的字符串是不可以再改变的。StringBuffer类能创立可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符串。9、子类继承方法时,可以降低方法的访问权限吗?答:不可以降低,但能够提高!11、多线程有几种实现方法?答:Thread的子类和Runnable接口12、简述在程序中做异常处理的好处?答:防止程序在执行过程中遇到异常情况而被终止。13、Java中this和super区别?答:this指当前类对象;super指父类14、int和Integer有什么区别和联系答:Java提供两种不同的类型:引用类型和原始类型。int是Java的原始数据类型,Integer是Java为int提供的封装类。Java为每个原始类型提供了封装类。15、Java程序分为哪两类?分别表达其特点。答:两类:javaApplication和JavaApplet。16、在JAVA中方法的重载与方法的重写有何区别? 答:重写: 子类中定义一个方法,并且这个方法的的名字、返回类型、参数个数、和类型与从父类集成的方法完全相同。重载: 指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同〔两个方法的名字相同,即使类型不同,也必须保证参数不同〕。17、什么是封装?面向对象程序中如何实现封装?答:将数据和对数据的操作封装在一起。使用类实现封装。18、GC是什么?为什么要有GC?答:GC是垃圾收集的意思〔GabageCollection〕,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而到达自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。读程序题:123412345678910classConstructorTest{intX;publicvoidConstructorTest(){X=1;}publicstaticvoidmain(String[]args){ConstructorTestt=newConstructorTest();System.out.println(t.X);}}答:输出的值是0。因为publicvoidConstructorTest()不是构造方法。类的默认构造方法与类同名,且不能有返回值类型修饰其方法。因此此程序类的构造方法默认是publicConstructorTest()。123451234567891011121314importjava.util.*;publicclassStrtest{publicstaticvoidmain(String[]args){Strings=newString("wego,toour,compus");StringTokenizertoken=newStringTokenizer(s,",");intn=token.countTokens();Stringarray[]=newString[n];for(inti=0;token.hasMoreTokens();i++) {array[i]=token.nextToken();System.out.printf("%s,",array[i]);}System.out.printf("\n%d,",n);}}答:wego,toour,compus,2,3、当编译运行以下程序时,会出现什么结果____答:__8.1___________。importjava.util.*;classExcute{publicstaticvoidmA(Listlist){list.add(8.1);System.out.println(list.get(1));}publicstaticvoidmain(String[]args){ArrayList<String>list=newArrayList<String>();list.add("HelloOne");mA(list);}}4、以下的程序编译运行会有什么结果_答:_12345程序结束啦!。1:classStextendsThread2:{publicvoidrun()3:{for(inti=1;i<=5;i++)4:System.out.print(i+"");5:}6:}7:classExecute8:{publicstaticvoidmain(String[]args)throwsInterruptedException9:{Threadt=newSt();10:t.start();11:t.join();12:System.out.print("程序结束啦!");13:}}123456789123456789importjava.io.*;classTest{publicstaticvoidmain(String[]args)throwsException{Filef=newFile("file1.txt");f.createNewFile();BufferedWriterbwt=newBufferedWriter(f);bwt.write("大家好!");}}1、classA{intx,y;A(intxx,intyy){x=xx;y=yy;}}interfaceA3202{intf3202(Aa);}interfaceB3202{intg3202();}publicclassC3202extendsAimplementsA3202,B3202{Aa=newA(x,y);C3202(intx,inty){super(x,y);this.x=x*x;this.y=y*y;}publicintf3202(Aa){returnx*a.x+x*a.y;}publicintg3202(){returnx*a.x+x*a.y;}publicstaticvoidmain(String[]args){intx=10,y=20;Aa=newC3202(x,y);C3202c=newC3202(x,y);System.out.println(a.x+","+a.y);System.out.println(c.f3202(a));System.out.println(c.g3202());}}2、classA{Bobj;A(){obj=newB();obj.print();System.out.println("AAA");}classB{publicvoidprint(){System.out.println("BBB");}}}publicclassClass3202{publicstaticvoidmain(Stringarg[]){Aobj=newA();} 考答案:程序运行结果:BBBAAA3、写出下面程序的运行结果。publicclassClass34ThreadTest{publicstaticvoidmain(Stringargs[]){Helloh=newHello();Threadt=newThread(h);t.start();}}classHelloimplementsRunnable{inti;publicvoidrun(){while(true){System.out.println("Hello"+i++);if(i==5)break;}}})4、publicclassAAAAa{publicstaticvoidmain(Stringarg[]){ Stringstr="sina.con/index.php"; Stringregex="[./]"; Strings[]=str.split(regex); for(inti=0;i<s.length;i++) System.out.println(s[i]);}}5、publicclassBBBBB{ publicstaticvoidmain(String[]args){ byted[]="我是一个学生工大的sdfsd".getBytes(); System.out.println("数组d的长度:"+d.length); Strings=newString(d,10,2); System.out.println(s);}}6、importjava.io.*;publicclassCCCCC{publicstaticvoidmain(Stringargs[]){Filefile=newFile("hello.txt");charb[]="北京欢送你".toCharArray();try{FileWriterout=newFileWriter(file);//writingout.write(b);out.write("你好中国");out.close();FileReaderin=newFileReader(file);//readingintn=0;while((n=in.read(b,0,2))!=-1){Stringstr=newString(b,0,2);System.out.println(str);}in.close();}catch(IOExceptione){System.out.println(e);}System.out.println("b[]="+(newString(b)));}}7、写出下面程序的运行结果classEmployee{privateintid;privatebytesex;privateStringname;privateStringduty;privatefloatsalary;privateintholidays;publicEmployee(intid,bytesex,Stringname,Stringduty,floatsalary,intholidays){this.id=id;this.sex=sex;=name;this.duty=duty;this.salary=salary;this.holidays=holidays;}publicStringgetDuty(){returnduty;}publicvoidsetDuty(Stringduty){this.duty=duty;}publicintgetHolidays(){returnholidays;}publicvoidsetHolidays(intholidays){this.holidays=holidays;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicfloatgetSalary(){returnsalary;}publicvoidsetSalary(floatsalary){this.salary=salary;}publicbytegetSex(){returnsex;}publicvoidsetSex(bytesex){this.sex=sex;}/***display(),无返回值,该方法能打印员工的姓名、性别以及职务*@paramemployeepublicvoiddisplay(Employeeemployee){System.out.println("员工姓名为:"+employee.getName());if(employee.getSex()==1){System.out.println("员工性别为:男");}elseif(employee.getSex()==2){System.out.println("员工性别为:女");}System.out.println("员工职务为:"+employee.getDuty());}/***getDecMoney(intday)返回值是int型。*如果请假天数<=3,那么扣款为30×请假天数;*如果请假天数超过3天,那么扣款为50×请假天数。*@paramday*@return*/publicintgetDecMoney(intday){intdeduction=0;//扣除的工资if(day<=4){deduction=30*day;}elseif(day>4){deduction=44*day;}returndeduction;}publicstaticvoidmain(String[]args){//创立一个员工类的对象Employeeemployee=newEmployee(123456789,(byte)1,"的","生产帽子的〔color〕",(float)300.8,3);employee.display(employee);//调用display()intdeduction=employee.getDecMoney(employee.getHolidays());//调用getDecMoney()System.out.println("该员工因请假扣除工资"+deduction+"元");8、classancestorClass{privateinta=8;protectedintb=15;voidf(){System.out.print(a*b);}voidg(){System.out.print("ancestorClassFunctionghasbeencalled!");}}publicclassTestextendsancestorClass{intc=5;publicvoidf(){System.out.println(b/c);}publicvoidtestfun(){System.out.println("sonfunctiontestfunhasbeencalled!");}publicstaticvoidmain(Stringargs[]){ancestorClasssc=newancestorClass();sc.f();sc.g();sc=newTest();((Test)sc).testfun(); }}9、classTest{floatF;publicdoublegetF(floatF){F++;returnthis.F;}publicstaticvoidmain(Stringargs[]){System.out.println(newTest().getF(10));}}10、classputOutDataextendsThread{publicvoidrun(){for(inti=2;i<=10;i++)System.out.print(i+"");}} classTest { publicstaticvoidmain(Stringargs[])throwsInterruptedException{Threadth=newputOutData();th.start();System.out.print("程序结束啦!");4、publicclassTest{publicstaticvoidmain(Stringarg[]){Stringstr="/index.html";Stringregex="[./]";Strings[]=str.split(regex);for(inti=0;i<s.length;i++)System.out.println(s[i]);}}publicclassTest{publicstaticvoidmain(Stringargs[]){Strings1=newString("123");Strings2=newString("123");Strings3="123",s4="123";System.out.println((s1==s2)+","+(s1.equals(s2))+","+(s3==s4)+","+(s3.equals(s4)));}}______false,true,true,true________________2、classTest{doubleD;publicdoublegetD(doubleD){D++;returnthis.D;}publicstaticvoidmain(Stringargs[]){System.out.println(newTest().getD(1));}}0.0_________________________________3、classCar{Car(){System.out.println("小汽车根本价格:"+15+"万"); } publicvoidstop(){ System.out.println("小汽车刹车方式"); }}classTaxiextendsCar{Taxi(floatx){super();System.out.println("出租车价格:"+x+"万");}}publicclassTest{ publicstaticvoidmain(Stringargs[]) { Taxitaxi=newTaxi(10f); taxi.stop(); }}小汽车根本价格:15万出租车价格:10万小汽车刹车方式4、classSuperClass{privateinta=10;protectedintb=20;publicvoidf(){System.out.println(a*b);}}publicclassTestextendsSuperClass{intc=5;publicvoidf(){System.out.println(b/c);}publicstaticvoidmain(Stringargs[]){SuperClasssc=newTest();sc.f(); }}4编程题:1、 应用程序,求整数文件intfile1.txt中各行整数的和,并把和存入到另一个文件intfile2.txt中。设整数文件中全是整数,整数序列被分成行,各行整数个数不等且用空格分隔。要求程序将文件中各行整数的和及乘积输出在另一个文件中。(6分) infile1。TxtInfile2.txt 12341024 12366 561130 参考答案:程序如下:importjava.io.*;importjava.util.*;publicclassClass3803{publicstaticvoidmain(String[]args){RandomAccessFilein,out;try{ in=。。。。。intfile1.txt",//使用Filereader+BufferedReaderout=。。。。。"intfile2.txt//使用FIleWriter+BufferedWriter自己补充完整Strings;while((s=in.readLine())!=null){StringTokenizertoken=newStringTokenizer(s);longs=1;while(token.hasMoreTokens()){s*nteger.parseInt(token.nextToken());}out.write(sum);}in.close();out.close();}catch(FileNotFoundExceptione) {System.out.println("文件找不到!"+e);}catch(IOExceptione) {System.out.println("文件读写错!"+e);}}}2、接口定义,实现类定义;抽象类定义,子类定义;主函数书写定义个接口A,接口中有求面积抽象方法。实现该接口类B三角形类或矩形类或圆类,实现求面积方法,并测试该实现类。定义个抽象类A,含有求面积抽象方法。继承该类设计类B:三角形类或矩形类或圆类,实现求面积方法,并测试该实现类。3、线程模拟:三个办公文员,使用同一个打印机,一个线程使用打印机,其他线程就不能使用打印机〔同步synchornized〕,只能睡觉。当一个线程只有使用完打印机之后,才能唤醒其线程〔nofifyALL〕,其他线程才能使用打印机进行打印。4、学生类:学号、姓名、性别、年龄、平均成绩等属性,使用TreeMap类存放学生对象,按照TreeMap<K,V>〔Comparator<K>com〕形式构造树映射,关键字的大小顺序按照Coomparator接口规定的大小顺序,树映射按照关键字的大小顺序来排序映射中的键-值对。按照学生的姓名和成绩排序对象。设计一个雇员类,包含雇员姓名、部门、日期、工资、年龄等属性,利用TreeMap按照部门日期工资年龄关键字顺序排序。5、球两个日子之间的天数6、例7-14:使用Treemap,分别按照学生的姓名和成绩排序对象。P146.7、线程模拟:火车卖票,现在有100张票10-110,有4个售票员卖票,如何实现。要求方法同步。8、Linkedlist例题7-87-97-10,创立学生类、存入链表中,遍历importjava.util.*;publicclassExample{publicstaticvoidmain(Stringargs[]){LinkedListmylist=newLinkedList();mylist.add("It");//链表中的第一个节点。mylist.add("is");//链表中的第二个节点。mylist.add("a");//链表中的第三个节点。mylist.add("door");//链表中的第四个节点。intnumber=mylist.size();//获取链表的长度。for(inti=0;i<number;i++){Stringtemp=(String)mylist.get(i);//必须强制转换取出的数据。System.out.println("第"+i+"节点中的数据:"+temp);}Iteratoriter=mylist.iterator();while(iter.hasNext()){Stringte=(String)iter.next();//必须强制转换取出的数据。System.out.println(te);}}}importjava.util.*;classStudent{Stringname;intscore;Student(Stringname,intscore){=name;this.score=score;}}publicclassExample{publicstaticvoidmain(Stringargs[]){Studentzh=newStudent("张红铭",77),wa=newStudent("王家家",68),li=newStudent("李佳佳",67);HashSet<Student>set=newHashSet<Student>();HashSet<Student>subset=newHashSet<Student>();set.add(zh);set.add(wa);set.add(li);subset.add(wa);subset.add(li);if(set.contains(wa)){System.out.println("学生有叫张红铭的");}i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论