Java程序设计-习题参考答案
- 格式:doc
- 大小:139.00 KB
- 文档页数:23
java程序设计第1-4章练习题参考答案(1)一、选择题1.下面供选字符序列中,不属于...Java语言关键字的是( A ) A.goto B.null C.false D.native2.以下是关于Java语言关键字的叙述,其中正确的是( C )A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成C.关键字不可以用作变量、方法、类或标号的标识符D.break和main都是Java语言的关键字3.下述字符组合不能作为Java程序标识符的是(D)A.Aa12 B.XC.y D.5x4.在下述字符串中,不属于...Java语言关键字的是( C )A.float B.newC.java D.return5.下列字符组合不能作为Java整型常量的是( A )A.078B.0x3ACBC.5000D.0x3ABC6.设有如下程序:public class Test {public static void main(String[] args) {String foo=args[1];String bar=args[2];String baz=args[3];System.out.println("baz= "+baz);}}下述哪一行命令可以使得执行该程序的输出为baz= 2 ( C )A) java Test 2222 B) java Test 1 2 3 4C) java Test 4 2 4 2 D) java Test 4 3 2 17.在Java语言中,int类型数据的长度是( C )A.1个字节B.2个字节C.4个字节D.8个字节8. 用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。
A) java Hello.class B) Hello.class C) java Hello.java D) java Hello9.执行以下代码,输出结果是( B )int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true10.下列修饰符中与访问控制无关的是(C)。
Java程序设计基础习题答案Java程序设计基础课后习题参考答案第2章1、关于Java Application得入口方法main()得检验:main()方法得参数名就是否可以改变?main()方法得参数个数就是否可以改变?该方法名就是否可以改变?参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。
(3)该方法名不可以改变。
2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗?参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。
3、下列语句能否编译通过?bytei =127;bytej = 128;longl1 = 999999;long l2= 9999999999;参考答案:byte i 与long l1可以编译通过。
而byte j 与longl2 超出自身数据类型范围,所以编译失败。
4、下列语句能否编译通过?float f1 =3、5;float f2 = 3.5f;参考答案:java中浮点型得数据在不声明得情况下都就是doubl e型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。
5、验证int 与char,int与double等类型就是否可以相互转换。
参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。
6、计算下列表达式,注意观察运算符优先级规则。
若有表达式就是非法表达式,则指出不合法之处且进行解释。
(1)4+5 == 6*2 ?(2) (4=5)/6??(3)9%2*7/3>17(4)(4+5)<=6/3 ?(5) 4+5%3!=7-2(6)4+5/6〉=10%2参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得.7、下列()就是合法得Java标识符。
1.2.1 什么是硬件和软件?硬件是指计算机中可见的物理部分(比如:处理器,显示器,鼠标,键盘等),而软件提供不可见的指令(常用的软件程序:应用软件,系统软件,病毒等)。
1.2.2 列举计算机的 5个主要硬件组件。
中央处理器(CPU)、内存、存储设备、输入设备和输出设备、通信设备。
1.2.3 缩写“CPU”代表什么含义?Central Processing Unit1.2.4 衡量 CPU速度的单位是什么?Hz(赫兹)、MHz(兆赫兹)、GHz(吉赫兹)1.2.5 什么是比特? 什么是字节?比特就是二进制数字系统中的数,计算机中字节是最小的存储单元1.2.6 内存是用来做什么的?RAM代表什么?为什么内存成为RAM?计算机的内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。
RAM代表随机访问存储器。
每个字节都有唯一的地址,使用这个地址确定字节的位置,以便于存储和获取数据,因为可以按任意顺序存取字节,所以内存也被称为: 随机访问存储器(RAM)。
1.2.7 用于衡量内存大小的单位是什么?字节1.2.8 用于衡量磁盘大小的单位是什么?B、KB、MB、GB1.2.9 内存和永久存储设备的主要不同是什么?内存和永久存储设备的不同是计算机的内存是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。
程序和数据被永久的存放在存储设备上,当计算机确实要用他们时再移入内存,因为从内存读取比从存储设备读取要快得多。
1.3.1 CPU 能理解什么语言?机器语言1.3.2 什么是汇编语言?什么是汇编器?汇编语言(assembly language)就是使用短的描述性单词(助记符)来表示每一条机器语言指令。
由于计算机不理解汇编语言,所以需要使用一种称为汇编器(assembler)的程序将汇编语言程序转换为机器代码。
1.3.3 什么是高级编程语言?什么是源程序?高级编程语言类似于英语,易于学习和使用,高级语言中的指令称为语句。
1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。
答:(1)强类型;(2)编译和解释;(3)自动无用内存回收功能;(4)面向对象;(5)与平台无关;(6)安全性;(7)分布式计算;(8)多线程;程序执行过程如图所示:编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。
1.2 说出开发与运行JAVA程序的重要步骤。
答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java;(2)编译Java源文件:使用Java编译器(javac.exe)编译源文件得到字节码文件;(3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。
1.3 如何区分应用程序和小应用程序?答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。
1.4 说出JAVA源文件的命名规则。
答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。
1.6 JAVA语言使用什么字符集?共有多少个不同的字符?答:Java语言使用Unicode字符集,共有65535个字符。
1.7 JAVA语言标识符的命名规则是什么?(1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成(2)限定标识符的第一个字符不能是数字字符(3)不能和关键字重名(4)长度不能超过255个字符1.8 JAVA有那些基本数据类型,它们的常量又是如何书写的?1.9 指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。
整型常量: 4)0xABCL,8)003,10)077,12)056L浮点数类型常量:3)-1E-31,5).32E31 13)0.,14).0两者都不是: 1),2),6),7),9),11)第二章运算和语句2.1 Java的字符能参加算术运算吗?可以。
《Java程序设计》课后习题参考答案Java程序设计课后习题参考答案1. 介绍在 Java 程序设计课程中,课后习题是帮助学生巩固知识、加深理解和提高编程能力的重要环节。
本文将为大家提供《Java程序设计》课后习题的参考答案,以帮助学生更好地学习和掌握 Java 编程。
2. 基本概念Java 程序设计课后习题涵盖了从基础到高级的各种知识点,包括但不限于变量、数据类型、条件语句、循环语句、数组、类、对象、继承、多态等内容。
通过解答这些习题,学生可以加深对这些概念的理解,并且通过实际操作来巩固他们的编程能力。
3. 习题解答策略当解答课后习题时,以下几个策略可以帮助你更好地理解和解决问题:3.1 仔细阅读题目要求。
确保自己充分理解题目所要求的功能和目标。
3.2 分析问题。
在着手解答问题之前,先理清思路,分析问题的要点和关键部分。
3.3 设计算法。
根据问题的要求,设计一个合适的算法来解决问题。
3.4 编写代码。
用 Java 编程语言将你设计的算法转化为代码实现。
3.5 测试和调试。
对编写的代码进行测试和调试,确保程序能够正常运行,并且得到正确的结果。
4. 习题参考答案示例下面我们将列举几个常见的习题参考答案示例,以帮助大家更好地理解和学习 Java 程序设计:4.1 变量与数据类型:习题要求定义一个整型变量并赋值为10,然后输出该变量的值。
```public class VariableExample {public static void main(String[] args) {int num = 10;System.out.println("变量的值为:" + num);}}```4.2 条件语句:习题要求判断一个数是否是偶数,如果是,则输出“偶数”,否则输出“奇数”。
```public class EvenOddExample {public static void main(String[] args) {int num = 5;if (num % 2 == 0) {System.out.println("偶数");} else {System.out.println("奇数");}}}```4.3 循环语句:习题要求输出1到10之间的所有偶数。
第一部分《Java程序设计》练习测试[说明]:要求所有答案务必写在答题纸的相应题号位置上,否则不予评分。
一、单选择题(共10分,每小题2分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A .classB .htmlC .javaD .exe2、设int x = 1 , y = 2 , z = 3;则表达式y+=z- -/++x 的值是( )。
A 3 B3. 5C 4 D 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
A start( )B stop( )C init( )D paint( )4、不允许作为类及类成员的访问控制符的是( )。
A publicB staticC privateD protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
Afinal void method( ); B public void method( );C static void method( ); Dabstract void method( );二、填空题(共20分,每空格1分)1、开发与运行Java程序需要经过的三个主要步骤为⑴、⑵和⑶。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是⑷类的子类并且存储该源程序文件的文件名为⑸。
3、如果一个Java Applet程序文件中定义有4个类,则使用Sun公司的JDK编译器⑹编译该源程序文件将产生⑺个文件名与类名相同而扩展名为⑻的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用⑼字节内存空间,这样,无论是中文字符还是英文字符,都是占用⑽字节内存空间。
1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。
对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。
现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。
2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。
它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。
它的特征:抽象,封装,继承,多态。
4.请解释类属性、实例属性及其区别。
答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。
5.请解释类方法、实例属性及其区别。
答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。
类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。
区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。
答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。
区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。
7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?答:类成员的访问控制符有public,private,protecte及无修饰符.public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限).Private(保护的):类中限定为private的成员只能被这个类本身访问,在类外不可见。
《Java语言程序设计基础教程》练习思考题参考答案第1章Java程序设计概述1.9 练习思考题1、Java运行平台包括三个版本,请选择正确的三项:()A. J2EEB. J2MEC. J2SED. J2E解答:A,B,C2、Java JDK中反编译工具是:()A. javacB. javaC. jdbD.javap解答:D3、public static void main方法的参数描述是:()A. String args[]B. String[] argsC. Strings args[]D. String args解答:A,B4、在Java中,关于CLASSPATH环境变量的说法不正确的是:()A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。
B. 编译器用它来搜索各自的类文件。
C. CLASSPATH是一个目录列表。
D. 解释器用它来搜索各自的类文件。
解答:A5、编译Java Application源文件将产生相应的字节码文件,扩展名为()A. .javaB. .classC. .htmlD. .exe解答:B6、开发及运行Java程序需要经过的三个主要步骤为____________、____________和____________。
7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。
8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名及类名相同而扩展名为______的字节码文件。
9、开发及运行Java程序需要经过哪些主要步骤和过程?10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的?11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
“Java程序设计基础”课程习题一、填空1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从___main方法___开始执行。
2.定义一个Java类时,通过关键字__extends____指明该类的父类。
一个类可以有___1___个父类。
3.用public修饰的类称为_公有类或公用类__。
用public修饰的类成员称为公有成员。
被说明为public的内容可以被__所有其他类___ 使用。
如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。
4.用___private___ 修饰的类成员称为私有成员。
私有成员只能在__本类__ 中使用。
5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___ ,要表明使用子类的成员变量,可以在成员变量前加上关键字__super___ 。
6.____Object__ 类是Java类库中所有类的父类。
7.Java字符使用__16位的字符集,该字符集成为__Unicode____ 。
8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___ 父类方法,子类默认使用自己的方法。
使用父类的同名方法,必须用关键字__super__ 说明。
9.Java源程序文件名的后缀是___.java___,Java字节码文件名的后缀是_.class_____。
10.Java类名的第一个字母通常要求___大写___。
11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的名称相同。
12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。
13.布尔型数据类型的关键字是_boolean__ ,占用位数是___1位___ ,有__true__ 和_false_两种值。
java程序设计教程第二版课后答案【篇一:《java程序设计》课后习题参考答案】参考答案――武汉大学出版社习题1参考答案1.java语言的特点有哪些??答:参考1.1.2防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。
既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。
因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。
这种数据隐藏技术就是面向对象的重要特性——封装。
它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。
即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。
2.简述封装的优点。
?答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。
(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。
面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。
通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。
类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。
3.java的基本工具有哪些??(1) javac 编译器(2) java 解释器(3) jdb java 语言调试器(4) javadoc api文档管理器(5) javah 头文件生成器(6) appletviewer 小应用程序浏览器(7) javap 类文件反汇编器4.java开发环境是如何配置的?答:对于windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。
一、选择题1.下面供选字符序列中,不属于...Java语言关键字的是( A ) A.goto B.null C.false D.native2.以下是关于Java语言关键字的叙述,其中正确的是( C )A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成C.关键字不可以用作变量、方法、类或标号的标识符D.break和main都是Java语言的关键字3.下述字符组合不能作为Java程序标识符的是(D)A.Aa12 B.XC.y D.5x4.在下述字符串中,不属于...Java语言关键字的是( C )A.float B.newC.java D.return5.下列字符组合不能作为Java整型常量的是( A )A.078B.0x3ACBC.5000D.0x3ABC6.设有如下程序:public class Test {public static void main(String[] args) {String foo=args[1];String bar=args[2];String baz=args[3];System.out.println("baz= "+baz);}}下述哪一行命令可以使得执行该程序的输出为baz= 2 ( C )A) java Test 2222 B) java Test 1 2 3 4C) java Test 4 2 4 2 D) java Test 4 3 2 17.在Java语言中,int类型数据的长度是( C )A.1个字节B.2个字节C.4个字节D.8个字节8. 用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。
A) java Hello.class B) Hello.class C) java Hello.java D) java Hello9.执行以下代码,输出结果是( B )int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true10.下列修饰符中与访问控制无关的是(C)。
《Java语言程序设计基础教程》练习思考题参考答案第1章 Java程序设计概述1.1单项选择题1.编译Java Application源文件将产生相应的字节码文件,扩展名是什么A. .javaB. .classC. .htmlD. .exe解答:B2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中“一次编译,随处运行”的特点。
A. 简单性B. 平台无关性C. 面向对象性D. 安全性解答:B3.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中并行机制的特点。
A. 多线程B. 平台无关性C. 面向对象性D. 安全性解答:A4.在Java语言中,下列哪些语句关于内存回收的说明是正确的?A.程序员必须创建一个线程来释放内存;B.内存回收程序负责释放无用内存;C.内存回收程序允许程序员直接释放内存;D.内存回收程序可以在指定的时间释放内存对象解答:B5.一个Java源文件中最多只能有多少个public类。
A. 1个B. 2个C. 3个D. 任意多个解答:A6.下面哪一个不是Java语言所具有的特点。
A. 没有全局变量,在类的定义外部没有任何的变量定义;B. 不直接支持指针操作,而使用更安全的引用类型;C. 支持子类对父类的多继承;D. 具有自动垃圾收集功能;解答:C7.下面哪一个不是Java开发工具包JDK的组成部分。
A. Java的编译器;B. Java的解释器;C. Java的API继承类库;D. Eclipse开发工具;解答:C8.JDK提供的编译器是()。
A. java.exeB. javac.exeC. javap.exeD. javaw.exe解答:B9.作为Java应用程序入口的main方法,其声明格式可以是()A. public void main(String [] args)B. public static void main(String [] args)C. public static void Main(String * args)D. public int main(String [] args)解答:B10.下列说法正确的是(A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来11.下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象1.2填空题1、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。
《JavaWeb程序设计》练习题参考答案第一章:Servlet基础1、下列选项中属于动态网站技术的是_________(多选)答:PHP/ASP/JSPA、PHPB、ASPC、JavaScriptD、JSP参考答案:PHP(Hypertext Preprocessor):超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP开放源代码,并且是免费的,所以非常流行,是当今Internet上最为火热的脚本语言之一。
ASP(Active Server Pages):是一种类似HTML、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的支持大型网站的开发。
JSP(Java ServerPages):是基于Java Servlet以及Java体系的Web开发技术。
能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态网站技术中最好的。
2、下列关于Servlet的说法正确的是_______(多选)A、Servlet是一种动态网站技术B、Servlet运行在服务端C、Servlet针对每个请求使用一个进程来处理D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持参考答案:Servlet是一种动态网站技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。
所以Servlet 的效率更高3、下列关于Servlet的编写方式正确的是______(多选)A、必须是HttpServlet的子类B、通常需要覆盖doGet() 和doPost()方法或其一C、通常需要覆盖service()方法D、通常要在文件中声明<servlet>和<servlet-mapping>两个元素参考答案:A、B、D必须继承Httpservlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是HttpServlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。
J a v a程序设计课后练习答案Last updated on the afternoon of January 3, 2021《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.(A)是在Dos命令提示符下编译Java程序的命令,(B)是运行Java程序的命令。
A.javacB.javaC.javadocD.javaw2.(D)不是Java程序中有效的注释符号。
ssB. .jarC. .javD. .java二、简答题1、Java的跨平台的含义是什么为什么Java可以跨平台2、Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠Java 虚拟机(JVM)来实现的。
JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。
Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。
字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。
以下图展示了Java程序从编译到最后运行的完整过程。
3、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。
4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。
习题参考答案——Java程序设计实用教程(第2版)第1章绪论1.1 (1)简单性——Java对系统软、硬件要求低;也比较容易学习。
(2)面向对象——Java是纯面向对象的语言。
(3)分布性——Java是面向网络的语言;支持数据分布和操作分布。
(4)鲁棒性——说明Java的健壮性很好,不会轻易造成系统崩溃。
(5)安全性——在防止非法入侵方面表现突出。
(6)体系结构中立——可以在任意的处理器上运行,也可在不同的平台上运行。
(7)可移植性——采用Java虚拟机机制,体现Java最初的开发理念,可跨平台运行。
(8)解释型——Java解释器直接对Java字节码进行解释执行,在单机上运行时速度较慢。
(9)高性能——由于Java字节码的设计,使得它能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
用Java编写的程序在网络上运行时,其运行速度快。
(10)多线程——在Java中内置了对多线程的支持,使用多线程机制提高了程序性能,可以充分利用CPU。
(11)动态性——Java自身的设计使得它更适合于不断发展的环境,在Java类库中可以自由地加入新的方法和实例变量,而不会影响用户应用程序的执行。
1.2 Java在语法中取消了C/C++中具有的不安全的特性,如取消了指针,使得非法访问被杜绝。
用户不可能造成内存分配错误,也用不着专门提防可能出现的内存漏洞。
1.3 主要是由于Java程序可以方便地被移植到网络上的不同机器。
另外,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。
1.4 对象是类的特例。
1.5 略。
1.6 略。
第2章绪论2.1 略。
2.2 略。
2.3 进行SET PA TH设置是为了让系统找到Java.exe、Javac.exe在什么文件夹中;SET CLASSPA TH设置的作用是查找类路径变量的。
2.4 Java程序被分为两类,一类是Java Application程序,另一类是Java Applet程序。