




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言程序设计 周猛讲师生物医学软件工程教研室 参考书 Java2编程指南Java编程思想 课程内容 第一章Java语言概述第二章程序 数据 变量和计算第三章Java控制结构第四章数组与字符串第五章类的定义第六章扩展类与继承第七章异常第八章流第九章线程第十章图形用户界面与事件处理第十一章JavaApplet第十二章Java中的网络编程 JAVA程序设计 第一章Java语言概述 本章内容 Java的历史Java的版本Java的特色Java的安装Java程序开发 1程序设计语言 程序设计语言的种类 机器语言 机器指令 直接执行汇编语言 符号化 汇编器 Assembler 高级程序设计语言 编译型 高级程序设计语言 解释型 高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式 这种结构被称为 表达式 程序中基本的动作单位被称为 语句 不同的语句实现不同的功能 用高级语言书写的程序不可能直接地在计算机上执行 要在计算机上执行高级语言书写的程序 有两种基本方法 编译 Compilation 执行 这种方法是设法把高级语言程序 也称为 源程序 转换成为机器语言的可以由计算机直接执行的程序 即转变为 可执行 Executable 程序 解释 Interpretation 执行 这种方法是即时把源程序转换为机器可执行的指令 有时为了提高效率 也可以先编译成一种中间代码 1程序设计语言 高级程序设计语言 对于 编译执行 方式 人们实现了高级语言 编译器 Compiler 完成这种转换工作 编译器把高级语言程序看成是符合一定语法结构的符号串 对它进行加工变换 编译器对源程序的加工一般分为两个阶段 源程序首先被翻译成机器语言 这种翻译结果称为 目标码 objectcode 目标码构成的程序片段称为目标模块 第二步 这些目标模块被与其他一些基本模块 由编译软件提供 连接在一起 最终形成 可执行程序 executableprogram 这样的程序就可以在计算机上实际运行了 第一个加工步骤称为 编译 compiling 第二个步骤称为 连接 linking 1程序设计语言 高级程序设计语言 1程序设计语言 高级程序设计语言 编译过程 对于 解释执行 方式 人们实现了一种称为 解释器 Interpreter 的软件来完成转换工作 解释器在工作方式上与编译器不同 它不对源程序进行翻译 而是直接对源程序的语句进行分析和解释 实现源程序所描述的功能 1程序设计语言 高级程序设计语言 解释过程 1程序设计语言 高级程序设计语言 高级语言写出的程序是独立于任何具体的计算机的 但是 编译器 和 解释器 则是与机器相关的 同一种语言 对于不同的机器 需要不同的 编译器 和 解释器 人们已经开发出了许多不同的高级程序设计语言 不同的语言有各自不同的规范 因此需要专门的 编译器 和 解释器 FORTRAN FORmularTRANslation 语言 HPF IBM 1950Pascal语言 N Wirth 1968 Delphi Borland COBOL COmmonBusinessOrientedLanguage 语言 美国国防部 1960C和C 语言 DennisRetchie 1972 BjarneStroustrup 1983 BellBasic Beginner sAll purposeSymbolicInstructionCode 语言 美国国防部 1964Ada语言 军用程序设计语言 美国国防部 1983Java语言 1991年 SUNMicroSystem公司 1程序设计语言 高级程序设计语言 2Java历史介绍 1990年 Sun公司开始了一个JamesGosling Java创始人 项目 尝试用C 开发用于消费电器中的软件 Gosling用了一个新语言Oak来解决这个问题 Oak保留了熟悉的C 语法当Oak成熟时 因特网也正处于戏剧性增长的时期 Sun公司的开发小组认识到Oak非常适合Internet编程 1994年 他们完成了一个用Oak编写的早期Web查看器 称为WebRunner 后被改名为HotJava JamesGosling Java让人联想到印度尼西亚有个重要的盛产咖啡的岛屿 开发人员为这种新的语言起名为Java 其寓意是为世人端上一杯热咖啡 1995年 Oak更名为Java 并在SunWorld95中发布 Oak Java2 从此 Java的知名度如日中天 甚至在1996年1月Java编译器第一版发布之前 Java已经成为Internet发行的行业标准 98年末 Sun推出Java1 2 简称Java2 最新java6 Java的版本 J2SE Java2StandardEdition J2EE Java2EnterpriseEdition J2ME Java2MicroEdition 同一个版本的Java 又分为三种版本 标准版适用于开发用戶端程序 企业版适用于开发服器端程序 手持设备版适用于开发无线设备程序 3JAVA特点 Sun公司在 Java白皮书 中是这样对Java进行定义的 Java Asimple object oriented distributed interpreted robust secure architecture neutral portable high performance multi threaded anddynamiclanguage 特性之一 简单性 Java语言的简单性主要出于如下几种因素 Java的风格类似于C Java提供了自动内存垃圾搜集机制 Java的简单性是以增加运行时系统的复杂性为代价的 Java使用 类 Class 来实现对象的概念 class青椒炒肉丝 青椒处理好牛肉处理好芡汁制作好青椒 牛肉炒1分半用芡汁芶芡即可 主程序对象 class青椒 数量 500g处理法 青椒对象 class牛肉 数量 300g处理法 牛肉对象 class芡汁 制作法 芶芡法 芡汁对象 特性之二 面向对象 特性之三 分布式 分布式包括数据分布和操作分布 数据分布 指数据可以分散存放于网络上的不同主机 操作分布 指把计算分散由不同主机进行处理 对于编程人员来说 Java的网络类库是对分布式编程的最好支持 字节码 ByteCode 提供了一种结构中立的对象文件格式 该格式设计成可在多种平台上有效运行的程序 特性之四 解释执行 源程序 编译 字节码 解释器 虚拟机JVM Java解释器直接对Java字节码进行解释执行 自动垃圾收集来进行内存管理例外处理机制 特性之五 健壮性 语言定义本身的因素 不支持指针等特有的安全模型字节码校验器 ByteCodeVerifier 类装载器 ClassLoader 安全管理器 特性之六 安全性 Java程序被编译成一种与体系结构无关的字节代码 只要安装了Java运行系统 Java程序可以在任意的处理器上运行 Java解释器得到字节码后 对他进行转换使他能够在不同的平台上运行 特性之七 体系结构中立 WriteOnce RunAnywhere 特性之八 可移植性 Java采用多种机制来保证可移植性 其中最主要的有两条 Java采用的是基于国际标准的数据类型 Java的数据类型在任何机器上都是一致的 它不支持特定于具体的硬件环境的数据类型 此外 Java的可移植性还体现在Java的运行环境上 Java作为一种解释型语言 其速度不会超过编译语言C 但远远超过交互式语言GUI等 和其他解释执行的语言如BASIC等不同 Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码 从而具有较高的性能 特性之九 高性能 多线程概念很象多任务 Java可以把一个程序分成多个任务以便使任务易于完成和最大限度利用CPU资源 特性之十 多线程 可將一个程序分成数份 让各部份能同时被执行 在Java类库中可以自由的加入新的方法和实例变量而不会影响用户程序的执行 特性之十一 动态性 Java通过接口来支持多重继承使之比严格的类继承具有更灵活的方式和扩展性 Java与C及C 的区别 不再有全局变量不再有 include和 define等预处理功能不再有structure union及typedef等不再有函数 不再有指针 不再有多重继承不再有goto语句不再有操作符重载 OperatiorOverloading 取消自动类型转换 要求强制转换自动进行内存管理 4Java编程环境 Java软件开发工具包JDK适于WindowsXP和WindowsNT 2000工作平台 由于Java的JDK版本是免费的 因此可以从因特网上免费下载 找到我们感兴趣的信息 三种平台简介目前Java运行平台主要分为下列3个版本 1 J2SE 称为Java标准版或Java标准平台 J2SE提供了标准的SDK开发平台 以前称做JDK开发平台 2 J2EE 称为Java企业版或Java企业平台 3 J2ME 称为Java微型版或Java小型平台 JDKj2eesdk 1 4 01 windows exej2sdk 1 4 2 doc zip集成环境Jbuilder Borland VisualJ Microsoft JPadTextPad JDK的下载 网址 安装JDK直接运行 j2eesdk 1 4 01 windows exe 按照安装向导进行安装 解开 j2sdk 1 4 2 doc zip 得到JDK的开发文档 安装JDK后产生如下目录结构 bin目录 Java开发工具 包括Java编译器 解释器等 demo目录 一些实例程序 lib目录 Java开发类库 jre目录 Java运行环境 包括Java虚拟机 运行类库等 Java开发工具包括 Javac Java编译器 用来将java程序编译成Bytecode Java Java解释器 执行已经转换成Bytecode的java应用程序 Jdb Java调试器 用来调试java程序 Javap 反编译 将类文件还原回方法和变量 Javadoc 文档生成器 创建HTML文件 Appletviwer Applet解释器 用来解释已经转换成Bytecode的java小应用程序 设置环境变量 PATH bin CLASSPATH Windows98 autoexec batWindowsNT 2000 XP 控制面板 系统 高级 环境变量 仅仅安装JRE如果你只想运行别人的Java程序可以只安装Java运行环境JRE JRE由Java虚拟机 Java的核心类以及一些支持文件组成 可以登录Sun的网站免费下载Java的JRE 5Java程序开发 Application Java应用 是可以独立运行的Java程序 由Java解释器控制执行 Applet Java小程序 不能独立运行 而是被嵌入到Web页中 由与Java兼容的浏览器控制执行 Client机 Server机 Browser 网页 字节码 Java程序的几种类型 Java程序分两种 Java应用程序 JavaApplication Java小程序 JavaApplet Java应用程序 JavaApplication 控制台应用程序 consoleapplications 窗口化Java应用程序 windowedjavaapplications Java的工作方式 文件类型 javaJava源文件 class二进制字节码文件编译过程 Java的工作方式 本地计算机系统 Java虚拟机 JVM class二进制字节码文件 javajava源程序文件 编译 Java的工作方式 Java虚拟机 JVM Java虚拟机类似于一个小巧而高效的CPU Java处理器 芯片 一般由软件实现 Java虚拟机 编译型工作方式 解释型工作方式 Java虚拟机 加载代码 类加载器加载程序运行所需要的所有的类 类加载器将本地文件系统的类的名字空间与从网络资源来的类的名字空间分开一旦所有的类被加载 可执行程序的内存布局就被确定了 内存地址被分配给符号引用表 查找表被建立 由于内存的布局出现在运行时刻 防止了对于代码域的未授权的访问 Java虚拟机 验证代码 字节代码验证器java代码在你的机器上执行前要经过几个测试 字节码验证器测试代码段的格式 检查代码段是否有非法代码 伪造指针 对象上的非法存取 试图改变对象类型等 所有网络来的类文件都要经过字节验证 执行代码 运行解释器 Java术语 JVM JRE JVM javavirtualmachineJVM虚拟机将java字节码程序翻译成机器语言 然后由计算机执行 JVM没有其他相关的文件 JVM本身不足以支持javaapplication和applet的运行 JRE java运行环境 JRE是由JVM和javaplatform核心类以及相关支撑文件组成 Java术语 API Applicationprogramminginterface API是rules syntax 在java技术中如何编程 API包括数百个类 sun公司预先编好的代码 你可以在编程中充分利用它们的功能 Java术语 JDK J2SDK JDK javadeveloper skit java开发工具包 JDK包含JVM和其他工具 以及所有的API和相关文件 JDK是java技术的旧名 1999 11以前 JDK1 1是最后版本 Java2 Java2Platform J2SDK java技术的新名称SDK SoftwareDevelopmentKit 5 1Java应用程序的开发 开发一个Java应用程序需经过三个步骤 编写源文件 编译源文件生成字节码 加载运行字节码 1 编写源文件 1 源文件的组成使用一个文字编辑器 如Edit或记事本 来编写源文件 不可使用Word编辑器 因它含有不可见字符 Java是面向对象编程 Java应用程序的源文件是由若干个书写形式互相独立的类组成 见例子1 2 应用程序的主类 一个Java应用程序必须有一个类含有publicstaticvoidmain Stringargs 方法 称这个类是应用程序的主类 args 是main方法的一个参数 是一个字符串类型的数组 注意String的第一个字母是大写的 以后会学习怎样使用这个参数 最简单的Java应用程序由仅包含main 方法的一个类组成 publicclassOurfirstprogram publicstaticvoidmain Stringargs System out println HelloWorld 这是类Ourfirstprogram的定义 这个类仅仅包括方法main 这是方法main 的定义 关键字public表明它是可全程访问的 关键字static确保 即使不存在任何类的对象 也可以访问它 关键字void表明它不返回值 3 源文件的命名规则 源文件的命名规则是 如果源文件中有多个类 那么只能有一个类是public类 如果有一个类是public类 那么源文件的名字必须与这个类的名字完全相同 扩展名是java 如果源文件没有public类 那么源文件的名字只要和某个类的名字相同 并且扩展名是java就可以了 4 良好的编程习惯 在编写程序时 一行最好只写一条语句 类体的以方法的大括号最好也独占一行 并有明显的缩进 2 编译Java源程序当创建了Hello java这个源文件后 就要使用编译器 javac exe 对其进行编译 Java编译器将用户编写的java源代码转换成由字节代码 bytecode 组成的二进制程序 3 运行Java程序 Java应用程序必须通过Java虚拟机中的Java解释器 java exe 来解释执行其字节码文件 Java应用程序总是从主类的main方法开始执行 因此 必须如下运行Java应用程序 C 1000 javaHello当Java应用程序中有多个类时 java命令执行的类名必须是主类的名字 没有扩展名 例 5 2JavaApplet程序的开发 开发一个JavaApplet程序需经过三个步骤 编写源文件 编译源文件生成字节码 通过浏览器加载运行字节码 1 编写源文件一个JavaApplet源文件也是由若干个类组成的 一个JavaApplet源文件不再需要main方法 但必须有且只有一个类扩展了Applet类 即它是Applet类的子类 Applet类是系统提供的类 我们把这个类称作JavaApplet源文件的主类 下面的例子2是一个简单的JavaApplet源文件 2 编译 c 1000 javacBoy java编译成功后 文件夹C 1000下会生成一个Boy class文件 如果源文件有多个类 将生成多个class文件 都和源文件在同一文件夹里 如果你对源文件进行了修改 那么你必须重新编译 再生成新的字节码文件 3 运行 JavaApplet由浏览器来运行 因此我们必须编写一个超文本文件 含有applet标记的web页 通知浏览器来运行这个JavaApplet 下面是一个最简单的一个html文件 通知浏览器运行JavaApplet 我们使用记事本编辑如下 现在可以使用浏览器打开文件Boy html运行JavaApplet 效果如图1 7所示 类库支持 引用其他类 类定义 定义程序所需的类及接口 包括其内部的变量 方法等 main 方法 应用程序的入口 与标准C中main 函数的地位是一样的 一个应用程序有且只有一个main 方法 main 方法必须包含在一个类中 该类即为应用程序的外部标志 程序注释 与C 类似 6 Java程序 Java应用程序 JavaApplication 编辑存盘 文件名和公共类名 用public声明 要一致HelloWorldApp java编译程序 javacHelloWorldApp java运行程序 javaHelloWorldApp运行结果 HelloWorld publicclassHelloWorldApp publicstaticvoidmain Stringargs System out println HelloWorld 6 Java程序 第一个Java应用程序 声明一个类 publicclassHelloWorldApp 类名第一个字母大写 一个类中可有很多方法 main方法是运行程序的第一个方法 方法名的第一个字母小写 System out println是向屏幕输出 相当于C中的printf 6 Java程序 第一个Java应用程序 publicclassHelloWorldApp publicstaticvoidmain Stringargs System out println HelloWorld 注意程序进入从一个类的main方法开始 必须保证主类HelloWorldApp中实现了main方法 必须保证HelloWorldApp java文件在当前目录下必须保证PATH环境变量中有 jdk home bin 6 Java程序 第一个Java应用程序 publicclassCommArg publicstaticvoidmain Stringargs Displaycommandargumentsinti if args length 0 havesomecommandarguments for i 0 i args length i System out println arg i args i else nocommandargument System out println Noarguments 6 Java程序 第二个Java应用程序 命令行参数 命令行参数 main Stringargs 与标准C中main intargc char argv 相似 字符串的拼接 arg i args i 编译程序 javacHelloWorldApp java运行程序 命令行参数获取 javaCommArgfirstsecondthird运行结果 arg 0 firstarg 1 secondarg 2 third 6 Java程序 第二个Java应用程序 命令行参数 类库支持 继承Applet类 引用其他类 类定义 定义程序所需的类及接口 包括其内部的变量 方法等 init 方法 初始化 自动调用 只执行一次 start 方法 初始化后 重入等都将自动调用 Applet的主体 在其中可以执行一些任务或启动相关的线程来执行任务 如paint 方法等 paint 方法 显示 重画Applet窗口时调用 stop 方法 离开Applet所在页面时调用 以停止消耗系统资源 6 Java程序 Java小程序 JavaApplet importjava applet importjava awt publicclassHelloAppletextendsApplet publicStrings 成员变量 存放要显示在屏幕上的字符串publicvoidinit 初始化方法 在网页被调入是只调用一次 s newString HelloWorld 设置要显示的内容 publicvoidpaint Graphicsg 显示方法 每次需要重画时该方法被调用 g drawString s 25 25 在Applet窗口中指定位置显示字符串 6 Java程序 第一个Java小程序 编辑存盘 文件名和主类名一致编译代码 javacHelloApplet java编写HTML文件 HelloApplet html HelloWorld 6 Java程序 第一个Java小程序 Java小应用程序不能直接执行和使用 必须要在浏览器中执行 运行Applet程序 1 appletviewerHelloApplet html2 在浏览器中运行运行结果 HelloWorld 6 Java程序 第一个Java小程序 理解程序 import语句相当于C语言中的include 每一个applet都是java applet Applet的子类 用extends继承 applet中没有main 方法 当applet被浏览器运行时 init start 方法等自动执行 再调用paint 方法 在applet中与屏幕输出有关的操作通过Graphics对象来实现 一个Java源文件内最多只能有一个public类 文件名必须和它同名 6 Java程序 第一个Java小程序 importjava util importjava awt importjava applet importjava text publicclassParaAppletextendsApplet Strings1 s2 s3 s4 四个字符串变量分别记录四个参数的字符串publicvoidinit 在初始化方法中根据参数的值初始化字符串变量s1 getParameter p1 s2 getParameter p2 s3 getParameter p3 s4 getParameter p4 publicvoidpaint Graphicsg g drawString s1 10 10 g drawString s2 10 30 g drawString s3 10 50 g drawString s4 10 70 6 Java程序 第二个Java小程序 带参数的Applet 编辑存盘 文件名和主类名一致编译代码 javacParaApplet java编写HTML文件 ParaApplet html AppletParameterTest 6 Java程序 第二个Java小程序 带参数的Applet 运行Applet程序 1 appletviewerParaApplet html2 在浏览器中运行运行结果 1111111222222233333334444444 6 Java程序 第二个Java小程序 带参数的Applet 理解程序 从页面中获取Applet参数 s1 getParameter p1 在页面中设置Applet参数 6 Java程序 第二个Java小程序 带参数的Applet 包 类 变量 方法等命名 要体现各自的含义 包名全部小写 io awt类名第一个字母要大写 HelloWorldApp变量名第一个字母要小写 userName方法名第一个字母要小写 setName程序书写格式 保证良好的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版杉木木材产业投资合作与融资合同
- 2025年度第八章担保物权法律咨询与风险评估合同
- 2025年度专用车辆驾驶员劳动合同规范文本
- 2025年绿色建筑材料市场推广策略与政策支持下的绿色建筑产业投资机会分析报告
- 2025年智能电网市场前瞻:智能电网在数据中心冷却系统中的应用分析
- 新能源汽车二手车市场2025年评估模型与流通风险控制研究报告
- 2025年农村土地流转市场规范化管理政策优化与实施策略研究报告
- 农村土地流转与农村土地流转合同规范化管理研究报告
- 2025年婴幼儿配方食品营养配比与睡眠质量关系研究报告
- 建筑行业绿色建筑材料研发与应用案例分析报
- 家庭房产分割协议书
- 北师大版《心理健康》九年级上册全套教学课件
- 《液压与气动控制》课件
- 邮政快递员技能大赛理论考试题库(含答案)
- 《电动航空器电推进系统技术规范》
- 结肠造瘘还纳术手术配合
- 2024年山东省建筑施工企业主要负责人A类考试题库及答案(典型题)
- 特种设备目录新旧对照表
- 2024年初一英语阅读理解专项练习及答案
- 陪诊师与公司签订协议书范文
- 喀什德力克油田科技有限公司30万立方米-日油田伴生放空天然气回收利用项目
评论
0/150
提交评论