Java语言程序设计电子版教材可编辑.docx
- 文档编号:8538985
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:33
- 大小:78.96KB
Java语言程序设计电子版教材可编辑.docx
《Java语言程序设计电子版教材可编辑.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计电子版教材可编辑.docx(33页珍藏版)》请在冰豆网上搜索。
Java语言程序设计电子版教材可编辑
Java语言程序设计电子版教材(可编辑)
(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)
Java语言程序设计
(一)电子版教材
Java4747
第1章java语言基础
本章内容一般掌握35
本章重点应用程序和小应用程序的基础知识程序的开发过程基本数据类型
本章难点程序的开发过程了解一种Java程序的开发环境
11Java语言特点
Java语言最初的应用对象是消费性电子产品即PDA电子游戏机电视机顶盒之类的产品为了进入消费性电子
产品市场SUN公司专门成立了一个项目开发小组目标是设计嵌在消费性电子产品的小型分布式系统软件能够适用
于异构网络多主机体系结构能实现信息安全传递项目小组的最初设想是用C语言完成这个目标由于C语言的
复杂性和不安全性不能胜任这项工作为此项目小组开发一个取名为Oak的语言
Oak语言在消费性电子产品市场上没有获得青睐但在当时Internet开始流行人们发明了一种网络传输协议
这种协议可以在文本中插入图片和声音能使单调的Internet世界变得图文并茂虽然Web页面拥用图文和声音但仍
然是静态的不具备交互性要让页面拥有动态画面并能交互需要在Web页面中嵌入一会段程序由于在Internet
上运行的数以千计不同类的计算机这就要求编写这种程序的语言必须具有平台无关性并要求语言必须简练支撑环
境要小而安全性却很高Oak语言恰好能够满足这些要求
将Oak语言正式应用于Internet还需要进一步完善还要求有一个支持它的Web浏览器能用于编写浏览器并
获得浏览器扶持的新版本Oak语言取名JavaInternet得到Java语言的支持可以实现真正的交互人们使用浏览器
能漫游丰富多彩的Internet世界
Java语言是适用于分布式计算环境的面向对象编程语言它虽类似C和C但比C简单忽略了许多为提高计
算效率初学者较难掌握的程序语言特性
Java语言主要有以下特点
1.强类型
Java语言是一种强类型语言强类型能约束程序员必须遵守更多的编程规定也能让编译器检测出程序中尽可
能多的错误
2.编译和解释
Java语言是一种高级编程语言用Java语言编写的源程序在计算机上运行需经过编译和解释执行两个严格区分
的阶段Java语言的编译程序先将Java源程序翻译成机器无关的字节码bytecode不是通常的编译程序将源程
序翻译成计算机的机器代码运行时Java的运行系统和链接需要执行的类并作必要的优化后解释执行字节码
程序
3.自动无用内存回收功能
Java语言具有自动无用内存回收功能程序可以按需使用内存但不需要对无用内存显式地撤销分配系统有
一个垃圾收集器garbagecollector自动收集程序不再使用的内存这样能避免显式的撤销分配所引起的安全
问题Java语言不再含有任何不安全的语言成分例如没有指针数组元素都要检查下标是否越界
4.面向对象
面向对象是程序员编写大型程序有效控制程序复杂性的重要手段Java语言在面向对象方面比C更纯
它的所有数据类型包括布尔类型整形字符型等都有相应的类程序可完全基于对象编写
面向对象语言主要有封装性继承性和多态性三个特点封装就是将实现细节隐藏起来只给出如何使用的信
息数据及数据上的操作用类封装对象是类的实例外界使用对象中的数据及可用的操作受到一定的限制继承
体现众多的一种层次对象的特性下一层的类可从上一层的类继承定义从上一层类派生的类的对象能继承上一层
对象的特性同时可以改变和扩充一些特性以适应其自身的特点多态性的意义主要体现在逻辑上相同的不同层
次上的操作使用相同的操作名根据具体对象能自动选择对应的操作Java语言很实用地实现了这三种特性
5.与平台无关
与平台无关是对程序可移植性最直接最有效的支持Java语言的设计者在设计时重点考虑了Java程序的可移植
性采用多种机制来保证可移植性其中最主要的是定义了一种虚拟机virtualmachine以及虚拟机使用的java
字节码在任何平台上Java源程序被Java编译器编译成虚拟机能够识别的字节码这样只要有Java虚拟机的
平台就能解释执行java字节码程序从而实现Java与平台无关另外Java语言还采用基于国际标准的数据类
1177
Java4747
型在任何平台上同上种数据类型是一致的例如用int标识32位二进制位bit整型数据那么无论在哪一
台计算机上Java的int数据都是32位整数相反C语言会随着硬软件平台的改变用int标识的整数位数也可
能不全相同
Java语言提高可移植性的代价是降低程序的执行效率出于java语言也是一种解释执行的语言Java程序的
执行速度与C程序的执行速度有较大的差别不过为了尽量弥补执行效率低的缺陷java的字节码在设计上非常
接近现代计算机的机器码这有助于提高解释执行的速度
6.安全性
Java是在网络环境中使用的编程语言必须考虑安全性问题主要有以下两个方面
设计的安全防范Java语言没有指针避免程序因为指针使用不当访问不应该访问的内存空间提供数组元
素上标检测机制禁止程序越界访问内存提供内存自动回收机制避免程序遗漏或重复释放内存
运行安全检查为了防止字节码程序可能被非法改动解释执行前先对字节码程序作检查防止网络黑客
对字节码程序已作了恶意改动达到破坏系统的目的最后浏览器限制下载的小应用程序不允许访问本地文件
避免小应用程序破坏本地文件
7.分布式计算
Java语言支持客户机服务器计算模式Java程序能利用URL对象能访问网络上的对象如同访问本地的文
件一样实现数据分布另外Java的客户机服务器模式也可以把计算从服务器分散到客户机端实现操作分布
8.多线程
线程是比进程更小的一种可并发执行的单位每个进程都有自己独立的内存空间和其他资源当进程切换时需
要进行数据和资源的保护与恢复若干协同工作的线程可以共享内存空间和资源线程切换不需要数据的保护与恢
复
Java的运行环境采用多线程实现可以利用系统的空闲时间执行诸如内存回收等操作Java语言提供语言级多
线程支持用Java语言能直接编写多线程程序
12Java应用程序和小应用程序
Java程序可以是独立的应用程序和能在浏览器上执行的小应用程序Applet两种Java程序都由一个或多个扩展
名为class的文件组成都需要java虚拟机JVM载入并翻译这两种程序的主要区别是小应用程序只能在与Java
兼容的容器中运行可以嵌入在6>HTML网页内在网络上发布当网页被浏览时在浏览器中运行小应程序的运行还要
受到严格的安全限制例如它不能访问用计算机上的文件Java应用程序没有这些限制也不支持网页嵌入和下载运
行
小应用程序和应用程序在代码编写上也有很大差异一个小应用程序必须定义成一个Applet类的子类应用程序可
以是Applet类的子类也可以不是应用程序必须在一个类中定义一个main方法该方法代表应用程序的入口而
小应用程序不必定义main方法它的执行由Applet类中定义的多个方法控制
[例11]一个非常简单的应用程序
publicclassExample1_1这是我的第一个应用程序
publicstaticvoidmainString[]args
Sycomtln你好欢迎你学习Java语言
上述java程序的执行将输出以下字样
你好欢迎你学习Java语言
一个应用程序由若干个类组成上面这个应用程序只有一个类类的名字是Example1_1public是java语言的关
键字表示声明的类Example1_1是公用的class也是关键字用来声明类最外层的一对花括号以及括号内的内容叫
做类体publicstaticvoidmainString[]args是类Example1_1的一个方法一个应用程序必须只有一个类含有
main方法这个类是应用程序的主类publicstaticvoid是对main方法的说明应用程序的main方法必须被
说明成publicstaticvoid表示main方法的访问权限是公有的它是一个类方法没有结果返回参见第3章String
[]args或Stringargs[]声明main方法的参数是一个字符串数组参见第4章
Java源程序命名受严格的限制Java源文件的扩展名必须是java如果源文件中有多个类那么只能有一个
public类如果源文件中有public类那么源文件的名字必须与这个类的名字完全相同例如例11应用程序的源
文件名必须是Example1_1java如果源文件没有public类那么源文件的名字只要和某个类的名字相同即可
2177
Java4747
[例12]一个简单的小应用程序用一同颜色显示两行文字
欢迎你学习Java语言
只要认真学习多上机实习一定能学好Java语言
importjavaapplet
importjavaawt
publicclassExample1_2extendsApplet
publicvoidpaintGraphicsg
gsetColorColorblue设置显示的颜色为blue
gdrawString欢迎你学Java语言3020
gsetColorColorred设置显示的颜色为red
gdrawString只要认真学习多上机实习一定能学好Java语言3050
一个小应用程序也出若干个类组成其中必须有一个类它继承系统提供的Applet类这个类是小应用程序的主类
主类必须是public的源文件名必须与小应用程序的主类名相同上述程序的源文件名必须是Example1_2java小应
用程序的结构参见35节
在结束这一节之前先讨论一下程序中经常出现的注释注释是程序中的说明文字用于帮助阅读程序它不是语
句不会影响程序的执行效率Java语言的注释有三种形式
行注释变量r是贺的半径
块注释以下程序段是采用冒泡排序对数组元素实现从小到大排序
文档注释类Student是学生类
行注释用于简短地说明前面代码的意义或功能注释内容至行末结束不能跨行
例如
intfontsize30标题字体大小
块注释是多行注释用于说明下面程序段的算法功能等块注释不可嵌套使用
文档注释能被实用程序javadoc接受它能自动生成程序的HTML文档
13Java程序的开发过程
Java程序的开发过程如图11所示对于Java应用程序先编写Java源程序源程序经Java编译器编译后产生
码文件最后由Java解释器解释执行字节码文件对于小应用程序先编写源程序然后经Java编译器编译后产生
字节码文件最后由Web浏览器解释执行字节码文件
以下以使用SUN公司提供的JavaJDKjavaDevelopersKit为例并假设JavaJDK安装在d\java目录下则
在该目录下还应包含以下几个文件和子目录
1子目录d\java\bin这个子目录是JavaJDK的核心其中最主要的可执行文件有
1javac---编译器
2java---解释器
3jdb---调试器
4appletviewer---javaApplet解释器
2子目录d\java\lib这个子目录存储的是函数库
编写源程序时使用一个文字编辑器输入源程序文件并保存键入编译命令使用Java编译器编译Java
源程序键入解释命令通过解释器解释执行Java应用程序的字节码文件对于小应用程序需通过支持Java
的浏览器解释执行字节码文件
设输入前面所述Java程序源文件名为Example1_1java保存在D\java目录下
Java编译器的使用格式是
javac[选项]源文件
例如可用以下命令编译以上输入的Java应用程序
javacd\java\Example1_1java
编译时可能编译器指定选项javaJDK编译器的选项参见表1-1
3177
Java4747
选项说明
-classpath引用类的路径表
-d编译后类文件存放的目录
-g生成调试信息表
-ng不生成调试信息表
-nowarn关闭编译器警告功能
-o优化类文件
-verbose显示编译过程中的详细信息
Java解释器javaexe用来解释执行Java类文件解释器的使用格式为
java[选项]类名[参数]
其中类名指定的类必须是main方法的即是一个Java应用程序
对于使用开发环境情况来说编辑源程序编译执行和调试直接使用环境提供的工具使开发程序变得非常
简单例如使用Eclipse开发环境在eclipse环境下开发Java程序的方法请参见附录F
1.4标识符和关键字
如同别的程序语言一样Java语言也有基本符号由基本符号按一定的构词规则构成标识符等基本词汇再由基本
词汇和关键字按语言的句法构成Java程序
1.字符集
Java语言使用Unicode字符集共有65535个字符包括
1数字符10个09
2英文字母大小写字符各26个AZ和az
3下划线字符美元符号
4文字字符汉字日文片假名平假名和朝鲜文字等
5其他用于构成特殊符号的字符集
2.标识符
标识符用于命名程序对象例如类名变量名方法名等Java语言的标识符可以按以下规则任意命名
1由字母包括英文字母下划线字符美元字符文字字符和数字字符组成
2限定标识符的第一个字符不能是数字符
例如下列4个字符串都可以个为标识符
Boy_63Girl颜色小伙子
而以下4个字符不能作为标识符
46AValc2Hello
前两是因为首字符不合理后两个含有不允许在标识符中出现的字符
除了按上述规则命名的习惯约定
一般变量名方法名用小写英文字母开头文字和常数用大写字母命名类名首字母用大写字母包名
全部用小写字母命名习惯是一种公共约定Java语言的语法并没有这种限制但是培养良好的编程习
惯有利于程序维护和协作开发
3.关键字
为了表示程序结构定义和修饰等Java语言引入一组关键字参见附录A关键字是上些英文单词在语言中
关键字已经被赋予特定的意义不能用这些关键字作为标识符命名程序对象在Java语言中关键字的作用有以下多个
方面
描述程序结构声明类定义类的成员简单数据类型值和变量异常情况处理实例对象的创建和检验流
程控制等
Java语言中所有关键字均由小写字母组成每个关键字在程序中出现有特定位置和使用方法的要求关键字不可以
用做变量方法类或标号的标识符名字
15基本数据类型
Java语言是强类型语言每个变量和表达式都有确定的类型在变量赋值时要进行类型兼容性检验数据类型可分
4177
Java4747
为基本数据类型和非基本数据类型两大类
基本数据类型也称为原始数据类型是系统预先规定的一些常用类型它们是整数类型浮点数实数类型字
符文字类型逻辑类型布尔型
非基本数据类型也称为复合数据类型是由基本类型组合的新类型非基本数据类型分为数组字符串类接
口
本小节只介绍基本数据类型非基本数据类型将在以后章节中分别介绍
com逻辑类型
逻辑类型用关键字boolean标识所以也称布尔型逻辑类型只有真和假两个值true表示真false表示假
以下是逻辑变量定义的例子
booleanbbooleanbool
booleanflg1flg2美丽一次定义多个变量
booleanb1trueb2false丑false定义时可以赋初值
逻辑变量用于记录某种条件成立与否也用语句中作条件判断
com字符类型
字符类型用关键字char标识字符型数据是一个字符内部表示是字符的Unicode代码共用65535个不同
的字符在Java程序中字符常量有普通字符和转义字符常两种
用单引号括住一个字符表示一个普通字符常量例如aB国
对于被语言用作特定意义的字符或者不能显式显示的字符需用转义字符标记它们
例如换行符用\n标记水平制表符用\t标记常用的转义字符的标记方法见表1-2其中\nnn是用八进制代码
表示的字符\unnnn是用十六进制代码表示的字符例如\141表示字母a\u0061也表示字母a以下是字符变量定
义的例子
charchcharch1ch2漂亮
charch3Ach4家丑假定义时可以赋给初值
表1-2转义字符及其含义
转义符含义
\b退格Backspace键
\n换行符光标位置移到下一行首
\r回车符光标位置移到当前行首
\t水平制表符Tab键
\v竖向退格符
\f走纸换页
\\反斜杠符\
\单引号符
\双引号符
\nnnn为8进制数字用八进制数据表示字符的代码
\unnnnn为16进制数字用16进制数据表示字符的代码
com整数类型
整数是不带小数点和指数的数值数据由于计算机只能表示整数的一个子集表达更大范围内的整数需要更多的二
进制位Java语言将整型数据按数值范围大水不同分成四种
3131
83647
77
2字节型用byte标识1个字节8位取值范围是-22-1即-128127
1616
3短整型用short标识2个字节16位取值范围是-22-1即-2376832767
6464
4长整型用long标识8个字节64位取值范围是-22-1即-923372036854775808L923372036854775807L
每种整数类型处理不同范围的整数值并且都是带符号的
整型常量有十进制八进制和十六进制三种写法如下面的示例所示
1234十进制0777八进制以数字0开头0x3ABC十六进制以0x开头后随数字符和英文A到F5333L
或5333l以字母L或l结尾是长整数
以下是整型变量定义的实例
intIintx积byte字节变量一个字节整型变量该变量的名为字节变量
5177
Java4747
longzsumintw12len-1230longbig9876L定义同时可以赋初值
com浮点数类型
浮点数类型也称实型浮点数是带小数点或指数的数值数据Java语言的浮点数有单精度和双精度两种
1.单精度型
3838
单精度型用float标识占4个字节32位取值-1010float型常是的书写的方法是在实数
之后加上字母F或f例如2354f12389987F
2.双精度型
308308
双精度型用double标识占8个字节64位取值-1010double型常是的书写的方法有两种
是科学计数法用10的方幂表示用字符e或E表示幂底10例如12324e40科学计数法表示值为
12324乘10的40次方
以下是浮点数类型变量定义的例子
floatxy
doublev1286u2431098987D
floatu1236f
浮点数类型与整数不同当执行运算时如果出现某种不正常的状态浮点数类型不会抛出异常例如
如果用0除浮点数类型的变量则计算结果是一个特别的无限值
习题
1.指出Java语言的主要特点和Java程序的执行过程
答主要特点
1强类型2编译和解释3自动无用内存回收功能4面向对象
5与平台无关6安全性7分布式计算8多线程
Java程序的执行过程是解释执行
1javac[选项]源文件编译
2.java[选项]类名[参数]执行
2.说出开发与运行Java程序的主要步骤
3.如何区分应用程序和小应用程序
4.说出Java源文件的命名规则
5.选择一种上机环境参照实例编写一个输出helloworld字样的Java程序
6.Java语言使用什么字符集共有多少个不同的字符
7.Java语言标识符的命名规则是什么
8.Java有哪些基本数据类型它们的常量又是如何书写的
9.指出下列内容哪些是Java语言的整型常哪些是浮点数类型常量哪些两者都不是
1E-42A423
3-1E-3140xABCL532E31608770xL800390x125100771111E12056L130140
6177
Java4747
第2章运算和语句
本章主要内容次重点10
数据运算
语句
Java程序实例
本章重点算术运算自增和自减运算关系运算和逻辑Java语句以及java程序实例
本章难点自增和自减运算位运算和移位运算while语句dowhile语句for语句和Java程序实例
2.1数据运算
在高级语言中运算由表达式表示表达式由运算符和运算分量组成运算分量可以是常量变量和方法调用Java
语言的基本运算可分成以下几类赋值运算算术运算自增和自减运算关系运算逻辑运算条件运算和字符串连
接运算等
2.1.1赋值运算
在Java语言中符号是赋值运算符不是相等相等运算符是见关系运算符的叙述赋值运算分
为两类一是简单赋值运算二是复合赋值运算
1.简单赋值运算
简单赋值运算的一般形式如下
变量表达式
赋值运算的执行过程是
1计算赋值运算符的右端的表达式
2当赋值运算符两侧不一致时将表达式值的类型自动转换成变量的类型
3将表达式的值赋值给变量即存储到与变量对应的存储单元中
完成一个赋值运算的表达式称为赋值表达式赋值表达式是先计算表达式的值然后将表达式的值赋值给变量
例如表达式xx1表示完成表达式x1的计算将计算结果赋值给变量x
这里的类型转换是指数值数据的类型自动转换这样的自动转换只能由简单类型向复杂类型转换不能从复杂
...
的转换成简单的即如下所示的从左到右转换
byte-short-int-long-float-double
例如以下代码说明int类型能自动转换成double类型
intj3
doubley20
yjj的值为3y的值为30
以下则是不正确的代码double类型不能自动转换成int类型
jy
Java语言约定赋值运算也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 电子版 教材 编辑
![提示](https://static.bdocx.com/images/bang_tan.gif)