




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章JSP开发的Java语言基础 开发技术实用教程 学习Java的基本语法了解在JSP中的Java使用方法 开发技术实用教程 开发技术实用教程 7 1Java简介 1995年 美国SunMicrosystems公司正式向IT业界推出了Java语言 该语言具有安全 跨平台 面向对象 简单 适用于网络等显著特点 开发技术实用教程 7 1 1Java语言特点 1 简单性Java采用精简的系统 且对硬件的要求不高 在小型的计算机上便可以良好的运行2 面向对象Java语言的设计是完全面向对象的 所有的Java程序和applet均是对象 且Java支持静态和动态的代码继承和复用 3 鲁棒 健壮性 Java是一种强类型的语言 在编译和连接时都要进行大量的类型检查 Java语言中取消了复杂的指针 不能通过指针访问内存单元 并且Java的数组并非用指针实现 避免了数组越界 无用内存自动回收机制也增加了Java的鲁棒性 开发技术实用教程 7 1 1Java语言特点 4 安全性Java在运行应用程序时 严格检查访问数据的权限 不允许网络上的应用程序修改本地的数据 解释器在解释执行字节码文件时通过阻止对内存的直接访问来进一步提高Java的安全性 Java极高的鲁棒性也增强了Java的安全性 5 结构中立并且可以移植Java编译器编译生成与计算机体系结构无关的字节码文件 使得Java应用程序可以在配备了Java解释器和运行时环境的任何计算机系统上运行 Java的运行时系统也是用Java语言实现的 从而也具有可移植性 Java的可移植性原理如图7 1 开发技术实用教程 7 1 1Java语言特点 6 高性能在一些特定的CPU上 Java字节码可以快速的转换成为机器码进行执行 Java虚拟机的改进和 即时编译 justintime 技术的出现使得Java的执行速度有了更大的提高 7 解释执行 多线程并且是动态的为实现跨平台性 Java设计成为解释执行 多线程使应用程序可以同时进行不同的操作 处理不同的事件 不同的线程互不干涉 从而实现网络上的实时交互操作 Java在执行过程中 可以动态的加载各种类库 即使是更新类库也不必重新编译使用这一类库的应用程序 开发技术实用教程 7 1 2Java和JavaScript的比较 1 面向对象与基于对象Java是一种真正的纯面向对象编程语言 一切都作为对象 JavaScript是一种脚本语言 是基于对象的语言 本身提供了丰富的内部对象供设计人员使用 2 开发和运行环境的不同编写Java程序并使之运行 需在系统内安装相应版本的JDK和JVM 保证代码能够得到编译和运行的环境 而编写JavaScript则只需使用某种HTML文档编辑器甚至某种字符编辑器 如Notepad 然后打开浏览器即可运行 开发技术实用教程 7 1 2Java和JavaScript的比较 3 解释和编译Java的源代码在传递到客户端执行之前 必须经过编译 在客户端上由相应的仿真器或解释器解释执行 JavaScript是解释性的 其源代码在发往客户端执行之前不需经过编译 直接发送给客户编由浏览器解释执行 4 变量类型不一样Java采用强类型变量 所有变量在编译之前必须声明 JavaScript中变量采用弱类型 变量在使用前不需声明 由解释器在运行时检查其数据类型 开发技术实用教程 7 1 2Java和JavaScript的比较 5 代码格式不一样Java是与HTML无关的格式 必须在HTML文档中使用相应标记装载 其代码以字节代码的形式保存在独立的文档中 JavaScript的代码是一种文本字符格式 可以直接嵌入HTML文档中 并且可动态装载 6 嵌入方式不一样在HTML文档中 JavaScript使用 来标识 而Java使用来标识 开发技术实用教程 Java支持多种数据类型 用于声明变量 创建数组以及其他更复杂的数据结构 Java的数据类型如图7 2所示 图7 2Java数据类型 7 2Java的基本语法 开发技术实用教程 7 2 1数据类型 1 整型Java整数类型有固定的表述范围和字段长度 不受具体操作系统的影响 以保证Java程序的可移植性 Java语言整型常量有三种表示形式 十进制整数 如123 456 0八进制整数 以0开头 如0123表示十进制数83 011表示十进制数 9 十六进制整数 以0 x或0X开头 如0 x123表示十进制数291 0X12表示十进制数 18 Java默认的整形常量为int类型 声明long型常量需要在后面加上 l 或 L 开发技术实用教程 7 2 1数据类型 2 字符类型 char 字符常量是用单引号括起来的一个字符 如 a A 字符型变量通过关键字char声明 采Unicode编码 全球统一编码 每个字符占两个字节 16位 范围为0 65535 3 布尔类型 boolean 布尔型数据只有两个值true和false 不可以用0或非0的整数替代true和false 一般用于做逻辑运算 进行程序流程控制 如 booleanb true 开发技术实用教程 7 2 1数据类型 4 浮点型 实型 数据Java的浮点型数据有固定的表数范围和字段长度 不受平台影响 Java浮点型常量有两种表示形式 十进制数形式 由数字和小数点组成 且必须有小数点 如0 123 1 23 123 0科学计数法形式 如123e3或123E3 其中e或E之前必须有数字 且e或E后的指数必须为整数 Java默认的浮点型为double型 若声明一个float型常量 则需在数字后面显式的加上 f 或 F 开发技术实用教程 7 2 1数据类型 Java语言中整型 字符型和浮点型数据在混合运算时可以相互转换 并遵循以下几个原则 1 容量小的类型自动转换为容量大的数据类型 自动转换顺序为 byte short char int long float double 2 容量大的数据类型转换为容量小的数据类型时 要加上强制转换符 可能造成精度降低或溢出 3 多种类型的数据混合运算时 系统首先自动地将所有数据类型转换成容量最大的那一种数据类型 然后再进行计算 开发技术实用教程 7 2 2数组 数组是多个数据项的有序集合 其中的每个数据项称为数组的元素 Java语言中 数组具有下列特点 1 同一数组中的所有元素均属于相同的数据类型 该数据类型称为数组的基本类型 2 数组元素的类型可以是简单数据类型则每个元素都为一个值 也可以是复合类型 类类型 接口或数组类型 则每个元素是一个对象 3 数组一经创建 其元素个数就保持不变 该数目称为数组的长度 4 数组中的每一个元素借助于下标 index 来访问 开发技术实用教程 7 2 2数组 1 一维数组的声明方式 type arrayName typearrayName 2 一维数组的动态创建Java语言通过 new 操作符动态创建数组arrayName newelementType ARRAY SIZE 开发技术实用教程 7 2 2数组 3 一维数组元素的访问创建数组之后 按如下语法格式来访问一维数组元素 arrayName index 开发技术实用教程 7 2 2数组 4 一维数组的初始化定义和创建完数组后 需对数组进行初始化 对于一维数组 可以采用如下方法进行初始化 1 动态初始化数组定义与数组元素分配空间和赋值的操作分开进行 例如程序清单7 1 2 静态初始化定义数组的同时为数组元素分配空间并赋值 例如 inta 3 9 8 5 Datedays newDate 2007 5 4 newDate 2008 3 2 newDate 2008 10 1 开发技术实用教程 7 2 2数组 多维数组是数组的数组 每个元素的数据类型为数组类型 1 多维数组的定义及创建与一维数组类似 二维数组的定义格式为 elementType arrayName 三维数组的定义格式为 elementType arrayName 定义后 也要利用new运算符创建二维数组 arrayName newelementType DIMENSION 1 SIZE DIMENSION 2 SIZE 开发技术实用教程 7 2 2数组 2 多维数组元素的引用引用多维数组中的元素时要用到多个数组下标 一般的语法格式为 arrayName dimension 1 index dimension 2 index dimension n index 开发技术实用教程 7 2 2数组 3 多维数组的初始化多维数组既可以用循环遍历的方式对每个元素进行初始化 也可以在声明的同时用初始化列表进行初始化 1 使用new运算符动态初始化Datedays1 newDate 3 2 Datedays2 newDate 3 days2 0 newDate 3 days2 1 newDate 5 days2 2 newDate 6 2 静态初始化inta 1 2 3 4 3 4 5 intb 3 2 1 2 3 4 4 5 非法 开发技术实用教程 7 2 3常用运算 Java语言中常用运算符可分为四类 算术运算符 关系运算符 位运算符及逻辑运算符 此外还定义了一些附加运算符 用于特殊情况的处理 1 算术运算2 关系运算3 逻辑运算4 位运算 开发技术实用教程 7 2 4控制语句 1 if语句2 switch语句3 for语句形式4 while和do while语句 开发技术实用教程 7 3Java的面向对象编程基础 Java是一种纯粹的面向对象程序设计语言 在Java看来 所解决问题中的所有的东西都是对象 程序是一大堆对象的组合 每个对象都有自己的存储空间每个对象都一定属于某个类 所以Java编程实际上就是对类和对象的编程 开发技术实用教程 7 3 1类和对象基本概念 对象 是用计算机语言对问题域中事物的描述 通过 属性 attribute 和 方法 method 来定义事物所具有的静态属性和动态属性 类 class 是对同一类型的对象的一个抽象 各个对象可以看成该类的一个具体实例Java语言中 定义一个类的语法形式如下 class类名 成员属性 成员方法 开发技术实用教程 7 3 2继承性 继承 特殊类的对象拥有其一般类的全部属性与服务 称作特殊类对一般类的继承 其中一般类称为父类 superclass 超类 特殊类为子类 subclass Java语言一个类A继承另一个已存在的类B的语法形式如下 classAextendsB 成员列表 开发技术实用教程 7 3 3包 程序包 是多个类或接口的集合 这些类和接口可分别在不同的 java文件中定义 每个文件称为一个编译单元 每个编译单元又可定义多个类或接口 程序包减少了类或接口的名字冲突 使得程序重用更为方便 组织结构更为清晰 程序包 子程序包 编译单元 类或接口构成了Java程序的逻辑组织结构 通过JavaAPI文档可以看到整个Java语言的结构框架 并可以查看各个包的具体内容 开发技术实用教程 7 3 3包 1 定义包package程序包名 2 引用包import包名 类名 只引入指定类或import包名 可引入包中的所有类和接口 开发技术实用教程 7 3 4接口 接口是一种特殊的抽象类 它只包含常量和方法的定义 而没有变量和方法的实现Java不支持多继承的 可以通过实现接口 Interface 来实现多继承 1 接口的声明interface接口Pet 宠物 的声明 程序清单7 2 开发技术实用教程 7 3 4接口 2 接口的实现接口的实现需要用保留字implements 必须重写接口中所有的方法 实现接口Pet 见程序清单7 3 开发技术实用教程 7 3 5多态性 多态性 程序中同一个符号在不同的情况下具有不同的意义 多态性分为编译时多态性和运行时多态性 主要是指运行时多态性 也叫动态绑定 即在程序运行期间判断所引用对象的实际类型 从而调用其相应的方法 多态的存在必须具备三个条件 1 有继承 程序中有子类对父类的继承 包括实现接口 2 有重写 子类必须对父类中的必要方法进行了重写 以实现自己需要的功能 3 父类引用指向子类对象 程序调用的必须是父类 而实际上编译器却调用子类的对象 见程序清单7 4Animal java GirlsHavaPets java 开发技术实用教程 7 4Java的异常处理 异常就是程序运行过程中遇到的严重错误 使程序运行中止 或程序能够继续运行 但得出错误的结果甚至导致严重的后果 Java程序中常见的异常有 找不到特定的类 数组越界 除0 等 程序应该在出现异常时提供处理这些错误的方法 使得程序不会因为异常的发生而阻断或产生不可预见的结果 开发技术实用教程 7 4 1异常与异常类 图7 11Java异常类的结构图 开发技术实用教程 7 4 2异常的抛出 异常的抛出 Java程序的执行过程如出现异常事件 可以生成一个异常类对象 该异常对象封装了异常事件的信息并将被提交给Java运行时系统 这个过程称为抛出 throw 异常 所有系统定义的异常可由系统自动抛出 对于用户自定义的异常需用throw语句抛出 程序中利用throw语句抛出异常格式 classA throws后面声明本方法中可能抛出的异常publicvoidsomeMethod throwsException1 Exception2 由throw和后面的一个异常类对象来确定具体如何抛出异常if thrownewException1 传送的特定异常信息 if thrownewException2 开发技术实用教程 7 4 3捕获异常 捕获 catch 异常 当Java运行时系统捕获到异常类对象时 会寻找能处理这一异常的处理块 并把当前异常对象交给其处理 异常捕获的结构如下 trycatchfinally try 可能出现特定异常的代码 catch 处理异常的语句1 catch 处理异常的语句2 finally 最终执行的语句 见程序清单7 5 开发技术实用教程 7 5Java的多线程 程序的顺序执行是一种单线程方式 单线程运行方式具有如下的特点顺序性 即程序执行过程可以看成是一系列严格按程序规定的状态转移的过程 封闭性 也就是说程序执行的最终结果由给定的初始条件决定 不受外界因素的影响 可再现性 只要输入的初始条件相同 则无论何时重复执行该程序都会得到相同结果 程序的并发执行 一组逻辑上互相独立的程序或程序段在执行过程中 其执行时间在客观上互相重叠 程序的并发执行可以分成两种情况一种是多道程序系统中多道程序的并发执行 该凡是实际上是宏观上 程序级 同时进行 微观上 指令级 顺序执行的 另一种是在某道程序段的几个程序片段中 包含着一部分可以同时执行或顺序颠倒执行的代码 程序的并发执行是实现多线程技术的基础 开发技术实用教程 7 5 1多线程的定义 多线程编程是指将程序任务分成几个并行的子任务 由这些子任务并发执行 一起协作完成程序的功能 Java通过java lang Thre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术营销活动方案
- 福建公司中秋活动方案
- 神奇动物调查活动方案
- 研究生亲子活动方案
- 美容院送好礼活动方案
- 研讨心得沙龙活动方案
- 用纸编织活动方案
- 研究法治建设活动方案
- 线下教室活动方案
- 食品行业2025年质量追溯体系与食品安全监管创新报告
- (2025秋新版)人教版八年级历史上册全册教案
- 2025年小麦种子研发与应用技术合作开发协议
- 维稳工作汇报课件
- 企业重污染天气应急预案
- 患者身份识别管理标准WST840-2025学习解读课件
- 2025全国企业员工全面质量管理知识竞赛题库(含答案)
- 内分泌科进修总结课件
- 人民陪审员培训民事课件
- 妊娠期贫血的诊断及治疗
- ICU常见体位护理
- 污水处理厂运营管理及提升方案
评论
0/150
提交评论