交大JAVA讲义第1章概述.ppt

上传人:xin****828 文档编号:15502238 上传时间:2020-08-13 格式:PPT 页数:32 大小:808.50KB
返回 下载 相关 举报
交大JAVA讲义第1章概述.ppt_第1页
第1页 / 共32页
交大JAVA讲义第1章概述.ppt_第2页
第2页 / 共32页
交大JAVA讲义第1章概述.ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
JAVA程序设计,主讲: 齐开悦 博士 单位: 上海交通大学信息安全学院 时间: 2006.02.16,前言:程序设计语言介绍,程序设计语言 计算机能够识别的信息代码所组成的,能完整、准确和规范地表达人们的意图,并用以指挥或控制计算机完成预定任务的“符号系统” 机器语言 汇编语言 高级语言 BASIC,FORTRAN,PASCAL,C,C+,Java,1.1 JAVA概述(1),Java 历史介绍: Bill Joy:在20世纪70年代末期创立了这种思想 更多的文献: 1990 James Gosling: 拟开发先进软件系统的研究计划 (1990) Patrick Naughton: 绿色项目 (1990) Oak :开发消费性电器的利器 (1991.8) Oak(此研究计划最初的代称): 一种由Sun公司开发的面向对象的编程语言 1993: 设计一种盒子作为远程控件 1994: Web浏览器,称为 HotJava浏览器,1.1.1 Java 历史介绍,Green Project,1991,James Gosling,Oak,1995,1.1.2 Java 版本演变,Java 1.0,Java 1.1,Java 1.2,Java 1.3,Java 1.4,Java 1.5 (Java 5.0),Java 1,Java 2,1.1.3认证,SCJP : Sun公司对Java平台的程序员认证 SCJD : Sun公司对Java平台的开发者认证 SCEA: Sun公司对J2EE技术的企业架构师认证,1.1.4 Java 语言的应用前景,所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。 计算过程的可视化、可操作化的软件的开发。 动态画面的设计,包括图形图像的调用。 交互操作的设计(选择交互、定向交互、控制流程等)。 Internet 的系统管理功能模块的设计,包括 Web 页面的动态设计、管理和交互操作设计等。 Intranet(企业内部网)上的软件开发(直接面向企业内部用户的软件)。 与各类数据库连接查询的 SQL 语句实现。 其他应用类型的程序。,1.1.5 Java 语言的特点,简单 面向对象 分布性 鲁棒性 安全性 体系结构中立 可移植性 解释执行 高性能 多线程 动态性,1.1.6 Java和C、C+,对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C+相同的传统,使得熟悉C、C+的程序员能很方便地进行编程。同时,Java为了实现其简单、鲁棒、安全等特性,也摒弃了C和C+中许多不合理的内容,1.1.7 Java 的分类,J2SE (Java 2 Standard Edition),J2EE (Java 2 Enterprise Edition),J2ME (Java 2 Micro Edition),同一个版本的 Java,又分为三种套餐,标准版 (Standard Edition) 开发用户端程序,企业版 (Enterprise Edition) 开发服务器端程序,微型版 (Micro Edition) 开发手机无线设备程序,1.1.8 常見的 Java IDE(一),Java语言和其它高级语言一样需要有一个编程环境。为此,首先要安装Java平台,然后在该平台上应用Java的编译系统进行编程。,常見的 Java IDE(二),Borland 最受欢迎之 Java开发商业软件,IBM 最受欢迎之 Open Source Java商业软件,Sun Java 官方 IDE,常見的 Java IDE(三),毫无疑问,使用集成开发环境有很多的优点,无论是在调试程序的过程中,还是编译运行程序都方便很多,所以一般的程序员都会选择一个集成开发环境来开发程序。 著名的Java集成开发环境还有IBM公司的Visual Age For Java、Microsoft公司的VJ+等。 对于初学者而言,集成开发环境的界面不能太复杂。适合于初学者学习的,应该是界面简单一些,最好是不需要对开发环境做很多的设置的软件。,1.2 Java开发平台及实例,1.2.1 Java平台概述 Java平台由Java应用编程接口(Application Programming Interface,简称API)和Java虚拟机(Java virtual machine ,简称JVM)构成。 Java应用编程接口是已编译的可在我们的程序中使用的代码库。它们使我们能够添加现成的可定制的功能,以节约编程时间。 般认为,Java虚拟机是建立在实际的处理器基础上的假想的计算机。Java虚拟机规范为Java虚拟机(JVM)作了如下定义:在真实机器中用软件模拟实现的一种想象机器。Java虚拟机代码被存储在.class文件中;每个文件都包含最多一个public类。,Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台,因为编译是针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟并运行于各种现存的计算机系统,也可用硬件来实现。 Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统,1.2.2 Java平台的安装,开始编写Java 程序前,需要在我们的计算机系统中安装 Java 平台。 Java 平台可从 网站免费下载,该网站上提供了免费的Java开发工具集(Java Developers Kits,简称JDK),我们可以在这里下载适合于我们计算机操作系统的JDK,利用这些工具来开发Java程序,下載 JDK,1.2.3 第一个Java Application程序,1 编辑源程序 我们可以不采用任何集成开发环境,只是采用文本编辑器就可以编写简短的Java程序。 【例2.1】 第一个Java Application程序 /MyFirstApp.java public class MyFirstApp public static void main(String args ) System.out.println(This is my first Java Application!); ,本程序的作用是输出下面一行信息: This is my first Java Application! 在一个Java Application应用程序中,一定要有一个类包含main方法。而在本范例中,首先用保留字class来声明一个新的类,其类名为MyFirstApp,它是一个公共类(public)。整个类定义由大括号括起来。在该类中定义了一个main方法,这个方法共有三个修饰语,其意义分别如下: (1)public:表示这个类的main方法可以被所有的对象使用。 (2)static:指明该方法是一个类方法,它可以通过类名直接调用,表示main是属于这个类所使用的方法,我们将之称为“静态方法”。,(3)void:表示main方法执行后不会传回任何值。这一点是重要的,因为Java编程语言要进行谨慎的类型检查,包括检查调用的方法确实返回了这些方法所声明的类型。 对于一个应用程序来说,main方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main方法也只能有一个,作为程序的入口。main方法定义中,括号中的String args是传递给main方法的参数,参数名为args,它是String类的一个实例。参数可以为0个或多个,每个参数用“类名 参数名”来指定,多个参数间用逗号分隔。,对于本程序,还有以下值得注意的地方: (1)在main方法中,只有一条语句: System.out.println(This is my first Java Application!); 它用来实现字符串的输出,这条语句实现与C语言中的printf语句相同的功能。这里实际上是利用Java应用编程接口(API)向控制台打印输出一行文字。API中已经有了可以使用的控制台打印功能,我们只需要提供要打印的文字。 这行程序所做的事是使用由System类的out成员引用的PrintStream类的out对象的println方法,将字串“This is my first Java Application!”打印到标准输出上。,(2)语句 System.out.println(This is my first Java Application!); 的最后有一个分号(;),在Java编程语言中,一个“;”代表一个语句的结束。 例如语句 totals=a+b+c+d+e+f+g; 与语句 total=a+b+c+ d+e+f+g; 是等价的。,(3)在程序中出现了大括号(“”和“”),它们是成对出现的,以 为边界的语句集合称为一个块(block)。 语句块可被嵌套,在本例中,MyFirstApp类是一个语句块;MyFirstApp类由main方法构成,main这个方法也是一个语句块,它是一个独立单元,单元本身又作为类MyFirstApp块中一部分。 (4)为了增强程序的可读性,在程序中有多处空格,这不影响程序的执行。 Java程序中允许任意多的空白。,(5)在本程序中第一行“/”后的内容为注释,进行编译时,这一行的从“/”开始的所有内容会被忽略。 Java里有两种类型的注释。第一种是传统的、C语言风格的注释,是从C+继承而来的。这些注释用一个“/*”起头,随后是注释内容,并可跨越多行,最后用一个“*/”结束;第二种类型的注释也起源于C+,这种注释叫作“单行注释”,以一个“/”起头,表示这一行的从“/”开始的所有内容都是注释,这种类型的注释更常用,因为它书写时更方便。,(6)程序名为MyFirstApp.java,和公共类的类名相同(包括大小写都一致,唯一不同的地方就是程序名有扩展名.java而类名没有扩展名),这是因为Java解释器要求公共类必须放在与其同名的文件中。,1.2.4 字节码的编译生成 程序必需转换为Java虚拟机能够理解的形式,这样,任何安装有Java虚拟机的计算机就可以解释并运行该程序。编译Java程序是指:提取程序文件中程序员可读的文本(亦称源代码)并把它转换成字节码,字节码是提供给Java虚拟机的与平台无关的指令。Java编译器是通过外壳操作系统中的命令行进行调用的,下面对该程序进行编译,命令行调用命令为: C:javac MyFirstApp.java,其中,“javac”是JDK工具包中提供的Java语言编译器,输出结果为Java字节码。编译的结果是生成字节码文件MyFirstApp.class。 需要留意的是,使用javac这个指令并没有打开Java编译器里的侦错功能,所以你无法在它编译出来的字节码文件中找到与程序侦错有关的数据信息。除非你用另外一个指令javac-g,它的编译结果除了字节码文件外还会附带一些有用的除错资料,可提供程序侦错时用。事实上“javac”提供了一些指令参数供使用者编译时选用,各个参数代表不同的功能,以下是常用的几个:,(1)-calsspath :告知编译器何处去引用其他的类型对象。这个设定会取代你原先在开机执行文件里已说明过的环境变量CLASSPATH。 (2)-d :指示编译器将编译后的执行码存放在特定的目录下,在这里要使用绝对路径。 (3)-g:启动侦错功能。,1.2.5 字节码的解释与运行 现在可以运行该程序了,用Java解释器来运行该字节码文件: C:java MyFirstApp 其中,java是JDK工具包中提供的java解释器。我们需留意的是,在这个指令行中文件名称不须附上扩展名“.class”,因为解释器本身会自行加入。,源代码,公共类必须放在与其同名的文件中 / HelloWorldApp.java import java.util.*; 导入程序包 public class HelloWorldApp public static void main(String args) System.out.println(“Hello, world!”); 类方法,通过类名可直接调用 参数(引数)列表 程序入口,整个程序只能有一个 main() 所有的类都可用此方法 类System提供程序访问系统资源的方法. System.in 代表键盘,System.out 代表监视器,注释,1.2.6 编译和运行,安装 JDK: 设置 PATH=c:j2sdk1.4.1_01bin; 编译: javac HelloWorldApp.java 字节码: HelloWorldApp.class 运行: java HelloWorldApp 反编译: javap HelloWorldApp,本章小结,Java语言是一个广泛使用的面向对象的网络编程语言,正在为越来越多的人接受。Java语言最吸引人的地方就是它的可移植性。传统的软件往往都是与具体的实现环境有关,换了一个环境就需要作一番改动,耗时费力,而Java语言能在执行码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只要所用的机器能提供Java语言解释器即可。 另外,需要强调的是,Java提供了丰富的类库,我们只是讲解了最简单的Java程序的示例,就已经接触到了Java的类库。可以说离开类库,Java程序设计者将寸步难行。所以建议大家在清楚掌握了基本概念的基础上,尽量加深对Java类库的了解。,
展开阅读全文
相关资源
相关搜索

最新文档


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


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

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


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