《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)接口中的方法必须全部都声明为abstract的,即接口不能像抽象类一样拥有一般的方法,而必须全部是抽象方法。接口可以实现类的多重继承。9 .如何定义接口?接口与类有哪些异同?publicinterface接口名称extends父接口名列表publicstaticfinal数据类型成员变量名=常量;publicabstract返回值的数据类型方法名(参数表);.)接口与一般的类一样,本身也具有成员变量与成员方法,但接口的成员变量一定要赋初值,且此值不能