chapter1概述_第1页
chapter1概述_第2页
chapter1概述_第3页
chapter1概述_第4页
chapter1概述_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、Java语言程序设计 Java课程的目标和地位pJava语言程序设计是一个什么样的课程语言程序设计是一个什么样的课程n一门编程语言课一门编程语言课pJava语言是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构的中立的,可移植的,性能优异的多线程的,动态的语言。pJava 编程语言的风格十分接近C、C+语言。pJava不仅仅是一门编程语言,而且还是一个平台。n一门专业核心基础课一门专业核心基础课p在计算机程序开发语言中,windows平台下Java和.net平分秋色,但在非windows平台下,Java占据绝对的领导地位。pJava是计算机及其相关专业的核心基础课程,是

2、软件工程师应该真正掌握住的一门技术,尤其是在Web开发和移动开发领域,Java已经成了事实上的企业应用标准。参考书pJava开发实战宝典,李钟蔚,清华大开发实战宝典,李钟蔚,清华大学出版社。学出版社。pJava编程思想编程思想(Thinking in java)(第第4版版),机械工业出版社,机械工业出版社pJava2 核心技术核心技术(第第7版版)卷卷I-基础知基础知识和卷识和卷II-高级特性,机械工业出版社。高级特性,机械工业出版社。pJava开发实战经典,李新华,清华大开发实战经典,李新华,清华大学出版社学出版社pJava诞生诞生pJava的特点的特点p安装安装JDKp一个简单的一个简单

3、的Java应用程序应用程序p联合编译联合编译p注释注释p编程风格编程风格1.1 Java的诞生 Java Java是是SunSun公司公司19951995年正式推出的新一代面向对象年正式推出的新一代面向对象程序设计语言程序设计语言, , 特别适合于特别适合于InternetInternet应用程序开发。应用程序开发。 Java Java来自于来自于19911991年年SunSun公司的一个叫公司的一个叫GreenGreen的项目的项目, , 其原先的目的是为家用消费电子产品开发一个分布式其原先的目的是为家用消费电子产品开发一个分布式代码系统代码系统, , 可以把可以把E-mailE-mail发

4、给电冰箱、发给电冰箱、 电视机等家用电视机等家用电器电器, , 对它们进行控制。开始对它们进行控制。开始, , 准备采用准备采用C+, C+, 但但C+C+太复杂太复杂, , 安全性差安全性差, , 最后基于最后基于C+C+开发了一种新的语言开发了一种新的语言OakOak(Java(Java的前身的前身), Oak), Oak是一种用于网络的精巧而安全是一种用于网络的精巧而安全的语言。的语言。 1994 1994年下半年年下半年, Internet, Internet的快速发展的快速发展, , 促进了促进了JavaJava语言研制的进展语言研制的进展, Green, Green项目组成员用项目

5、组成员用JavaJava编制了编制了HotJava HotJava 浏览器浏览器, , 触发了触发了JavaJava进军进军InternetInternet,使得它,使得它逐渐成为逐渐成为InternetInternet上受欢迎的开发与编程语言,现已上受欢迎的开发与编程语言,现已发展成为一种重要的发展成为一种重要的InternetInternet平台。平台。Java风云人物Java著名产品1.2Java的特点SunSun在在JAVA“JAVA“白皮书白皮书”中指出:中指出: JAVA JAVA是一种是一种“简单、简单、面向对象面向对象、分布式、解释型、健壮、安全、体系分布式、解释型、健壮、安全

6、、体系结构中立、可移植、高性能和动态结构中立、可移植、高性能和动态”的编程语言的编程语言对对C+C+进行成功改造进行成功改造 去掉指针去掉指针,取消多重继承和运算符重载,取消多重继承和运算符重载 设立设立自动内存回收自动内存回收 语法和语义都比较单纯,容易学习和使用语法和语义都比较单纯,容易学习和使用提供大量功能丰富的可重用类库简化了提供大量功能丰富的可重用类库简化了 编程工作量编程工作量1.2Java的特点-简单性 JavaJava是是最纯最纯的面向对象语言,对面向的面向对象语言,对面向对象方法学的支持也最全面对象方法学的支持也最全面: :JAVAJAVA对象有模块化性质和信息隐藏能力,对象

7、有模块化性质和信息隐藏能力, 满足面向对象的封装要求;满足面向对象的封装要求;支持继承;支持继承;通过抽象类与接口通过抽象类与接口支持多态支持多态1.2Java的特点-面向对象 数据分布支持:数据分布支持: 通过通过JavaJava的的URLURL类可以访问网上的各类信类可以访问网上的各类信息资源,访问方式完全类似于本地文件系统;息资源,访问方式完全类似于本地文件系统;操作分布支持。操作分布支持。 通过在通过在3W3W页面中的小应用程序(页面中的小应用程序(Applet)Applet)将计算从服务器分布至客户机,避免网络拥挤,将计算从服务器分布至客户机,避免网络拥挤,提高系统效率提高系统效率。

8、1.2Java的特点-分布式编译器编译器编译编译JAVA源程序源程序字节码字节码解释器解释器解释执行解释执行优点优点: 兼具编译执行的效率优势和解释执行的灵活性;兼具编译执行的效率优势和解释执行的灵活性; 提高了应用程序的可移植性:源程序、中间代码提高了应用程序的可移植性:源程序、中间代码1.2Java的特点-半编译,半解释1.2Java的特点-健壮 异常处理是异常处理是JavaJava健壮性的一个方面。健壮性的一个方面。 Java Java提提供早期的编译检查和后期的动态(运行期)检查,供早期的编译检查和后期的动态(运行期)检查,大量消除了引发异常的条件。大量消除了引发异常的条件。 C+C+

9、程序在稳定性方面存在的问题在于其指针的使用程序在稳定性方面存在的问题在于其指针的使用和缺乏自动的内存管理。和缺乏自动的内存管理。JavaJava为此有三个措施:为此有三个措施: Java Java 不支持指针数据类型不支持指针数据类型提供了数组下标的检查机制提供了数组下标的检查机制提供自动内存管理机制,能够自动释放掉不再使提供自动内存管理机制,能够自动释放掉不再使用的存储碎片,使用的存储碎片,使JavaJava程序员不用再担心内存的崩程序员不用再担心内存的崩溃。溃。“一次编程,到处运行一次编程,到处运行”- WORA Write Once, Run Anywhere可移植性源于两方面:可移植性

10、源于两方面: Java的半编译、半解释的特征的半编译、半解释的特征 Java采用标准的独立于硬件平台的数采用标准的独立于硬件平台的数据类型据类型.JAVA源程序源程序JAVA编译器编译器(Pentium).(SPARC)JAVA字节码字节码JAVA解释器解释器.(Pentium).(SPARC)1.2Java的特点-可移植性在语言和运行环境中引入了多级安全措施:在语言和运行环境中引入了多级安全措施:1 1、 JavaJava的的内存分配和引用模型对于程序员透明内存分配和引用模型对于程序员透明, 完全由底层的运行系统控制;完全由底层的运行系统控制;内存布局与内存布局与C C、 C+C+不同,不是

11、由编译器决定,而是不同,不是由编译器决定,而是运行系统根据所在的硬件平台的特性决定;运行系统根据所在的硬件平台的特性决定;取消了取消了C C、C+C+的指针,的指针,JAVAJAVA编译器通过符号指针来编译器通过符号指针来引用内存,由引用内存,由JAVAJAVA运行系统在运行时将符号指针具体运行系统在运行时将符号指针具体解释为实际的内存地址。解释为实际的内存地址。1.2Java的特点-安全性2 2、字节码验证。、字节码验证。 运行系统引入字节码验证器,其中包含简单的运行系统引入字节码验证器,其中包含简单的规则验证程序,以确保遵循下列规则:规则验证程序,以确保遵循下列规则: 不存在伪造的指针;不

12、存在伪造的指针; 未违反访问权限;未违反访问权限; 严格遵循对象访问规范来访问对象;严格遵循对象访问规范来访问对象; 合适的参数调用方法;合适的参数调用方法; 没有栈溢出没有栈溢出1.2Java的特点-安全性 JAVA JAVA在在语言级语言级嵌入对嵌入对并发的支持并发的支持功能,功能, 具体机制就是多线程。线程是比进程更小、更具体机制就是多线程。线程是比进程更小、更 经济的并发执行单位,不拥有单独的内存空间。经济的并发执行单位,不拥有单独的内存空间。 JAVA JAVA中线程的同步采用中线程的同步采用C.A.R.HoareC.A.R.Hoare的临界区的临界区 保护规则。保护规则。 JAVA

13、 JAVA线程执行中被映射到实际的操作系统线程线程执行中被映射到实际的操作系统线程。1.2Java的特点-多线程1.2Java的特点-动态 JAVAJAVA程序的基本组成单元程序的基本组成单元-类是运行时类是运行时动态装载的。使动态装载的。使JAVAJAVA可以动态地维护应用可以动态地维护应用系统及其支持类之间的一致性。系统及其支持类之间的一致性。 Java Java编译生成的字节码与机器代码编译生成的字节码与机器代码十分接近。十分接近。提供即时编译(提供即时编译(Just In TimeJust In Time) 等等措施。措施。1.2Java的特点- 高性能可以直接翻译可以直接翻译成机器码

14、成机器码nJava中没有中没有#include 和和#define 等预处理功能,用等预处理功能,用import语来句包含其它类和包;语来句包含其它类和包;nJava中没有中没有structure,union及及typedef;nJava中没有不属于类成员的函数,没有指针和多重继承中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;只支持单重继承;nJava中禁用中禁用goto,但,但goto还是保留的关键字;还是保留的关键字;nJava中没有操作符重载;中没有操作符重载;nJava中没有全局变量,可以在类中定义公用、静态的数中没有全局变量,可以在类中定义公用、静态的数据成员

15、实现相同功能;据成员实现相同功能;.Java与C+的区别1.3 安装JDK1) 三种平台简介三种平台简介 目前目前Java运行平台主要分为下列运行平台主要分为下列3个版本:个版本: p(Java SE(曾称作(曾称作J2SE)Java标准版或标准版或Java标准平标准平台。台。Java SE提供了标准的提供了标准的JDK开发平台,利用该平台可开发平台,利用该平台可以开发以开发Java桌面应用程序和低端的服务器应用程序,也可桌面应用程序和低端的服务器应用程序,也可以开发以开发Java Applet。pJava EE(曾称作(曾称作J2EE)Java企业版或企业版或Java企业平台,企业平台,可以

16、构建企业级的服务应用。可以构建企业级的服务应用。Java EE平台包含了平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。和企业级消息处理等功能。pJava ME(曾称作(曾称作J2ME)Java微型版或微型版或Java小型平小型平台。台。Java ME是一种很小的是一种很小的Java运行环境,用于嵌入式的运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等消费产品中,如移动电话、掌上电脑或其他无线设备等 。p三种技术的关系三种技术的关系JAVA EEJSP / ServletE

17、JB服务服务JAVA MECLDC、MIDP游戏游戏通讯通讯JAVA SE面向对象面向对象JVM底层支持底层支持基础基础核心核心JDK下载地址:http:/ 安装Java SE平台 1 1 下载下载JDK1.7JDK1.7。 本书将使用针对本书将使用针对WindowWindow操作系统平台的操作系统平台的JDKJDK,因此下载的版因此下载的版本为本为jdk-7-windows-i586-.exe jdk-7-windows-i586-.exe 。2 2 选择安装路径界面。选择安装路径界面。为了便于今后为了便于今后设置环境变量,建议修改默认的安装路径为设置环境变量,建议修改默认的安装路径为:D:

18、jdk1.7 D:jdk1.7 。 “系统属性系统属性”设置界面设置界面 配置Java运行环境以在以在Windows Windows XP/NT/2000XP/NT/2000中的设中的设置为例:置为例:(1)(1)右键桌面我的右键桌面我的电脑图表,点击属电脑图表,点击属性,进入系统属性性,进入系统属性对话框,单击高级对话框,单击高级选项卡下的环境变选项卡下的环境变量按钮如图所示。量按钮如图所示。(2)在“环境变量”设置界面 中,设置 “系统变量”的classpath和path的值。 在“系统变量”框中选择“PathPath”,单击“编辑”按钮,输入“ d:Javajdk1.7bin d:Jav

19、ajdk1.7bin”,追加在后面,用“;”隔开。设置pathpath的含义是告诉操作系统到哪里可以找到JavaJava的编译器等可执行文件的位置。 新建classpathclasspath,设置为“.;D:Javajdk1.7lib.;D:Javajdk1.7lib”(强调“.;.;”不能少,它表示当前目录,分号后面的是类库的路径。 )设置classpathclasspath的含义是告诉操作系统到哪里可以找到编译或解释运行时所需字节代码的位置。配置完成以后可以进入命令提示符窗口输入java java 、javac javac 、java -versionjava -version三条指令。如

20、果都没有问题则配置成功了 。在命令提示符窗口中可以用set pathset path、set classpathset classpath来查看环境变量的设置。参数提示信息参数提示信息 JAVA IDEp这里选择4个具有代表性的开发工具JCreator、Eclipse(Myeclipse)、 NetBeans和IntelliJ IDEA 。第一个是一种初学者很容易上手的Java开发工具,缺点是只能进行简单的程序开发;第二个是一款相当不错的Java集成开发工具,功能强大能胜任各种企业级Java EE的开发,第三个是sun公司自己的,通用性比较强,类库更新快且丰富;IDEA是JetBrains公司

21、的产品,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。 JDK1.6编译器的新规定 和以前版本的编译器有了一个很大的不同,和以前版本的编译器有了一个很大的不同, JDK1.6的编译器javac.exe不再向下兼容,也就,也就是说,是说,如果在编译源文件时没有特别约定的话,如果在编译源文件时没有特别约定的话,用用JDK1.6的编译器生成的字节码只能在安装了的编译器生成的字节码只能在安装了JDK1.6或或JRE1.6的的Java平台环境中运行。平台环境中运行。 可用可用“-source”参数约定字节码适

22、合的参数约定字节码适合的Java平台。如平台。如 javac source 1.2 返回仅仅安装JRE 如果你只想运行别人的如果你只想运行别人的JavaJava程序可程序可以只安装以只安装JavaJava运行环境运行环境JREJRE,JREJRE由由JavaJava虚拟机、虚拟机、JavaJava的核心类以及一些支持文的核心类以及一些支持文件组成。可以登录件组成。可以登录oracleoracle的网站免费下的网站免费下载载JavaJava的的JREJRE。p 由于在命令提示符窗口中调试程序时,必须由于在命令提示符窗口中调试程序时,必须首先进入程序存放的路径,每次进入都很麻烦,首先进入程序存放的

23、路径,每次进入都很麻烦,我们可以设置命令提示符的起始位置为程序所在我们可以设置命令提示符的起始位置为程序所在位置,这样当打开位置,这样当打开“命令提示符命令提示符”窗口时就默认窗口时就默认为程序所在路径了。为程序所在路径了。p具体设置步骤如下:具体设置步骤如下:设置DOS起始位置p首先建立一个你存放首先建立一个你存放java源程序的路径和文件夹,源程序的路径和文件夹,如本书使用的如本书使用的java源程序都存放在为源程序都存放在为“e:java程序程序”文件夹中。文件夹中。p单击单击“开始开始”“所有程序所有程序”“附件附件”“命令命令提示符提示符”,在,在“命令提示符命令提示符”单击右键,选

24、择单击右键,选择“属属性性”菜单,将打开菜单,将打开“命令提示符命令提示符 属性属性”对话框,对话框,如图所示。如图所示。p选择选择“快捷方式快捷方式”选项卡,在选项卡,在“起始位置起始位置”栏输入栏输入“e:java程序程序”,单击,单击“确定确定”按钮即可。按钮即可。“命令提示符属性”对话框p注意:为了不改变系统原来的设置,我们注意:为了不改变系统原来的设置,我们可以在开始菜单中找到可以在开始菜单中找到“命令提示符命令提示符”后后发送快捷方式到桌面,然后进入桌面的发送快捷方式到桌面,然后进入桌面的“命令提示符命令提示符”的属性窗口进行设置即可。的属性窗口进行设置即可。 1.4 Java程序

25、的开发步骤 1 1编写源文件。编写源文件。扩展名必须是扩展名必须是. .javajava。 2 2 . . 编 译编 译 J a v aJ a v a 源 程 序 。源 程 序 。 使 用使 用 J a v aJ a v a 编 译 器编 译 器(javac.exejavac.exe)编译源文件,得到字节码文件。编译源文件,得到字节码文件。 3. 3. 运行运行JavaJava程序。程序。使用使用Java SEJava SE平台中的平台中的JavaJava解释器(解释器(java.exejava.exe)来解释执行字节码文件。来解释执行字节码文件。 1.5一个简单的Java应用程序例1 1编写

26、源文件(Java应用程序的源文件是由若干个书写形式互相独立的类组成)。public class Hello public static void main (String args) System.out.println(这是一个简单的Java应用程序); Student stu=new Student(); stu.speak(We are students); class Student public void speak(String s) System.out.println(s); 1.5一个简单的Java应用程序源文件源文件命名为命名为Hello.javaHello.java 保存

27、至保存至C:chapter1C:chapter1 。 注:良好的编码习惯注:良好的编码习惯 、源文件的命名、源文件的命名 规则规则2 2编译编译JavaJava源程序。源程序。C:chapter1C:chapter1javac javac Hello.java Hello.java 3. 3. 运行运行JavaJava程序。程序。 C:chapter1C:chapter1java Hellojava Hello1.5一个简单的Java应用程序public class Rect double width; double height; double getArea() return sidth*

28、height; class Example1_2 public static void main(String args) Rect rectangle;rectangle=new Rect();rectangle.width=1.819; rectangle.height=1.5;double area=rectangle.getArea();System.out.println(矩形的面积:矩形的面积:+area);1.5一个简单的Java应用程序1编写源文件命名为Rect.java 保存至C:chapter1。2编译Java源程序。 C:chapter1javac Rect.java 3

29、. 运行Java程序。 C:chapter1java Example1_2 注意 (1) 源文件的组成源文件的组成 使用一个文字编辑器,如使用一个文字编辑器,如Edit或记事本,或记事本,来编写源文件。不可使用来编写源文件。不可使用Word编辑器,因编辑器,因它含有不可见字符。它含有不可见字符。 Java是面向对象编程,是面向对象编程,Java应用程序应用程序的源文件是由若干个书写形的源文件是由若干个书写形式互相独立的类组成。式互相独立的类组成。(2) 应用程序的主类 一个一个Java应用程序应用程序必须有一个类含必须有一个类含有有public static void main(String

30、args )方法,称这个类是方法,称这个类是应用程序的主类。args是是main方法的一个参数,是一个字方法的一个参数,是一个字符串类型的数组(符串类型的数组(注意注意String的第一个字的第一个字母是大写的母是大写的),以后会学习怎样使用这),以后会学习怎样使用这个参数。个参数。 (3) 源文件的命名规则 源文件有几个类?源文件有几个类?源文件名=该类类名一个两个以上有有public类?类?没有源文件名=类名之一有有几个有几个public类?类?一个两个以上源文件名=该Public类名 这是不允许的! (4) 良好的编程习惯 在编写程序时,一行最好只写一在编写程序时,一行最好只写一条语句,

31、类体的以方法的大括号最好也条语句,类体的以方法的大括号最好也独占一行,并有明显的缩进。本书在编独占一行,并有明显的缩进。本书在编写代码时,尽量遵守良好的编程习惯。写代码时,尽量遵守良好的编程习惯。 良好的编程习惯对一个优秀的程序良好的编程习惯对一个优秀的程序员是至关重要的!员是至关重要的!1.6 联合编译例例1.3 Circle.javapublic class Circle void printArea(double r) System.out.println(r*r*3.1416926); Rectangle.javapublic class Rectangle void printAre

32、a(double a,double b) System.out.println(a*b); 1.6 联合编译MainClass.javapublic class MainClass public static void main(String args) Circle circle=new Circle(); circle.printArea(100); Rectangle rect=new Rectangle(); rect.printArea(100,65); 1.6 联合编译1编写源文件。编写源文件。 分 别 编 辑 、 保 存 三 个分 别 编 辑 、 保 存 三 个 J a v a

33、源 文 件源 文 件 C i r c l e . j a v a 、Rectangle.java、MainClass.java至至C:chapter1中中 。其中其中MainClass.java是含有主类的是含有主类的Java应用程序的源文件。应用程序的源文件。 2编译编译Java源程序。源程序。C:chapter1javac MainClass.java 编译编译MainClass.java的过程中,的过程中,Java系统会自动地编译系统会自动地编译Circle.java和和Rectangle.java,这是因为应用程序要使用这是因为应用程序要使用Circle.java和和Rectangle

34、.java源文件产生的字节码文件。编源文件产生的字节码文件。编译通过后,译通过后,C:chapter1目录中将会有目录中将会有Cirlce.class 、Rectangle.class和和MainClass.class三个字节码文件。三个字节码文件。 3. 运行运行Java程序。程序。 C:chapter1java MainClass1.7 注释 p编译器忽略注释内容,注释的目的是有利于代码编译器忽略注释内容,注释的目的是有利于代码的维护和阅读,因此给代码增加注释是一个良好的维护和阅读,因此给代码增加注释是一个良好的编程习惯。的编程习惯。Java支持两种格式的注释:单行注支持两种格式的注释:单行注释和多

温馨提示

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

最新文档

评论

0/150

提交评论