Java第一章.docx

上传人:夺命阿水 文档编号:1424992 上传时间:2024-06-15 格式:DOCX 页数:7 大小:24.99KB
返回 下载 相关 举报
Java第一章.docx_第1页
第1页 / 共7页
Java第一章.docx_第2页
第2页 / 共7页
Java第一章.docx_第3页
第3页 / 共7页
Java第一章.docx_第4页
第4页 / 共7页
Java第一章.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Java第一章.docx》由会员分享,可在线阅读,更多相关《Java第一章.docx(7页珍藏版)》请在课桌文档上搜索。

1、第一章1.什么是java的虚拟机?任何一种可以运行java字节码的软件都可以看成是java的虚拟机。2 .什么是字节码?采用字节码的好处是什么?JaVa程序经过编译器后,java程序会转成于平台无关的机器码,java称之为字节码。字节码可以跨平台运行。(编译一次,到处运行)3 .什么是平台无关性?JaVa语言怎样实现的?用户可以使用任何一种java编译器将java源程序编译成字节码文件后,无论使用哪种操作系统,都可以在含有JVM的平台上运行。java编译器将java源程序编译成字节码文件。4 .java语言程序有几种?包含哪几个方面?Javaapplication称为java应用程序。Java

2、applet称为java小程序。包含package语句,import语句,类定义。5 .什么是java程序的主类?应用程序与小程序的主类有什么不同?主类是程序执行的起始点。应用程序的主类是包含有mainO方法的类,不一定是public类,小程序的主类必须包含有一个继承自系统类JAppIet或Applet的子类,而且必须是public类。第二章1 .什么是jdk?Jdk由iavaAPl,iava运行环境和一组建立、测试工具的iava实用程序等组成。2 .环境变量Path和ClaSSPath的作用是什么?如何设置这两个环境变量?Path的作用是设置供操作系统去寻找可执行文件的路径,对java而言既

3、是java的安装路径。ClaSSPath的作用于Path的相似,是Nm执行IaVa程序时搜索类的路径的顺序,最先找到的为准。3 .java应用程序的源文件与小程序源文件的命名有什么规定?java应用程序的源文件:首先,源文件的扩展名必须是.iava;如果源文件只要一个类,那么文件名必须与类名一致;如果源文件中有多个类,则只能有一个类是PUbliC类,如果有,那么源文件的名字必须与该public类的名字完全相同;如果源文件中包含多个类,没有PUbliC类,那么源文件的名字只要与某个类的名字相同即可。小程序源文件:一个java小程序的源文件也是由若干类组成的,一个java小程序的源文件不再需要ma

4、in()方法,但必须有一个父类为Applet的类,这个类就是Java小程序源文件的主类。小程序源文件的主类必须是public,JaVa小程序源文件的名字一定要与主类的名字相回。4 .java应用程序与小程序之间有哪些差别?应用程序的主类不一定要求是PUbliC类,但小程序的主类要求必须是PUbIiC类。主类是JaVa程序执行的入口点。第三章1 .自动类型转换的前提是什么?转换时从短到长的优先级顺序是什么?(1)转换前的数据类型与转换后的类型兼容,(2)转换后的数据类型的表示范围比转换前的类型大。2 .从键盘输入一个浮点数,然后将浮点数的整数部分输出。3 .从键盘输入两个整数,计算它们相除的结果

5、并输出。4 .从键盘上输入圆柱的高和半径,计算体积并输出。5 .计算下列结果。X=3zy=17,yn=true.X+y*x-=54-x*y+y=-34XyI!yn=falseY!=+x?x:y=4Y+-x=8(先返回Y再做自加运算,先进行自减运算再返回X)第四章1 .学生的成绩分为四个等级:85100为A,7084为B,6069为C,059为D,键盘输入一个0100的成绩,评定并输出相应的等级。2 .Java应用程序,输出1.lOO之间既可以被3整除,又可以被7整除的数。3 .编写java应用程序,从键盘上输入数n,计算并输出1!+2!+n!的结果。4 .键盘输入一个整数,判断该数是否为完全数

6、。第五章1 .从键盘输入n个数,求这几个数中的最大数和最小数并输出。2 .找出4*5矩阵中值最小和最大元素,并分别求出其值所在的行号和列号。3 .编写java应用程序,比较命令行中给出的两个字符串是否相等,并输出比较结果。4 .从键盘上输入一个字符串和一个字符,从该字符串中删除给定的字符。第六章1 .定义一个类时所使用的修饰符有哪几个?每个修饰符的作用是什么?是否可以混用?public将一个类声明为公共类,它可以被任何对象访问,一个程序的主类必须是公共类abstract将一个类声明为抽象类,没有实现的方法,需要子类提供方法的实现final将一个类声明为最终类即非继承类,表示它不能被其他类所继承

7、friendly友元类型,默认的修饰符,只有在相同包中的对象才能使用这样的类类的访问控制符只有一个DUbliG其他的修饰符中,abstract和final相互对立,所以不能同时应用在一个类的定义中。2 .成员变量和局部变量的区别有哪些?(1)从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或方法的参数:成员变量可以被PUblic、private.StatiC等修饰符所修饰,而局部变量则不能被访问控制修饰符及StatiC所修饰;成员变量和局部变量都可以被final所修饰。(2)从变量在内存中的存储方式上看,成员变量是对象的一部分,而对象是存在于堆内存,而局部变量是存在于栈内存的

8、。(3)从变量在内存中的生存时间上看,成员变量是对象的一部分,它随对象的创建而存在,而局部变随着方法的调用而产生,随着方法调用的结束而自动消失(4)成员变量如果没有被赋初值,则会自动以类型的默认值赋值(有一种情况例外,被final修饰但没有被StatiC修饰的成员变量必须显示地赋值):而局部变量则不会自动赋值,必须显示赋值后才能使用。3 .定义一个student”类,包含的内容有:成员变量:学号,姓名,性别,班干部否,数学,语文,外语成员方法:输入,总分,平均分编程实现这个类,并调用相应的方法输入数据,计算总分和平均分。4 .以m行n列二维数组为参数进行方法调用,计算二维数组各列元素之和,并返

9、回所计算的结果。第七章1.什么是方法的重载?重载是指相同的方法名称,如果妻数个数不同,或者是参数个数相同,但类型不同,则方法就具有不同的功能。2 .一个类的构造方法的作用是什么?若一个类没有声明构造方法,该程序能正确执行吗?为什么?构造方法的作用是在对象被创建时初始化对象的成员的方法能,这是因为如果省略构造方法,JaVa会自动调用默认的构造方法。3 .构造方法有哪些特性?(1)构造方法的方法名与类名相同;(2)构造方法没有返回值,也不能写void:(3)构造方法的主要作用是完成对类对象的初始化工作;(4)构造方法一般不能由编程人员显示地直接调用,而是用new来调用,(5)在创建一个类的对象的同

10、时,系统会自动调用该类的构造方法为新对象初始化。4 .静态变量与实例变量有哪些不同?静态变量是隶属于类的变量,而不是属于任何一个类的具体对象:是公共的存储单元,不保存在某个对象实例的内存空间中,而是保存在类的内存空间的公共存储单元中:静态变量不需要实例化就可以引用。实例变量有各自的存储空间来保存自己的值,而不与其他对象共享.5 .静态方法与实例方法有哪些不同?静态方法实质是属于整个类的方法,它在内存中的代码段将被所有的对象所公用,而不被任何一个对象所专用;由于静态方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员,而只能处理属于整个类的成员;在静态方法中不能使用this或SUPer.实

11、例方法是属于某个具体对象的方法;调用实例方法必须先创建对象,再利用对象来调用方法,而无法不通过对象而直接去调用;在这个对象创建时,对象的方法在内存中拥有属于自己的专用的代码段。6.对象的相等与指向它们的引用相等,两者有什么不同?!.Cylindervolul-newCylinder(1.0,2);6 .Cylindervolu2=newCylinder(1.0,2);7 .Cylindervolu3三volul;尽管创建的两个对象看上去完全相同,但它们是两个彼此独立的对象,是两个占据不同内存空间地址的不同对象,而引用变量VOlUl与volu2的值分别是这两个对象在内存中的首地址,显然它们是不想

12、等的。而VOIUl和VolU3是指向同一个对象的两个变量,它们的值是同一对象在内存中的首地址,所以它们是相等的。7.什么是静态初始化器?其作用是什么?静态初始化器由谁在何时执行?它与构造方法有何不同?静态初始化器是由关键字StatiC修饰的一对花括号“)”括起来的语句组。作用是用来初始化工作的不同:(1)构造方法是对每个新创建的对象初始化,而静态初始化是对类自身进行初始化。(2)构造方法是在用new运算符创建新对象时由系统自动执行,而静态初始化器一般不能由程序来调用,它是在所属的类被加栽入内存时由系统调用执行。(3)用new运算符创建多少个新对象,构造方法就被调用多少次,但静态初始化器则在类被

13、加载入内存时只执行一次,与创建多少个对象无关.(4)不同于构造方法,静态初始化器不是方法,因而没有方法名、返回值和参数。第八章1 .在调用子类的构造方法之前,会先自动调用父类中没有参数的构造方法,其目的是什么?其目的是为了帮助继承自父类的成员做初始化的操作2 .用父类对象变量可以访问子类的成员吗?若可以,则只限于什么情况?可以,只限于“覆盖”的情况发生时。也就是说,父类与子类的方法名称、参数个数与类型必须完全相同,才可通过父类的变量调用子类的方法。如果某一方法仅存在于子类中,当以父类变量调用它时,编译时将产生错误。3 .什么是“多态”机制?JaVa语言是如何实现多态的?相同类型的变量、调用同一

14、个方法时呈现出多种不同的行为特征,这就是多态。覆盖与重载均是Java语言多态的技巧之一。4 .方法的“覆盖”与方法的“重载”有何不同?覆盖是指在子类中,定义名称、参数个数与类型均与父类相同的方法,用以重写父类里同名方法的功能。重载是指在同一个类内定义名称相同,但参数个数或类型不同的方法,因此JaVa可根据参数的个数或类型的不同来调用相应的方法。5 .this和super分别有什么特殊的含义?super是从子类的构造方法调用父类的构造方法this是在同一个类内调用其他的构造方法6 .什么是最终类与最终方法?它们的作用是什么?如果一个类被final修饰符所修饰,则说明这个类不能再被其他类所继承,即

15、该类不可能有子类,这种类被称为最终类。如果用final修饰成员方法,则该成员方法不能再被子类所覆盖,即该方法为最终方法。对于一些比较重要且不希望被子类重写的方法,可以使用final修饰符对成员方法进行修饰,这样可以增加代码的安全性。7 .什么是抽象类与抽象方法?使用时应注意哪些问题?在Java语言中还可以创建专门的类来作为父类,这种类被称为抽象类。并不能直接由抽象类创建对象,只能通过抽象类派生出新的子类,再由其子类来创建对象。8 .什么是接口?为什么要定义接口?接口的结构与抽象类非常相似,其本身也具有数据成员与抽象方法,但它与抽象类有下列不同:(1)接口的数据成员必须初始化;(2)接口中的方法

16、必须全部都声明为abstract的,即接口不能像抽象类一样拥有一般的方法,而必须全部是抽象方法。接口可以实现类的多重继承。9 .如何定义接口?接口与类有哪些异同?publicinterface接口名称extends父接口名列表publicstaticfinal数据类型成员变量名=常量;publicabstract返回值的数据类型方法名(参数表);.)接口与一般的类一样,本身也具有成员变量与成员方法,但接口的成员变量一定要赋初值,且此值不能再被修改,若省略成员变量的修饰符,系统默认为PUbliCStatiCfinaI;而其成员方法必须是抽象方法,方法的即使省略修饰符,系统仍然默认为PUbIiCa

17、bStraCtC10 .什么是包?它的作用是什么?如何创建包?如何引用包中的类?包就是JaVa语言提供的一种区别类名空间的机制,是类的组织方式,包对应一个文件夹,包中还可以再有包,称为包等级。包实际上提供一种命名机制和可见性限制机制。第九章1 .异常是什么?简述JaVa语言的异常处理机制。异常是指程序在运行过程中发生由于硬件设备问题、软件设计错误等导致的程序异常事件.Java语言中定义了很多异常类,每个异常类都代表一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当JaVa程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之对应时,系统多会产生一个相应的该异常类的

18、对象,即产生一个该错误的异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,从而保证整个程序运行的安全性。这就是Java的异常处理机制。2 .ThrOWabIe类的两个直接子类ErrOr和EXCePtiOn的功能各是什么?用户可以捕获到的异常是哪个类的异常?ErTor子类由系统保留,因为该类定义了那些应用程序通常无法捕捉到的异常。即Error类对象是由JaVa虚拟机生成并抛出给系统,这种错误有内存溢出错、栈溢出错、动态链接错等。通常JaVa程序不对这种错误进行直接处理,必须交由操作系统处理。EXCePtion子类是供应用程序使用的,它是用户程序能够捕捉到的异常情况,通常产生它的子类

19、来创建自己的异常。即EXCePtion类对象是JaVa程序抛出和处理的对象,它有各种不同的子类分别对应于各种不同类型的异常。3 .什么是运行时异常?什么是非运行时异常?运行时异常是程序运行时自动地对某些错误做出反应而产生的。非运行时异常是程序运行过程中由环境原因造成的异常。4 .抛出异常有哪两种方式?(1)系统自动抛出的异常:所有系统定义的运行异常都可以由系统自动抛出(2)使用thr。W语句抛出的异常:用户程序自定义的异常不可能依靠系统自动抛出,而必须借助于throw语句来定义何种情况算是产生了此种异常对应的错误,并应该抛出这个异常类的对象5.在异常处理机制中,用CatCh()括号内的变量e接

20、收异常类对象的步骤有哪些?try块中代码可能会抛出一个或多个异常,若发生异常,则程序的运行便中断,并抛出由异常类所产生的对象e;catch语句块紧跟在try语句块的后面,用来指定需要捕获的异常类型,若抛出的异常对象属于CatCh后面括号内欲捕获的异常,则CatCh会捕获此异常,然后进入到CatCh块内继续执行6 .若try语句结构中有多个CatCh()子句,这些子句的排列顺序与程序执行效果是否有关?为什么?有关;由于异常对象与catch块的匹配是按照catch块的先后排列顺序进行的,所以在处理多异常时应注意认真设计各CatCh块的排列顺序。一般地,将处理较具体的较常见的异常的CatCh块应放在

21、前面,而可以与多种异常相匹配的CatCh块应放在较后的位置。若将子类异常的CatCh语句块放在父类的后面,则编译不能通过。7 .系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?系统定义的异常类主要用来处理系统可以预见的较常见的运行错误;用户自定义的异常类主要用来处理用户程序中可能产生的逻辑错误,使得这种错误能够被系统及时识别并处理,而不致扩散产生更大的影响,从而使用户程序有更好的容错性能,并使整个系统更加稳定。第十章1 .什么是流?JaVa语言中分为哪两种流?这两种流有何差异?流是指计算机各部件之间的数据流动。按照数据的传输方向,流可分为输入流与输出流。对于输入流只能从其读取数据

22、而不能向其写入数据;对于输出流只能向其写入数据而不能从其读取数据。2 .InputStreamXOutputStream,Reader和Writer四个类在功能上有何异同?InPUtStream和OUtPUtStream类通常是用来处理位流,也就是二进制文件,但也可以处理纯文本文件;Reader和Writer类是用来处理字符流,也就是纯文本文件3 .利用基本输入输出流实现从键盘上读入一个字符,然后显示在屏幕上。4 .Java语言中定义的三个标准输入输出流是什么?它们对应什么设备?SyStem.in对应于输入流,通常指键盘输入设备:System.out对应于输出流,指显示器等信息输出设备:SyS

23、temen对应于标准错误输出设备,使得程序的运行错误可以有固定的输出位置,通常该对象对应于显示器。5 .利用文件输出流创建一个文件file1.txt,写入字符“文件已被成功创建!”,然后用记事本打开该文件,看一下是否正确写入。5 .利用文件流入打开第7题中创建的文件用e1.txt,读取其内容并显示在屏幕上。6 .利用文件输入输出流打开7题创建的文件file1.txt,然后在文件的末尾追加一行字符串“又添加了一行文字!7 .产生15个209999之间的随机整数,然后利用bufferedWriter类将其写入文件file2.txt中:之后在读取该文件中的数据并将它们升序排序。第十一章1 .简述线程

24、的基本概念,程序、进程、线程的关系是什么?运行一个进程时,将程序中一些彼此相对独立的代码段可以同时运行,从而获得更高的执行效率的运行单位,成为线程。系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程与进程相似,也是一个执行中的程序,但线程是一个比进程更小的执行单位。一个进程在其执行过程中可以产生多个线程,形成多条执行线路。2 .什么是多线程?为什么程序的多线程功能是必要的?多线程就是同时执行一个以上的线程,一个线程的执行不必等待另一个线程执行完才执行,所有的线程都可能发生在同一时刻。但操作系统并没有将多个线程看做多个独立的应用,来实现线程的调度和管理以及资源分配。由于可以共享内存,所以

25、各线程之间的通信速度很快,线程之间进行切换所占用的系统资源也较少。3 .线程有哪些基本状态?这些状态是如何定义的?新建状态:当一个Thead类或其子类的对象被声明并创建,但还未被执行的这段时间里,处于一个特殊的新建状态中;就绪状态:也称为可运行状态,处于新建状态的线程被启动后,将进入线程队列排队等待CPU时间片,此时它已具备了运行的条件;运行状态:当就绪状态的进程被调度并获得处理器资源时,进入运行状态;阻塞状态:一个正在执行的线程如果在某些特殊情况下,如被人为挂起或需要执行费时的输入输出操作时,将让出CPU并暂时中止自己的执行,进入阻塞状态:消亡状态:不具备继续运行的能力;4 .Java程序实

26、现多线程有哪两个途径?Thread类和RUnnable接口。5 .在什么情况下必须以类实现Runnable接口来创建线程?类本身己经继承了某个父类,由于JaVa语言不允许多重继承,所以就无法在继承Thread类,这种情况下可以创建一个类来实现RUnnabIe接口。6 .什么是线程的同步?程序中为什么要实现线程的同步?是如何实现同步的?线程的同步就是保证线程在一个完整的操作所有动作的执行过程中,都占有相关资源而不被打断;在线程执行过程中,在执行有关的若干个动作时,没有能够保证独占相关的资源,而是被其他线程的操作打断或干扰而引起数据混乱,为了防止这样的情况发生,要实现线程的同步;管程:每一个同步资

27、源对应一个管程,首先占有同步资源的线程同时拥有了该资源的管程,在它完成操作释放管程之前,其他想要访问同一资源的线程只能排队等候管程,这样就实现了线程对资源的独占。第十三章1 .框架组件与面板组件的区别有哪些?Frame是Window类的直接子类,Frame对象显示效果是一个“窗口”,带有标题和尺寸重置角标,默认初始化不可见,默认布局管理器是Border1.ayoutcPanel是容器类的直接子类,Panel不是顶层窗口,必须位于窗口或其他容器之内,Panel提供可以容纳其他组件的支持,在程序中经常用于布局和定位默认的布局管理器是FIow1.ayoutPanel可以采用和所在容器不同的布局管理器

28、2 .java语言中常用的布局管理器有哪几个?各有什么特点?流式布局管理器FIow1.ayout:组件按照加入容器的先后顺序从左向右排列;一行排满之后就自动地转到下一行继续从左向右排列:每一行中的组件都居中排列。边界式布局管理器Border1.ayout:将显示区域按地理方位分为东南西北中:在将组件加入容器中时,都应该指出把这个组件加在哪个区域中,若没有指定区域,则默认中间:若将组件加入到已被占用位置时,将会取代原先的组件。网格式布局管理器Grid1.ayout:将容器的空间划分成若干行与列的网格形式,在容器上添加组件时,它们会按从左到右、从上到下的顺序在网格中排列。卡片式布局管理器Card1.ayOut:往窗口容器中加入组件时对每个组件赋予一个名字,然后依据这个名字利用Card1.ayout类所提供的方法来控制其他组件是否显示。网袋布局管理器GridBag1.ayout:将容器中的组件按行、列的位置摆放,但各组件所占据的空间可以是互不相同的。3 .JaVa语言的委托事件模型“委托事件模型”是指当事件发生时,产生事件的对象会把此信息转给“事件监听者”处理的一种方式,而这个信息事实上是java.awt.event或javax.swing.event事件包中的某个类所建立的对象。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号