java入门到精通(ch).ppt

上传人:max****ui 文档编号:6358408 上传时间:2020-02-23 格式:PPT 页数:57 大小:217KB
返回 下载 相关 举报
java入门到精通(ch).ppt_第1页
第1页 / 共57页
java入门到精通(ch).ppt_第2页
第2页 / 共57页
java入门到精通(ch).ppt_第3页
第3页 / 共57页
点击查看更多>>
资源描述
第一讲序论 1 程序设计语言2 Java历史及发展3 Java语言特点4 Java开发环境5 Java类库6 Java程序 软件的基本组成部分是完成其功能的程序 程序设计语言 也被称为 编程语言 ProgrammingLanguage 是人们编制程序所使用的语言 程序描述了计算机处理数据 解决问题的过程 这是程序的实质 但程序的描述形式却可以是多种多样的 可以用不同的方式表述 不同的程序设计语言 1 程序设计语言 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 程序设计语言 高级程序设计语言 2 Java历史及发展 Java是一种解释型的 面向对象的编程语言 历史 1991年 SUNMicroSystem公司的JameGosling BillJoe等人为在电视 控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件 Oak Java 互联网给Java带来新的生机1995年Sun向公众推出Java并引起业界的轰动发展 面向网络应用 类库不断丰富 性能不断提高 应用领域不断拓展 1995年以来 应用 Java是当今最流行的软件开发语言之一 Sun推出了Java2 J2EE使Java具有更广泛的用途 适用于各种应用开发 尤其是网络应用 网络服务 嵌入式系统等 Java C 复杂性和奇异性 安全性和可移植性 Java语言是一个完全面向对象的语言 并且对软件工程技术有很强的支持Java语言的设计集中于对象及其接口 它提供了简单的类机制以及动态的接口模型 对象中封装了它的状态变量以及相应的方法 实现了模块化和信息隐藏 类提供了一类对象的原型 并且通过继承机制 子类可以使用父类所提供的方法 实现了代码的复用 3 Java语言特点 1 面向对象 严格的语言定义 没有 依据机器的不同而不同 或 由编译器决定 等字眼 最后的目标码都是一致的 Java解释器生成与体系结构无关的字节码指令 只要安装了Java运行时系统 Java程序就可在任意的处理器上运行 这些字节码指令对应于Java虚拟机中的表示 Java解释器得到字节码后 对它进行转换 使之能够在不同的平台运行 3 Java语言特点 2 平台无关性 源程序 Java编译器 SPARC pentium Powerpc 中间码 Powerpc pentium SPARC 二进制 源程序 SPARC Powerpc pentium Powerpc pentium SPARC 编译器 二进制 Java解释器 编译型和解释型语言的工作模式 类 类库装载 库 链接 编译 没有绝对地址 调入包含 继承所用到的所有类 内存分配确定 变成真正可执行的机器码 不存在伪造的指针不违反访问权限不非法访问对象不导致操作栈溢出 Java的编译与执行 不同的操作系统有不同的虚拟机 它类似一个小巧而高效的CPU Bytecode代码是与平台无关的是虚拟机的机器指令 Java字节代码运行的两种方式 Interpreter 解释方式 Just in time 即时编译 有代码生成器将字节代码转换成本机的机器代码 然后可以以较高速度执行 Java虚拟机 Java是在网络环境下使用的语言 一个安全的网络至少要防止以下几种破坏的可能性 毁灭系统资源消耗系统资源挖掘系统或个人机密骚扰正常工作的进行 3 Java语言特点 3 安全问题 Java的安全措施 单线程程序一个时刻只能做一件事情 多线程程序允许在同一时刻同时做多件事情 其它大多数高级语言 包括C C 等 都不支持多线程 只能编写顺序执行的程序 除非有操作系统API的支持 Java提供现成的类Thread 只要继承这个类就可以编写多线程的程序 多线程机制使应用程序能够并行执行 而且同步机制保证了对共享数据的正确操作 通过使用多线程 程序设计者可以分别用不同的线程完成特定的行为 而不需要采用全局的事件循环机制 这样就很容易地实现网络上的实时交互行为 3 Java语言特点 4 多线程 5 可移植性 6 分布性 7 高性能 相对于其他解释型语言 8 健壮性 3 Java语言特点 其他 不再有全局变量不再有 include和 define等预处理功能不再有structure union及typedef等不再有函数 不再有指针 不再有多重继承不再有goto语句不再有操作符重载 OperatiorOverloading 取消自动类型转换 要求强制转换自动进行内存管理 3 Java语言特点 9 与C及C 的区别 4 Java开发环境 JDKj2eesdk 1 4 01 windows exej2sdk 1 4 2 04 nb 3 6 bin windows exej2sdk 1 4 2 doc zip集成环境Jbuilder Borland VisualJ Microsoft JPadTextPad 安装JDK直接运行 j2eesdk 1 4 01 windows exe 按照安装向导进行安装 解开 j2sdk 1 4 2 doc zip 得到JDK的开发文档 4 Java开发环境 安装JDK后产生如下目录结构 bin目录 Java开发工具 包括Java编译器 解释器等 demo目录 一些实例程序 lib目录 Java开发类库 jre目录 Java运行环境 包括Java虚拟机 运行类库等 4 Java开发环境 Java开发工具包括 Javac Java编译器 用来将java程序编译成Bytecode Java Java解释器 执行已经转换成Bytecode的java应用程序 Jdb Java调试器 用来调试java程序 Javap 反编译 将类文件还原回方法和变量 Javadoc 文档生成器 创建HTML文件 Appletviwer Applet解释器 用来解释已经转换成Bytecode的java小应用程序 4 Java开发环境 设置环境变量 PATH bin CLASSPATH Windows98 autoexec batWindowsNT 2000 XP 控制面板 系统 高级 环境变量 4 Java开发环境 C Jdk bin lib javac java appletviewer 用户类文件所在目录c java examples applications 当前目录 jre demo 4 Java开发环境 Java程序由各种类 class 组成你自己编写的类 Javaclasslibraries JavaAPI JDK JavaDevelopmentKit 1 1 1 4 独立软件供应商 免费软件 共享软件几点提示使用类库可以提高软件重用 提高效率 提高移植性网络上有许多开放的Java源码资源 5 Java类库 JavaPackages 1 Languagejava langClassesthatcontainthemaincoreoftheJavalanguage Utilitiesjava utilSupportforutilitydatastructures I Ojava ioSupportforvarioustypesofinput output Textjava textLocalizationsupportforhandlingtext dates numbers andmessages Mathjava mathClassesforperformingarbitrary precisionintegerandfloating pointarithmetic AWTjava awtUserinterfacedesignandevent handling Swingjavax swingClassesforcreatingall Java lightweightcomponentsthatbehavesimilarlyonallplatforms JavaPackages 2 JavaxjavaxExtensionstotheJavalanguage Appletjava appletClassesforcreatingapplets Beansjava beansClassesfordevelopingJavaBeans Reflectionjava lang reflectClassesusedtoobtainruntimeclassinformation SQLjava sqlSupportforaccessingandprocessingdataindatabases RMIjava rmiSupportfordistributedprogramming NetworkingClassesthatsupportdevelopmentofnetworkingapplications Securityjava securitySupportforcryptographicsecurity Java程序分两种 Java应用程序 JavaApplication Java小程序 JavaApplet 6 Java程序 Java程序结构 package语句 零个或多个 必须放在文件开始import语句 零个或多个 必须放在所有类定义之前publicClassDefinition 零个或一个ClassDefinition 零个或多个InterfaceDefinition 零个或多个类个数 至少一个类 最多只能有一个public类源文件命名 若有public类 源文件必须按该类命名标识符 区分大小写 6 Java程序 类库支持 引用其他类 类定义 定义程序所需的类及接口 包括其内部的变量 方法等 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应用程序 命令行参数 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 6 Java程序 第三个Java小程序 一个图形Java小程序 包 类 变量 方法等命名 要体现各自的含义 包名全部小写 io awt类名第一个字母要大写 HelloWorldApp变量名第一个字母要小写 userName方法名第一个字母要小写 setName程序书写格式 保证良好的可读性 使程序一目了然 大括号 的使用与对齐语句段的对齐在语句段之间适当空行程序注释 帮助了解程序的功能 类注释变量注释方法注释语句注释语句段注释建议 一个类一个 java文件 程序示例 6 Java程序 程序书写规范 第一次使用Java时常见的问题 编译时运行时 使用 作为目录名分割符 yourhome javacexamples ch1 Welcome1 java错误 不能读 examples ch1 Welcome1 java1个错误解决办法 yourhome javacexamples ch1 Welcome1 java或者 yourhome javacexamples ch1 Welcome1 java Java编译时常见的问题 1 Java编译时常见的问题 2 忘记文件后缀 java yourhome javacexamples ch1 Welcome1javac 无效的参数 examples ch1 Welcome1用法 javac 解决办法 yourhome javacexamples ch1 Welcome1 java或者 yourhome javacexamples ch1 Welcome1 java Java运行时常见的问题 1 使用 最为包名的分割符 yourhome javaexamples ch1 Welcome1Exceptioninthread main java lang NoClassDefFoundError examples ch1 Welcome1 wrongname examples ch1 Welcome1 atjava lang ClassLoader defineClass0 NativeMethod 解决办法 yourhome javaexamples ch1 Welcome1或者 yourhome javaexamples ch1 Welcome1 Java运行时常见的问题 2 没有把当前目录加到classpath环境变量中 yourhome javaexamples ch1 Welcome1Exceptioninthread main java lang NoClassDefFoundError examples ch1 Welcome1解决办法 setclasspath classpath 或者 yourhome java classpath examples ch1 Welcome1 Java编译小窍门 命令行 javac java可以编译当前目录下所有的 java文件命令行 javacyourpackage java编译yourpackage目录下所有的 java文件 Java语言学习 1 阅读类库文档 了解 掌握Java开发类库的使用方法 2 多分析例子程序 多上机练习 3 了解OO的思想 下一讲内容 Java语言基础 1 Java语言规范Java数据类型Java运算符和表达式Java控制语句Java类定义规范2 Java开发类库组成
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!