2018春季学期《Java技术》综合练习题答案
- 格式:docx
- 大小:77.67 KB
- 文档页数:14
(单选题) 1: 容器Panel和Applet缺省使用的布局编辑策略是()A: FlowLayoutB: BorderLayoutC: GridLayoutD: CardLayout正确答案:(单选题) 2: 在类中若要处理ActionEvent事件,则该类需要实现的接口是()。
A: ActionListenerB: RunnableC: SerializableD: Event正确答案:(单选题) 3: 指出正确的表达式()A: byte=128B: Boolean=nullC: long l=0xfffLD: double=0.9239d正确答案:(单选题) 4: 在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用()类的对象来实现。
A: LabelB: ButtonC: TextAreaD: TextField正确答案:(单选题) 5: 如要抛出异常,应用下列哪种子句?()A: catchB: throwC: tryD: finally正确答案:(单选题) 6: 如果希望所有的控件在界面上均匀排序,就使用下列哪种布局管理器?()A: BosLayoutB: GridLayoutC: BorderLayoutD: FlowLayout正确答案:(单选题) 7: 下面哪些是short型的取值范围?()A: -27 -- 27-1B: 0 -- 216-1C: -215 -- 215-1D: -231 -- 231-1正确答案:(单选题) 8: 下列哪一项不属于Awt布局管理器?()A: GridLayoutB: CardLayoutC: BorderLayoutD: BoxLayout正确答案:(单选题) 9: 运行下列程序, 会产生什么结果() public class X extends Thread implements Runable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]) { Thread t=new Thread(new X()); t.start(); } }A: 第一行会产生编译错误B: 第六行会产生编译错误C: 第六行会产生运行错误D: 程序会运行和启动正确答案:(单选题) 10: 给出下面代码: public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 那个语句是正确的?()A: 编译时将产生错误B: 编译时正确,运行时将产生错误C: 输出零D: 输出空正确答案:(多选题) 1: 下列哪些情况可以终止当前线程的运行?()A: 抛出一个例外时。
2018年4月高等教育自学考试全国统一命题考试JAVA语言程序设计(一)试卷课程代码 04747一、单项选择题:本大题共l0小题,每小题l分,共10分。
1.下面关于Java语言的说法中,错误的是()A.Java是一个纯面向对象的语言B.Java语言中有指针、结构和类型定义的概念C.Java语言是与平台无关的,可以在不同的操作系统下运行D.Java语言具有自动无用内存回收机制【答案】B【解析】Java强调了面向对象的特性,是一个纯面向对象的语言;Java语言中没有指针、结构和类型定义的概念;Java语言是与平台无关的;Java语言具有自动无用内存回收机制。
【知识点】Java语言起源2.在Java语言中,int整型变量在内存中占()A.8位B.16位C.32位D.64位【答案】C【解析】byte8位,short 16位,int 32位,long 64位。
【知识点】基本数据类型3.在Java语言中,switch关键字之后的表达式的计算结果不能是()A.char型B.int型C.short型D.long型【答案】D【解析】java规定switch语句不允许使用浮点型或long型,表达式的结果必须是int型或char型,当用byte型或short型时,要进行提升。
【知识点】switch语句4.在Java语言中,类的多个实例对象所共享的变量被称为()A.静态变量B. 全局变量C.实例变量D.共享变量【答案】A【解析】类的多个实例对象所共享的变量被称为静态变量。
【知识点】静态变量5.以下对二维数组a的声明中,正确的是()A.int a[4][6];B.int a[4][6]=new int[4][6];C.int a[][]=new int[4][];D.int a[][]=new int[][6];【答案】C【解析】二维数组声明的格式:类型数组名【】【】=new 类型【数组第一维大小】【】,分别为每一维分配内存。
java考试试题及答案一、选择题1.以下关于Java的说法,哪个是正确的?A. Java是一种编程语言B. Java只能在Windows系统上运行C. Java只用于游戏开发D. Java不能用于Web开发答案:A2.下面哪个关键字用于定义一个类?A. classB. publicC. staticD. void答案:A3.Java中的基本数据类型有哪些?A. int, float, char, booleanB. Integer, Float, Character, BooleanC. String, Double, BooleanD. int, double, String, boolean答案:A4.以下哪个不是Java的访问修饰符?A. publicB. protectedC. privateD. final答案:D5.以下哪种循环结构在未知条件的情况下会被循环执行?A. for循环B. while循环C. do-while循环D. switch语句答案:C二、填空题1.Java中用于接收用户输入的类是__Scanner__。
2.Java中String类的equals()方法用于比较两个字符串的__内容__。
3.在Java中,用于创建对象的关键字是__new__。
4.Java中的集合类是位于__java.util__包下的。
5.Java中的逻辑与运算符是__&&__,逻辑或运算符是__||__。
三、简答题1.请简要介绍Java的特点及优势。
Java是一种跨平台的编程语言,具有以下特点和优势:- 简单易学:Java语法相对简单,与C++相比更容易上手。
- 面向对象:Java支持面向对象编程,具有封装、继承和多态的特性。
- 平台无关性:Java通过虚拟机实现跨平台,只需编写一次代码即可在不同操作系统上运行。
- 安全性:Java有严格的访问控制和内存管理机制,可防止非法访问和内存泄漏。
作业1.第1题应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c,则输出的结果是 ( )。
public class Test{ public static void main(String args[]){ int k1=args.length;int k2=args[1].length();System.out.print(k1+" "+k2); }}A.3 2B.1 2C.1 3D.3 3答案:A您的答案:A题目分数:2.0此题得分:2.02.第2题有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).A.2 7 8 12 35B.12 35 8 7 2C.35 12 8 7 2D.8 7 12 35 2答案:A您的答案:A题目分数:2.0此题得分:2.03.第3题下面程序段执行后b的值是( )。
String str = "java";boolean b = str instanceof StringA.0B.trueC.1D.false答案:B您的答案:B题目分数:2.0此题得分:2.04.第4题下面的程序段执行后输出的结果是( )。
StringBuffer buf=new StringBuffer("Beijing2008");buf.insert(7,"@");System.out.println(buf.toString());A.Beijing@2008B.@Beijing2008C.Beijing2008@D.Beijing#2008答案:A您的答案:A题目分数:2.0此题得分:2.05.第5题下面是关于类及其修饰符的一些描述,不正确的是:()A.abstract类只能用来派生子类,不能用来创建abstract类的对象。
2018年计算机二级JAVA考试试题及答案二
2018年计算机二级考试快开始啦!为考生们了2018年计算机二级J ___A考试试题及答案,希望能帮到大家,想了解更多内容,请
___的及时更新哦。
1). 下列代码中,将引起一个编译错误的行是____。
1)publilassTest{2)intm,n;3)publicTest(){}4)publicTest(inta) {m=a;}5)publicstaticvoid
___in(Stringargs[]){6)Testt1,t2;7)intj,k;8)j=0;k=0;9)t1=new Test();10)t2=newTest(j,k);11)}12)}
A.第3行
B.第5行
C.第6行
D.第10行
正确答案:D
2). 若某线性表中最常用的操作是取第I个元素和找第I个元素的前趋元素,则采用____存储方式最节省时间。
A.顺序表
B.单链表
C.双链表
D.单循环链表
正确答案:A
3). 下列属于正则表达式的是
A.一个数组
B.一组二进制数据
C.一个字符串
D.一个公式
正确答案:C
4). 以下选项中循环结构合法的是
A.while (int i。
2018java计算机二级考试试题和答案一、选择题(每题2分,共40分)1. Java程序中,下列哪个关键字用于定义类?()A. classB. interfaceC. structD. package答案:A2. 在Java中,下列哪个选项是正确的数据类型?()A. intB. stringC. longD. all of the above答案:D3. 下列哪个选项是Java中的一个保留字?()A. classB. publicC. voidD. all of the above答案:D4. Java中,哪个关键字用于定义一个方法?()A. methodB. functionC. defD. none of the above答案:D5. 在Java中,下列哪个选项是正确的注释方式?()A. // This is a single-line commentB. /* This is a multi-line comment */C. both A and BD. none of the above答案:C6. Java中,哪个关键字用于声明一个变量为静态?()A. staticB. constC. finalD. none of the above答案:A7. 在Java中,下列哪个选项是正确的数组声明方式?()A. int[] myArray;B. int myArray[];C. both A and BD. none of the above答案:C8. Java中,哪个关键字用于抛出一个异常?()A. throwB. throwsC. both A and BD. none of the above答案:C9. 在Java中,哪个关键字用于捕获异常?()A. catchB. tryC. finallyD. all of the above答案:A10. Java中,哪个关键字用于定义一个接口?()A. interfaceB. classC. abstractD. none of the above答案:A11. 在Java中,下列哪个选项是正确的继承方式?()A. class Derived extends BaseB. class Derived implements BaseC. both A and BD. none of the above答案:A12. Java中,哪个关键字用于实现多态?()A. overrideB. implementsC. extendsD. none of the above答案:A13. 在Java中,下列哪个选项是正确的集合框架类?()A. ListB. SetC. MapD. all of the above答案:D14. Java中,哪个关键字用于定义一个枚举类型?()A. enumB. enumarateC. enumerationD. none of the above答案:A15. 在Java中,下列哪个选项是正确的线程创建方式?()A.继承Thread类B.实现Runnable接口C.both A and BD.none of the above答案:C16. Java中,哪个关键字用于同步方法?()A. synchronizedB. threadC. lockD. none of the above答案:A17. 在Java中,下列哪个选项是正确的泛型使用方式?()A. List<String> list = new ArrayList<>();B. List list = new ArrayList<String>();C. both A and BD. none of the above答案:A18. Java中,哪个关键字用于定义一个泛型类?()A. genericB. templateC. classD. none of the above答案:C19. 在Java中,下列哪个选项是正确的泛型方法?()A. public <T> T get(T t) { return t; }B. public T get(T t) { return t; }C. both A and BD. none of the above答案:A20. Java中,哪个关键字用于定义注解?()A. annotationB. @interfaceC. both A and BD. none of the above答案:B二、填空题(每题2分,共20分)21. Java中,一个类可以继承多个____,但只能继承一个____。
18春《JAVA语言程序设计》作业_1一、单选题1.下列关于类和对象的描述中,不正确的一项是()A.一组对象构成一个程序,对象之间通过发消息通知彼此该做什么B.现实世界中,可以把每件事物都看作是一个对象C.有共同属性的对象可以抽象为一个类D.一个类只能实例化一个对象答案D2.答案A3.答案D4.答案A5.答案D6.7.定义一个长整型变量a的语句是()A.intaB.alongC.floataD.longa8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.下列选项中,哪一个是打印语句的正确表达式()A.System.out.println();B.System.out.Println();C.System.Out.print();D.System.Out.println();23.24.二、判断题1.我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。
答案正确18春《JAVA语言程序设计》作业_2一、单选题1.A.(A)B.(B)C.(C)D.(D)2.A.(A)B.(B)C.(C)D.(D)3.A.(A)B.(B)C.(C)D.(D)4.5.6.7.8.9.10.11.12.switch语句不能用于下列哪种数据类型()13.14.15.16.18.19.20.21.23.24.二、判断题1.Java中所有的类都是ng的子类。
知识点:4.3自定义例外类的使用18春《JAVA语言程序设计》作业_3一、单选题1.A.(A)B.(B)C.(C)D.(D)2.A.(A)B.(B)C.(C)D.(D)3.A.(A)B.(B)C.(C)D.(D)4.A.(A)B.(B)C.(C)D.(D)5.A.(A)B.(B)C.(C)D.(D)6.A.(A)B.(B)C.(C)D.(D)7.A.(A)B.(B)C.(C)D.(D)知识点:6.3JavaApplet 8.A.(A)B.(B)C.(C)D.(D)9.A.(A)B.(B)C.(C)D.(D)10.A.(A)B.(B)C.(C)D.(D)11.A.(A)B.(B)C.(C)D.(D)12.A.(A)B.(B)C.(C)D.(D)13.A.(A)B.(B)C.(C)D.(D)14.A.(A)B.(B)C.(C)D.(D)15.A.(A)B.(B)C.(C)D.(D)16.A.(A)B.(B)C.(C)D.(D)17.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?A.安全性B.多线性C.跨平台D.可移植18.A.(A)B.(B)C.(C)D.(D)19.A.(A)B.(B)C.(C)D.(D)20.A.(A)B.(B)C.(C)D.(D)21.A.(A)B.(B)C.(C)D.(D)22.A.(A)B.(B)C.(C)D.(D)23.A.(A)B.(B)C.(C)D.(D)24.A.(A)B.(B)C.(C)D.(D)二、判断题1.接口和类一样也可以有继承关系,而且都只能支持单继承。
J a v a语言程序设计期末复习综合练习题答案As a person, we must have independent thoughts and personality.Java语言程序设计期末复习综合练习题一、选择题。
2. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、public static void main()B、public static void main( String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )答:B4.下列哪个是合法的Java标识符()A、Tree&GlassesB、FirstJavaAppletC、_$theLastOneD、答:B 、 C5.Java Application源程序的主类是指包含有()方法的类。
A、main方法B、toString方法C、init方法D、actionPerfromed方法答:A6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64答:B7.设 a = 8,则表达式 a >>> 2 的值是( )。
A、1B、2C、3D、4答:B8.若a的值为3时,下列程序段被执行后,c的值是多少() c = 1;if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;A、1B、2C、3D、4答:C9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
A、import .* ;B、import ;C、import .* ;D、import ;答:C10.对于构造函数,下列叙述正确的是()。
全国2011年1月高等教育自学考试一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在Java语言中,int类型数据的长度是(C )A.1个字节B.2个字节C.4个字节D.8个字节2.在switch语句中,switch后面括号内的表达式的类型不能是( B )A.byteB.lo ngC.charD.i nt3.以下关于接口的叙述中,正确的是( D )A. 所有的接口都是公共接口,可被所有的类和接口使用B. —个类通过使用关键字in terface声明自己使用一个或多个接口C. 接口中所有的变量都默认为public abstract 属性D. 接口体中不提供方法的实现4.以下代码段的输出结果是( A )String s="JavaWorld" ;System.out.print(s.indexOf("a" ,4));A.-1B.OC.1D.45.以下不属于AWT库中定义的类是(C )p onentB.ContainerC.lm agesD.Graphics6.鼠标单击列表中某个选项事件的相关接口是(B )A.L istActio nListe nerB.ListSelectio nListe nerC.Actio nListe nerD.Selectio nListe ner7.Java语言规定,程序绘图区域的坐标原点位于整个区域的( A )A.左上角B.右上角C.左下角D.右下角8. 以下关于线程互斥和同步的叙述中,正确的是(C )A. 多线程互斥使用各自资源的程序段,在操作系统中称为临界段B. 临界段的作用是使某线程能够使用其它线程的资源C. 可以使用notify()方法通知等待线程结束等待D. 线程的互斥和同步可以很好地解决死锁问题9. 当用户关闭文件对话框时,有可能返回的整数常量是(B )A.JFileChooser.CLOSE_OPTIONB.JFileChooser.APPROVE_OPTIONC.JFileChooser.SAVE_OPTIOND.JFileChooser.OPEN_OPTION10. 获取InetAddress 对象的域名所用到的方法是(D )A.getByName()B.getHostAddress()C.getLocalHost()D.getHostName()二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2018年3月计算机二级考试JAVA试题及答案(八)2018年计算机等级考试开考在即,小编在这里为考生们整理了2018年3月计算机二级考试JAVA试题及答案,希望能帮到大家,想了解更多资讯,请关注的及时更新哦。
2018年3月计算机二级考试JAVA试题及答案(八)选择题1.在浏览器中执行applet 程序,以下选项中的哪个方法将被最后执行( C )。
A、init( )B、start( )C、destroy( )D、stop( )2. Java application中的主类需包含main方法,main方法的返回类型是什么?( D )A、intB、floatC、doubleD、void3.设有下面两个类的定义:class Person {class Student extends Person {{long id; // 身份证号int score; // 入学总分 String name; // 姓名int getScore( ){}return score; }}则类Person和类Student的关系是( B )。
A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误4.在编写Java Applet程序时,需要在程序的开头写上( B )语句。
A、import java.awt.*B、import java.applet.*C、import java.io.*D、import java.awt.event.*5.容器Panel和Applet缺省使用的布局编辑策略是( A )A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout6.有以下程序片段,下列哪个选项不能插入到行1。
( A ) 1.2.public class A{3.//do sth4. }A、public class MainClass{ }B、package mine;C、class ANotherClass{ }D、import java.util.*;7.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
“Java技术”综合练习题参考答案一、单项选择题1. B2. C3. A4. C5. D6. A7. D8. C9. A10.B11.A12.B(程序设计与语言的构成的解释如下:程序设计语言的种类千差万别,但是,一般说来,基本成分不外四种:数据成分,用以描述程序中所涉及的数据;运算成分,用以描述程序中所包含的运算;控制成分,用以表达程序中的控制构造;传输成分,用以表达程序中数据的传输。
——计算机科学技术百科全书。
)13.C14.A15.C16.D17.C18.A(子类继承父类所有成员,包括私有成员。
只是继承得来的私有成员在子类中不可用而已。
)19.A子类扩展父类的功能(这个有关键字extends的含义即可知道),所以子类可以扩大访问控制权限,而不能缩小访问控制权限,因为前者是扩展父类功能,而后者是缩减父类功能。
检测异常:在编译时,JVM会进行检测,如果有检测异常,编译就通不过。
例如:sqlExecption这个异常就是一个检测异常。
你连接JDBC时,如果在程序中不处理这个异常(或这个异常的直接,间接父类),编译器就通不过。
不允许编译。
非检测异常:在编译时,JVM不会进行测,要靠人工来判断消除的异常。
例如:一个数组为3个长度,当你使用下标为3时,就会产生数组下标越界异常。
这个异常JVM不会进行检测。
要靠程序员来判断20.B21.C22.D23.B24.C25.A26.D27.A28.B29.A30.D31.C32.D33.B34.B35.B37.C38.A39.B40.C二、多项选择题1.ABC2.CD3.BCD4.ABD5.BCD6.ABC7.ABCD8.AD9.BC10.ABCD11.BCD12.AC13.ACD14.ABCD15.ABCD16.ABCD17.ACD18.ABD19.ABC20.CD21.ABC22.AC三、判断题1.程序设计语言按思维模式可以分为编译执行语言和解释执行语言两类。
()BA. 正确B. 错误2.在主机操作系统上由软件实现的Java虚拟机实际上是用本地语言(如C/C++等)编写的程序。
()AA. 正确B. 错误3.Eclipse联盟是由Sun公司捐资组建的。
()BA. 正确B. 错误4.Eclipse根据任务的不同把视图和编辑器预先划分为不同的类别,预设好视图的排列方式,并把每一个类别称为一个视景。
()AA. 正确B. 错误5.为管理和使用大量的类和接口,Java把一组类和接口封装在一个包内。
()AA. 正确B. 错误6.把基本数据类型包装成类的好处是可以提供基本数据类型的信息,还可以使用类的方法对数据进行操作。
()AA. 正确B. 错误7.在声明成员变量的时候,用关键字class修饰的变量是类变量。
()BA. 正确B. 错误8.new运算符用于创建对象,new运算符被执行之后会返回新创建对象的内存地址。
()BA. 正确B. 错误A. 正确B. 错误10.Java中的多态是指用一个类可以创建功能不同的对象。
()BA. 正确B. 错误11.使用接口实际上要做两件事:第一是声明接口,第二是在类中实现接口。
()AA. 正确12.Java使用接口实现“回调”程序设计模式。
()AA. 正确B. 错误13.Java程序运行时出现的异常通常是由计算机硬件错误引起的。
()BA. 正确B. 错误14.我们把生成异常对象并把它交给运行时系统的异常处理机制的过程称为捕获异常。
()BA. 正确B. 错误15.按照数据的传输方向,流可以分为字节流和字符流两类。
()BA. 正确B. 错误16.用于文件的随机读写操作的文件类是File。
()BA. 正确B. 错误17.当Java 程序启动时,系统就为它创建好一个线程,用这个线程执行main() 方法中的代码序列。
这个系统创建好的线程叫主线程。
()AA. 正确B. 错误18.线程要完成一个应用任务,为了完成该应用任务而编写的代码要放到start()方法中。
()BA. 正确B. 错误19.小应用程序和面板默认的布局管理器都是FlowLayout。
()AA. 正确B. 错误20.要获取事件e 的命令字符串从而知道是哪一个组件激发的事件,则应使用的代码是e.getActionCommand() 。
()AA. 正确B. 错误四、填空题1.面向过程的语言面向对象的语言2.Java SE Java EE Java ME3.Java编程语言Java类文件格式Java应用程序编程接口Java虚拟机4.Java虚拟机核心类5.字节码6.本地(如C/C++等)7.类装载器执行引擎8.Java运行时环境9.参数10.Java项目11.视景(或透视图)12.包13.模板14.用户自己定义类ng16.可以提供基本数据类型的信息,还可以使用类的方法对数据进行操作17.Integer Character18.把一个字符串转换为一个整型数据19.标准输出流或System.out20.java.util21.Scanner myScanner = new Scanner(System.in);23.System.out.printf()24.java.util.Date25.字符序列26.StringBuffer27.String28.length()29.对象实体对象的引用30.提供要实例化的类的类名把新创建的对象初始化31.引用32.static 静态33.实例34.static 静态35.实例36.类名对象名37.功能38.签名39.reference.method(arguments)40.当前对象的引用41.封装继承多态42.状态43.行为44.功能的内部实现机制它持有的数据45.属性方法46.Object47.一个程序中同名的不同方法共存48.为编译时多态运行时多态49.声明接口(定义接口)在类中实现接口50.接口51.程序的运行时错误52.从当前环境中跳出,并且把问题提交给上一级别的环境53.抛出异常54.捕获异常55.不能通过编译56.程序执行了不合法的动作通过执行throw语句由程序显式抛出57.输入流输出流58.字节流字符流59.FileInputStream FileOutputStream60.FileReader FileWriter61.BufferedReader BufferedWriter62.可以减少系统和外部设备交换数据的次数63.DataInputStream DataOutputStream64.File65.RandomAccessFile66.代码执行流67.main()68.主线程69.系统线程用户线程70.Threadng.Thread73.run()74.start()75.Runnable 可运行的对象76.构造77.新建状态就绪状态运行状态阻塞状态死亡状态78.抢占79.java.swing java.awt.event80.java.awt81.事件监听接口82.无边框的窗口(JWindow)83.mw.getContentPane()84.e.getActionCommand()85.普通面板(JPanel) 滚动面(JScrollPane)youtManager87.FlowLayout88.BorderLayout89.null90.setBounds()91.下拉式菜单弹出式菜单92.ActionListener actionPerformed() getSource()93.JDialog JOptionPane94.AdjustmentEvents adjustmentValueChanaged() addAdjustmentListener() getAdjustable()95.MouseListener 接口MouseMotionListener 接口96.JDBC API JDBC驱动程序97.getConnection()98.Connection 类99.Statement 类100.ResultSet 类五、简答题1.答:编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候就不用再进行翻译了。
解释型语言是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。
C/C++ 等都是编译型语言,而Java、C#等都是解释型语言。
虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
C/C++编译和链接后,可形成独立的可执行文件,而Java、C#等编译后只得到中间形式的二进制文件,它必须由专用的解释器换成本地机器代码后才能执行。
此外,像JavaScript、VBScript、PHP、PERL等脚本语言一般也都由相应的脚本引擎来解释执行。
2.答:JVM 是在一台计算机上由软件模拟,也可用硬件实现的假想的计算机,它定义了指令集(相当于中央处理器CPU)、寄存器、类文件结构栈、垃圾收集堆、内存区域等。
JVM 是执行Java 程序的引擎。
Java 程序编译后得到的二进制形式的字节码实际上就是JVM指令。
3.答:包是Java提供的一种组织类的机制,有时也称为类库。
这种机制功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
在定义成员变量时,如果用static修饰符修饰,则该变量是类变量(也称“静态变量”),否则是实例变量。
类变量不属于类的任何一个具体对象。
它保存在类的内存区域的公共存储单元。
类的任何一个对象对类变量的存取都是对同一个内存单元进行操作。
与类变量相对,实例变量属于类的某个具体的对象。
它在类的每个对象的内存区域中都保存一份。
类的任何一个对象对实例变量的存取都是对自己内存区域内保存的实例变量的副本进行操作。
5.答:Java允许将一个类的定义放在另一个类的内部。
定义在另一个类内部的类就是内部类。
但内部类是一种编译器现象,与虚拟机无关。
当使用内部类时,编译器会从外部类中把内嵌的类分离出来并调整编译结果。
内部类允许我们把一些逻辑相关的类组织在一起,并控制在内部的类的访问特性。
内部类的对象持有一个隐式引用,它引用了实例化该内部对象的外围类对象。
通过这个引用,可以访问外围类对象的全部状态。
6.答:Java中的多态就是指一个程序中同名的不同方法共存的情况。
分为编译时多态和运行时多态两类。
方法重载可以实现Java的编译时多态。