java学习课件1_第1页
java学习课件1_第2页
java学习课件1_第3页
java学习课件1_第4页
java学习课件1_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-2-101Java程序设计程序设计Programming in Java山东理工大学山东理工大学 周雪芹周雪芹二二O一一O年九月年九月2022-2-102教材教材 雍俊海雍俊海. Java程序设计教程(第程序设计教程(第2版)版). 北京北京: 清清华大学出版社华大学出版社, 2007.2022-2-103习题集习题集 雍俊海雍俊海. Java程序设计程序设计习题集习题集(含参考答案含参考答案). 北京北京: 清华大学出版社清华大学出版社, 2006.2022-2-104参考文献参考文献 雍俊海雍俊海. Java程序设计程序设计. 北京北京: 清华大学出版社清华大学出版社, 2004

2、. 戴特尔戴特尔美美. Java大学基础教程大学基础教程(第六版第六版)(英文版英文版). 北京北京: 电子工业出版社电子工业出版社, 2005. Bruce Eckel美美. Java编程思想:第编程思想:第3版版. 机械工业出版机械工业出版社社, 2005. Joshua Bloch美美著著. 潘爱民译潘爱民译. Effective Java中文版中文版. 北北京京: 机械工业出版社机械工业出版社, 2003. 尉哲明尉哲明, 李慧哲李慧哲. Java技术教程技术教程(基础篇基础篇). 北京北京: 清华大学清华大学出版社出版社, 2002. 董丽董丽. Java 技术及其应用技术及其应用.

3、 北京北京: 高等教育出版社高等教育出版社, 2001. 张洪斌张洪斌.Java程序设计百事通程序设计百事通. 清华大学出版社,清华大学出版社,2001. JVAV5.0学习笔记学习笔记 良葛格良葛格2022-2-105第第 1 章章 绪论绪论2022-2-106本章总体纲要本章总体纲要 课程总体介绍课程总体介绍 Java简介简介 开发环境的建立开发环境的建立 我会写我会写 JavaJava程序程序2022-2-107教学大纲教学大纲( Syllabus)第第 1 章章 绪论绪论第第 2 章章 结构化程序设计结构化程序设计第第 3 章章 面向对象程序设计面向对象程序设计第第 4 章章 数组、字

4、符串、向量和哈希表数组、字符串、向量和哈希表第第 5 章章 泛型和枚举与泛型和枚举与for语句的简化写法语句的简化写法第第 6 章章 异常处理、递归和单体程序设计方法异常处理、递归和单体程序设计方法第第 7 章章 文件与数据流文件与数据流2022-2-108教学大纲教学大纲( Syllabus)第第 8 章章 Swing图形用户界面程序设计图形用户界面程序设计第第 9 章章 小应用程序小应用程序(Applet)第第 10 章章 编程规范编程规范第第11章章 多线程程序设计多线程程序设计第第12章章 网络程序设计网络程序设计第第13章章 多媒体与图形学程序设计多媒体与图形学程序设计第第14章章

5、数据库程序设计数据库程序设计2022-2-109本课程学习目标本课程学习目标 掌握掌握Java编程基本技能编程基本技能 掌握学习掌握学习Java的基本方法的基本方法 能够用能够用Java来解决实际问题来解决实际问题 为为SCJP认证做准备认证做准备 为将来从事为将来从事JAVA程序开发打基础程序开发打基础2022-2-1010Sun公司的国际认证简介公司的国际认证简介 对于对于Java程序设计员,程序设计员,Sun公司推出两项国际公司推出两项国际认证:认证: Sun Certificated Java Programmer (SCJP) Sun Certificated Java Develo

6、per (SCJD) SCJP 是各种是各种Java认证的基础,相对于认证的基础,相对于SCJD来说,来说,它更侧重于测验它更侧重于测验Java程序设计概念及能力,内容程序设计概念及能力,内容偏重于偏重于Java语法及语法及JDK的内容。的内容。2022-2-1011学习方法及要求学习方法及要求 课内课内: 认真听讲认真听讲 课外课外: 阅读教材并进行实践阅读教材并进行实践 上课时的案例、教材和习题集的习题上课时的案例、教材和习题集的习题 其他课程的作业其他课程的作业 实际的项目实际的项目 实践是硬道理,多练习实践是硬道理,多练习 学习方法:学习方法: 奠定奠定Java语言基础,多看别人的程序

7、,举一反三,反复练习语言基础,多看别人的程序,举一反三,反复练习 运用基本的运用基本的J2SE API,多查,多查API帮助文档帮助文档 使用搜索引擎、加入论坛参与讨论使用搜索引擎、加入论坛参与讨论 学习建议:学习建议: 从从java语言开始学起,然后学语言开始学起,然后学JSP、servlet,然后接触框架,然后接触框架SSH(Struts+Spring+Hibernate) 2022-2-1012本章总体纲要本章总体纲要 课程总体介绍课程总体介绍 Java简介简介 开发环境的建立开发环境的建立 我会写我会写 JavaJava程序程序2022-2-1013Java历史简介历史简介 Sun公司

8、公司“绿色项目绿色项目”中编写智能消费型电子产品中编写智能消费型电子产品Star7应用程序的一个程序语言,当时取名应用程序的一个程序语言,当时取名Oak,由于,由于商标冲突,更名为商标冲突,更名为Java.1990.12 “Green Project”1990.12 “Green Project”由由Patrick NaughtonPatrick Naughton、Mike Mike SheridanSheridan与与James GoslingJames Gosling主持主持, , 希望构筑下一代计算机应希望构筑下一代计算机应用趋势(用趋势(PDAPDA、手机等)、手机等), ,市场需求发

9、展没有预料的快,市场需求发展没有预料的快, SunSun公司曾以此投标一个交互式电视项目,但结果被公司曾以此投标一个交互式电视项目,但结果被SGISGI打败。打败。差一点就要取消这个差一点就要取消这个“绿色项目绿色项目”; ;1992.9.3 1992.9.3 项目组展示了项目组展示了Star7Star7手持设备(具备无线网络连接、手持设备(具备无线网络连接、5in5in的的LCDLCD彩色屏幕、彩色屏幕、PCMCIAPCMCIA接口等功能)接口等功能); ;1993 Mosaic1993 Mosaic诞生,诞生,Java AppletJava Applet在浏览器中展现了互动性,在浏览器中展

10、现了互动性,GreenGreen项目组仿照项目组仿照MosaicMosaic开发出一个以开发出一个以JavaJava技术为基础的浏技术为基础的浏览器览器(BladeRunner_ WebRunner_HotJava)BladeRunner_ WebRunner_HotJava),为网页增加了,为网页增加了“动态的动态的内容内容”, ,它所展现的多媒体效果引起了人们的注意它所展现的多媒体效果引起了人们的注意. .可以说可以说, ,网络的发展网络的发展, , 挽救了这个项目挽救了这个项目; ;1994: Oak1994: Oak应用于网络应用于网络, , 称为称为JavaJava2022-2-10

11、14Java历史简介历史简介(续续) 19951995年年5 5月月2323日日Java Development Java Development Kits 1.0a2Kits 1.0a2正式发表正式发表 19961996年年NetScape NavigatorNetScape Navigator、Microsoft ExplorerMicrosoft Explorer正式支持正式支持JavaJava 1998年底年底 JDK1.2版是一个重要版本版是一个重要版本, Java2 SDK, 增加了许多扩展的新特性增加了许多扩展的新特性,用用新方法构建程序新方法构建程序,使用类库或者使用类库或者A

12、PI.2022-2-1015Java现状现状Java现在常用来现在常用来: 1) 开发大规模的商业应用软件开发大规模的商业应用软件 2) 增强网络服务的功能增强网络服务的功能 3) 开发智能消费型电子产品的应用软开发智能消费型电子产品的应用软件件(例如手机例如手机)2022-2-1016Java概述概述 Java比比C+简单,完全面向对象,跨平简单,完全面向对象,跨平台,一次编写,到处运行台,一次编写,到处运行Write Once, Run Anywhere Java不仅是程序语言,还是软件开发平不仅是程序语言,还是软件开发平台,也是一种软件开发标准与架构的统台,也是一种软件开发标准与架构的统

13、称。称。2022-2-1017Java语言的特性语言的特性 简单的简单的 面向对象面向对象 网络的网络的通过网络产生,许多功能与应用都与网络相关通过网络产生,许多功能与应用都与网络相关AppletApplet、简化的、简化的SocketSocket、交互式、交互式JSP/ServletJSP/Servlet、Web Web ServiceService 解释的解释的 健壮的健壮的 安全的安全的 可移植性的可移植性的 多线程的多线程的 高性能的高性能的2022-2-1018我们为什么要用我们为什么要用Java简单的简单的 Java最初是为家用电器进行集成控制而设计的一最初是为家用电器进行集成控制

14、而设计的一种语言,因此它必须简单明了。种语言,因此它必须简单明了。 风格类似于风格类似于C+,C+程序员可以很快地掌握程序员可以很快地掌握Java编程技术。编程技术。 摒弃了摒弃了C+中容易引发程序错误的一些特性中容易引发程序错误的一些特性,如,如指针、结构、指针、结构、枚举枚举以及内存管理、运算符重载、以及内存管理、运算符重载、类的多重继承、友元类等类的多重继承、友元类等. Java提供了丰富的类库提供了丰富的类库,可以帮助我们很方便,可以帮助我们很方便的开发的开发Java程序。程序。 2022-2-1019我们为什么要用我们为什么要用Java面向对象的面向对象的 面向对象可以说是面向对象可

15、以说是Java最重要的特性最重要的特性,所,所以它支持继承、重载、多态等特性。以它支持继承、重载、多态等特性。 Java语言是完全面向对象语言是完全面向对象的的, ,它不支持它不支持C语语言面向过程的程序设计技术。言面向过程的程序设计技术。JavaJava语言是一种新型的语言语言是一种新型的语言, ,没有兼容低版没有兼容低版本语言的负担本语言的负担, ,在采用计算机新技术方面比在采用计算机新技术方面比传统的计算机语言显得更为纯粹传统的计算机语言显得更为纯粹, ,特点也更特点也更鲜明鲜明. .2022-2-1020我们为什么要用我们为什么要用Java健壮的健壮的 Java检查程序在编译和运行时的

16、错误。检查程序在编译和运行时的错误。 Java是一种强类型的语言,其类型检查比是一种强类型的语言,其类型检查比C+还要严格。类型检查帮助我们检查出还要严格。类型检查帮助我们检查出许多开发早期出现的错误。许多开发早期出现的错误。 Java自己负责内存管理,提供了垃圾内存自己负责内存管理,提供了垃圾内存回收机制,有效避免了回收机制,有效避免了C+中最头疼的内中最头疼的内存泄漏问题。存泄漏问题。 2022-2-1021我们为什么要用我们为什么要用Java 安全的安全的 Java的安全性可从两个方面得到保证。的安全性可从两个方面得到保证。删除了指针和释放内存等删除了指针和释放内存等C+功能功能,避免了

17、非,避免了非法内存操作。法内存操作。通过通过Java的安全体系架构来确保的安全体系架构来确保Java代码的代码的安全性安全性。当我们从网上下载。当我们从网上下载Java代码在本地执代码在本地执行时,行时,Java的安全架构能确保恶意的代码不能的安全架构能确保恶意的代码不能随意访问本地计算机的资源,如:删除文件,随意访问本地计算机的资源,如:删除文件,访问本地网络资源等操作都是被禁止的。访问本地网络资源等操作都是被禁止的。 2022-2-1022我们为什么要用我们为什么要用Java解释的解释的 Java代码是代码是解释执行解释执行 Java编译器将编译器将Java代码编译成字节码,这代码编译成字

18、节码,这是一种中间代码,然后由是一种中间代码,然后由Java解释器解释解释器解释执行。执行。而而C+程序是程序是编译执行编译执行的,的,C+程序代程序代码被码被编译为本地机器指令,然后执行。编译为本地机器指令,然后执行。 2022-2-1023我们为什么要用我们为什么要用Java 与平台无关的与平台无关的JavaJava作为一种网络语言,其源代码被编译成一种作为一种网络语言,其源代码被编译成一种结构中立结构中立的中间文件格式。的中间文件格式。只要装有只要装有Java运行环境运行环境(JRE)(JRE)的机器都能执行这种的机器都能执行这种中间代码。中间代码。 Java源程序被编译成一种与机器无关

19、的字节码格源程序被编译成一种与机器无关的字节码格式式(.class)(.class),在,在Java虚拟机虚拟机(JVM)(JVM)上运行。上运行。2022-2-1024我们为什么要用我们为什么要用Java多线程的多线程的在语言级支持多线程的程序设计。在语言级支持多线程的程序设计。多线程就好像我们做一张桌子,如果你一个多线程就好像我们做一张桌子,如果你一个人完成这张桌子人完成这张桌子就好像单线程,那么你需就好像单线程,那么你需要先做桌面,做完桌面后,再做要先做桌面,做完桌面后,再做4个桌子腿,个桌子腿,如果现在有如果现在有5个人来做桌子个人来做桌子在程序中开辟在程序中开辟5个线程,其中个线程,

20、其中1个人做桌面,另外个人做桌面,另外4个人分别个人分别做做4个桌子腿,那么这两种方式效率的高低,个桌子腿,那么这两种方式效率的高低,相信大家都能区分出来。相信大家都能区分出来。2022-2-1025应用平台应用平台 1999年年6月,月,Sun公司美国旧金山公司美国旧金山Java One大会上,大会上,公布了新的公布了新的Java体系架构:体系架构: Java 2 Platform, Standard Edition(J2SE) 标准平台标准平台其他应用平台的基础其他应用平台的基础概念:概念:JREJRE、JVMJVM、JDKJDK、JAVAJAVA语言、语言、APIAPI类库类库 Java

21、 2 Platform, Enterprise Edition(J2EE) 企业级平台企业级平台定义了一系列服务、定义了一系列服务、APIAPI、协议等,适于开发分布式、多层式、以组件、协议等,适于开发分布式、多层式、以组件为基础、以为基础、以WEBWEB为基础的应用程序。为基础的应用程序。JSPJSP、ServletServlet、Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)、Java Remote method Java Remote method Invocation(RMI)Invocation(RMI) Java 2 Platf

22、orm, Micro Edition(J2ME) 嵌入式平台嵌入式平台 在小型数字设备上开发及部署应用程序的平台在小型数字设备上开发及部署应用程序的平台 应用领域:手机游戏、掌上电脑、股票机等应用领域:手机游戏、掌上电脑、股票机等2022-2-1026两种类型的两种类型的Java程序程序 应用程序应用程序(Application) 小应用程序小应用程序(Applet)2022-2-1027本章总体纲要本章总体纲要 课程总体介绍课程总体介绍 Java简介简介 开发环境的建立开发环境的建立 我会写我会写 JavaJava程序程序2022-2-1028下载与安装指南下载与安装指南 安装安装:Java

23、TM 2 SDK, Standard Edition版本版本操作系统操作系统下载地址下载地址: http:/ http:/ path & classpath 假设 Java SDK 安装在 C:Program FilesJavajdk1.6.0_212022-2-1034设置环境变量设置环境变量: path & classpath 设置: path=%path%; C:Program FilesJavajdk1.6.0_21bin;classpath=.;C:Program FilesJavajdk1.6.0_21lib;2022-2-1035下载下载J2SE的在线帮助文档的在

24、线帮助文档 例如例如: 下载下载 Java 2 SDK在线帮助文档在线帮助文档jdk-6u21-doc.zip从从:http:/ 建立建立Java开发环境开发环境 1) 下载下载J2SE安装程序安装程序 2) 运行运行J2SE安装程序,安装安装程序,安装J2SE 3) 设置环境变量:设置环境变量: 运行路径运行路径(path) 类路径类路径(classpath) 4)下载下载J2SE的在线帮助文档的在线帮助文档2022-2-1037本章总体纲要本章总体纲要 课程总体介绍 Java简介 开发环境的建立 我会写 Java程序2022-2-1038例例 1: J_HelloJava.java(应用程

25、序应用程序)/ / 在控制台窗口中输出在控制台窗口中输出:/ “Java语言,您好语言,您好!” 和和/ 我将成为优秀的我将成为优秀的Java程序员程序员!/ /2022-2-1039通过文本编辑器通过文本编辑器 (如如: UltraEdit)创建并编写创建并编写Java源文件源文件/ 文件名文件名: J_HelloJava.javapublic class J_HelloJava public static void main(String args ) System.out.println(Java语言,您好语言,您好!); System.out.println(我将成为优秀的我将成为优秀

26、的Java程序员程序员!); / 方法方法main结束结束 / 类类J_HelloJava结束结束2022-2-1040注意事项注意事项 1、JAVA源文件以源文件以.java结束结束 2、主文件名与类名称必须一致、主文件名与类名称必须一致 3、注意字母的大小写、注意字母的大小写 4、空白只能是半角空格符或、空白只能是半角空格符或Tab字符字符 5、常见错误、常见错误 Path及及Classpath参数设置不正确导致参数设置不正确导致 编译错误及执行错误编译错误及执行错误2022-2-1041第一个第一个JAVA程序的解释程序的解释(1) 定义类程序从类开始, class为关键字public

27、公开类,一个文件可编写数个类,只有一个是公开类,而且主文件名必须与这个公开类的名称相同. 定义程序块 成对出现,区别定义的作用范围.2022-2-1042第一个第一个JAVA程序的解释程序的解释(2) 定义定义main()main()方法方法 main()main()方法是方法是JAVAJAVA程序的入口程序的入口 public, public, 在执行环境中被调用在执行环境中被调用 static, static, 不需要产生对象就能被执行不需要产生对象就能被执行 void, mainvoid, main方法不需要返回任何值方法不需要返回任何值 编写语句编写语句 以以; ;分隔分隔 Syste

28、mSystem是是java.langjava.lang包中的一个类包中的一个类 outout是是SystemSystem类下的一个公开对象类下的一个公开对象(PrintStream(PrintStream对象对象) ) printlnprintln方法是方法是PrintStreamPrintStream类的方法类的方法, ,输出字符串后输出字符串后自动换行自动换行. .2022-2-1043第一个第一个JAVA程序的解释程序的解释(3) 编译与执行编译与执行编译编译: : javac J_HelloJava.javajavac J_HelloJava.java , ,在同一目录下产生在同一目录

29、下产生J_HelloJava.classJ_HelloJava.class字节码文件字节码文件, ,执行期间由执执行期间由执行环境转换为平台可执行的机器码行环境转换为平台可执行的机器码执行执行 java J_HelloJava java J_HelloJava 显示输出显示输出; ; java J_HelloJava HelloJavaResult.txtjava J_HelloJava HelloJavaResult.txt 输出重定位输出重定位到文件到文件 java J_HelloJava HelloJavaResult.txtjava J_HelloJava HelloJavaResul

30、t.txt 带有附加功带有附加功能的输出重定位到文件能的输出重定位到文件2022-2-1044开发工具开发工具 1 1、UltraEditUltraEdit或或EditPlusEditPlus 2 2、JCreatorJCreator 3 3、JBuilderJBuilder 4 4、NetBeanNetBean 5 5、EclipseEclipse2022-2-1045编译编译 &执行执行J_HelloJava.javajavacJ_HelloJava.classjava输出输出2022-2-1046例例 2 : J_HelloApplet.java Applet 小应用程序小应用程

31、序 Applet 子类的实例子类的实例java.applet.Applet 、javax.swing.JApplet 运行方式运行方式 包含小应用程序的包含小应用程序的HTML文件被打开文件被打开 运行方法运行方法 appletviewer (小应用程序的测试工具小应用程序的测试工具) 网页浏览网页浏览 (IE和和Netscape等等)2022-2-1047例 2 : J_HelloApplet.java/ / 在一个网页上显示在一个网页上显示:/ 小应用程序,您好小应用程序,您好!/ /2022-2-1048/ 文件名文件名: J_HelloApplet.java; import java.

32、awt.Graphics;import javax.swing.JApplet;public class J_HelloApplet extends JApplet public void paint(Graphics g) g.clearRect(0, 0, getWidth( ), getHeight( ); / 清除背景清除背景 g.drawString(小应用程序,您好小应用程序,您好!, 10, 20); / 方法方法paint结束结束 / 类类J_HelloApplet结束结束通过文本编辑器通过文本编辑器 (如如: UltraEdit)创建并编写创建并编写HTML文件文件2022-2-1049通过文本编辑器通过文本编辑器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论