第1章 JAVA语言基础_1_第1页
第1章 JAVA语言基础_1_第2页
第1章 JAVA语言基础_1_第3页
第1章 JAVA语言基础_1_第4页
第1章 JAVA语言基础_1_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、1/52 java 语言程序设计 软件教研室 姜海岚2/52 课程说明课程说明n本课为考试课n每周4节课,共17周。n其中平时成绩(占20)评定为:实验占10分,作业占5分,其它(考勤、课堂)占5分;考试(占80) 3/52 课程说明课程说明n关于作业:每周一次n关于考勤:按学校规定。n关于实验:请及时认真填写。4/52 期待您的意见与建议期待您的意见与建议n 真诚期待您对我的工作提出批评与建议,我也非常希望您随时与我沟通。联系方式:1、2、办公室 :44103、mobile:131730058075/52 关于反馈与建议关于反馈与建议n本课程原则上每月进行一次无记名反馈调查。调查内容:授课方

2、式、教课内容、教课方式、态度、备课等。以便我及时改进。n反馈信息由课代表同学收集整理。n请课代表同学协助我做好这项工作。 谢谢!谢谢!6/52 关于本课的授课方式与期望关于本课的授课方式与期望n课本内容讲授与上机相结合。n如时间允许,我将邀请有关软件开发公司的技术人员给大家座谈。7/52 一些学习网站及学习资料一些学习网站及学习资料nhttp:/nhttp:/ JAVA JAVA语言概述语言概述 第一章第一章9/52目标目标了解Java语言的发展历史了解Java语言的特点了解Java语言与C+语言的不同之处掌握安装并设置Java开发平台掌握Java程序的组成结构掌握使用集成开发环境编写Java

3、程序的方法 10/521.11.1计算机编程语言计算机编程语言n计算机语言可以分为3大类:机器语言、汇编语言和高级语言。 n机器语言:计算机唯一识别的语言。n汇编语言:符号化的机器语言,翻译后才能被机器语言识别。n机器语言、汇编语言都属于低级语言。11/52n高级语言:采用类似自然英语及教学符号来书写语句,组成程序。n面向用户的语言,使用一条简单的高级语言语句就可以完成由许多条汇编语句才能完成的任务。n需通过编译程序编译程序转化为机器语言机器语言才能执行,n易于维护,不受某一机器类型的限制,几乎可以不加修改地用于不同计算机。12/52n高级语言程序的翻译和执行方法可归类为两大基本技术:编译执行

4、和解释执行。n编译执行:编译执行:“源程序源程序”-”目标程序目标程序”(可执行程序) -执行执行 执行效率高执行效率高n解释执行:解释执行:“源程序源程序”-解释、执行解释、执行执行效率低,灵活,可以动态地调整、修改应用执行效率低,灵活,可以动态地调整、修改应用程序程序13/52表表 1.1. 一个语句的三种表示一个语句的三种表示编程语编程语言言表示形式表示形式C语言a=b+1;汇编语言mov0 x804a01c,%eaxadd$0 x1,%eaxmov%eax,0 x804a018机器语言a11ca0040883c001a318a0040814/52n你知道其他的编程语言 c,c+,vis

5、ual basic 是怎样执行的吗?nJava是解释执行的语言。15/521.2 Java语言的发展语言的发展 JavaJava语言来自语言来自SunSun公司的公司的GreenGreen项目。项目。19911991年年由由James GoslingJames Gosling负责开发的一个分布式代负责开发的一个分布式代码系统(码系统(OakOak),),最初是为家用消费电子产最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制品(电冰箱、电视机等)进行编程控制 。 19941994年网络蓬勃发展,将年网络蓬勃发展,将OakOak语言更名为语言更名为JavaJava。向网络进军。向网络进军。

6、 19951995年年JavaJava被正式发布,之后立即引起极大被正式发布,之后立即引起极大的轰动。的轰动。 16/52 Java的版本的版本n随着Java技术的不断发展,它根据市场进一步细分为以下3个版本: 1、 针对企业级e-Business架构和Web服务开发与应用的平台J2EE(Java 2 Enterprise Edition); 2、 针对普通PC应用的Java开发平台J2SE(Java 2 Standard Edition); 3、针对嵌入式设备及消费类电器(如手机、智能卡等)的开发平台J2ME(Java 2 Micro Edition)17/52Java的地位的地位许多大公司

7、购买了Java的许可证(IBM、Adobe)。 众多软件开发商开始支持Java软件产品。面向对象的应用开发。Intranet(企业内部网)成为企业信息系统最佳解决方案。18/52 Java的应用的应用n安全的网络程序;n图像处理;n多媒体;nWeb客户机、服务器n企业级系统n交互操作的设计;(选择交互、定向交互、控制流程等)n移动19/52 Java语言的特点语言的特点2-1简单性面向对象分布式处理健壮性结构中立安全性v系统精简,但功能齐备。系统精简,但功能齐备。 v风格类似于风格类似于C+C+,对对C+C+程程序员而言非常容易掌握。序员而言非常容易掌握。 vJavaJava摒弃了摒弃了C+C

8、+中容易引发中容易引发程序错误的地方,如指针操程序错误的地方,如指针操作和内存管理;作和内存管理;v提供丰富的类库。提供丰富的类库。 完全是面向对象的,完全是面向对象的,它不支持类似它不支持类似C C语言那语言那样的面向过程的程序样的面向过程的程序设计技术。设计技术。 支持支持TCP/IPTCP/IP协议。协议。JavaJava应应用程序可通过一个特定的用程序可通过一个特定的URLURL来打开并访问对象,来打开并访问对象,就像访问本地文件系统那就像访问本地文件系统那样简单。样简单。 v提供面向对象的异常处理机制,提供面向对象的异常处理机制,在编译时能对在编译时能对NullNull对象检测、数对

9、象检测、数组边界检测、异常出口字节代码组边界检测、异常出口字节代码校验等。校验等。v自动垃圾收集来进行内存管理。自动垃圾收集来进行内存管理。 将源程序编译成一种结构将源程序编译成一种结构中立的中间文件格式。只中立的中间文件格式。只要有要有JavaJava运行系统的机器运行系统的机器都能执行这种中间代码。都能执行这种中间代码。 vJavaJava语言提供的安全。语言提供的安全。 v编译器提供的安全。编译器提供的安全。 v字节码校验。字节码校验。v类装载。类装载。 20/52 Java语言的特点语言的特点2-2平台无关性平台无关性解释性高性能多线程动态JavaJava应用程序可以在配备了应用程序可

10、以在配备了JavaJava解释器和运行环境的任解释器和运行环境的任何计算机系统上运行,而与何计算机系统上运行,而与体系结构无关。体系结构无关。 JavaJava编译器将编译器将javajava源文件生源文件生成类文件成类文件. .classclass,类文件可类文件可通过通过javajava命令命令解释执行,将解释执行,将JavaJava字节码转换为机器码。字节码转换为机器码。 JITJIT编译器。可编译器。可以提高以提高 Java Java 代代码的执行速度。码的执行速度。 内置多线程功能,使得在一内置多线程功能,使得在一个程序里可同时执行多个小个程序里可同时执行多个小任务。带来的好处是更好

11、的任务。带来的好处是更好的交互性和实时控制性。交互性和实时控制性。 允许程序动态地装入运行过允许程序动态地装入运行过程中所需要的类,这是程中所需要的类,这是C+C+语言进行面向对象程序设计语言进行面向对象程序设计所无法实现的。所无法实现的。 21/52 Java与与C+的比较的比较项目JavaC+全局变量 不存在全局变量 存在数据类型和转换 无结构、枚举或者联合,转换时进行类型相容检查 通过指针进行任意的类型转换,带来不安全性 范围运算符 无作用域范围运算符: 有数组 对象,有只读的length 无length内存管理可创建不属于基本数据类型的对象 不能提前声明不必进行提前声明 必须预处理 没

12、有预处理机制 有头文件 import include指针 无有goto和virtual 无有注释文档 对注释文档的内建支持 无22/52Java虚拟机虚拟机 Java程序工作机制程序工作机制4-1编编 译译 时时.java( 源源 代代 码码 ).class( 字字 节节 码码 )运运 行行 时时类类 加加 载载 器器字字 节节 码码 校校 验验 器器解解 释释 器器JIT代代 码码 生生成成 器器硬硬 件件网网 络络23/52 说明说明1、nJava是解释执行的编程语言,也需要对源程序进行编译。nJava程序编译后不生成可执行文件,而是生成一种称为字节码(Byte Code)的中间格式文件,

13、这种字节码文件的后缀名是.class 。且平台无关。24/52说明说明2、Java虚拟机虚拟机n实现平台无关性的基础就是Java虚拟机,是以Java字节码为指令组的软CPU。负责对本地*.class文件解释执行。n包含类加载器、字节确认器、以及JIT实时编译器。 类加载器类加载器:用来取得从网络或本地的类文件。 字节确认器字节确认器:确认类文件是否有正确的格式。 JITJIT:使虚拟机能提高到编译式的运行效率使虚拟机能提高到编译式的运行效率。 25/52说明说明3、字节码字节码n*.class文件与机器码不同,不是真正的CPU可运行的指令代码,故又称伪代码。n通过JVM以及JRE将其转成本地机

14、器代码,达到一次撰写,到处运行的效益。 n(Write Write OnceOnce,RunRun Anywhere Anywhere) 26/52说明说明4、垃圾收集、垃圾收集虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。另一个堆内存,用于垃圾收集的算法适用于存放在动态堆内存中的对象。垃圾收集器在收集对象前调用finalize方法。显式调用垃圾收集(System.gc()方法,不能保证立即运行,因为其优先级很低。27/52 问题问题n我们知道解释执行的编程语言的效率不高,而Java是解释执行的,那它如何保证高效的执行效率

15、呢?28/52 关于关于j2 sdkn最早的Java版本jdk1.0于1996年推出随之jdk1.1,jdk1.5等版本1999年升级为1.2版,并称为Java 22000年发布Java 2 的1.3版本2002年发布Java 2 的1.4版本到了1.5时版本改为5.0,最新的为7.0.最后随着市场进一步细化为三个版本: J2SE、J2ME、J2EE29/52 1.3 Java程序的开发和运行环境程序的开发和运行环境nj2sdk可以在Sun公司的网站(http:/)免费下载,http:/ 30/52 J2SE家族家族31/52开发工具与开发步骤开发工具与开发步骤 安装Java 2 SDK开发工

16、具:如 jdk-6u5-windows-i586-p。n安装后各文件夹简介:nBin:二进制可执行程序放在该目录下 javac 编译器 java解释器(启动java虚拟机)nDemo:提供JAVA的实例程序,可参考nLib:类库32/52设置环境变量: path=javac和java命令所在的目录。 即 c:jdk1.4.2_08bin classpath=存放字节码文件(类文件)的目录。nSET PATH=c:jdk1.4.2_05bin;%PATH%nSET CLASSPATH=d:java;.;%CLASSPATH%Java2 SDK简介及使用 Java程序的集成开发环境: eclips

17、e、jbuilder的安装配置及使用。 33/52n在J2SDK的bin目录下,存放着Java 2提供的一些可执行程序,为我们开发和测试Java程序提供了工具。在我们的学习中,常用的JDK开 发工具有如下几种:(1) javac.exe:Java语言的编译器。 (2)java.exe: 执行编译程序的虚拟机器 (Virtual Machine)。 (3) appletviewer:小应用程序浏览器。 34/52在Java中可以编写两类程序: 应用程序(java applications) 小应用程序( Java Applet )1.4 Java程序举例程序举例35/52n应用程序应用程序: :

18、 是可以在控制台上直接运行的程序,是可以在控制台上直接运行的程序,在创建应用程序时,在创建应用程序时,JavaJava与其他高级编程与其他高级编程语言没有太大区别,而语言没有太大区别,而JavaJava的特色就在于的特色就在于它具有编制小应用程序的功能它具有编制小应用程序的功能。36/52n小应用程序小应用程序: : 可以在可以在InternetInternet中传输并在兼容中传输并在兼容JavaJava的的WebWeb浏浏览器中运行的应用程序。小应用程序实际上就是览器中运行的应用程序。小应用程序实际上就是小型的小型的JavaJava程序,能像图像文件、声音文件和视程序,能像图像文件、声音文件

19、和视频片段那样通过网络动态下载,它与其他文件的频片段那样通过网络动态下载,它与其他文件的重要差别是,小应用程序是一个智能的程序,能重要差别是,小应用程序是一个智能的程序,能对用户的输入作出反应,并且能动态变化,而不对用户的输入作出反应,并且能动态变化,而不是一遍又一遍地播放同一动画或声音。是一遍又一遍地播放同一动画或声音。示例示例: :聊天室聊天室37/52浏览浏览SDK 自带的自带的Applet 应用小程序应用小程序在下载的j2sdk1.4.2_01demoappletsClock 文件夹中用浏览器打开网页文件example1.html,n就可以看到一个嵌入到Web 页面的Applet 开始

20、运行,一个模拟时钟出现在网页上38/52 1.4.1 应用程序的基本框架应用程序的基本框架npublic class App1 n public static void main(String args) n /在这里添加要执行的程序代码。n n39/52Java应用程序举例应用程序举例2-1/这是文件名为这是文件名为“HelloWorld.java”的简单应用程序的简单应用程序import java.io.*; / 引入包引入包public class HelloWorld / 定义类定义类public static void main(String args) / main方法方法 Sys

21、tem.out.println(“欢迎来到欢迎来到Java世界!世界!”); / 输出数据输出数据 定义类的定义类的关键字关键字 类名类名 必须这么必须这么写写 40/52保存并运行保存并运行2-2以以javajava为扩展为扩展名,保存时注名,保存时注意类型。意类型。 41/52 1.4.2 Java小应用程序小应用程序nJava小应用程序,也称Java小程序,它不是能独立运行的Java程序,而是通过支持Java的浏览器来运行的Java程序。n如何运行Java小程序? 小程序不能独立运行。Java小程序的字节码文件是嵌入HTML文档中,通过支持Java的浏览器来运行的。42/52 Java小

22、应用程序举例小应用程序举例2-1/* HelloToJava.java */import java.awt.Graphics;import java.applet.*;public class HelloToJava extends Applet public String sHello; public void init() sHello=欢迎来到欢迎来到Java世界!世界!; public void paint(Graphics g) g.drawString(sHello, 50, 50);文档注释,可以文档注释,可以使用使用javadocjavadoc命命令生成令生成HTMLHTML帮

23、助帮助文件。文件。 装入系统装入系统类库。类库。 43/52保存并运行保存并运行2-2将上页文件保存为将上页文件保存为HelloToJava.java( (必须必须) )。 将文件保存为将文件保存为* *. .htmhtm或或HelloToJavaHelloToJava. .htmlhtml文件。文件。首先将首先将HelloToJava.javaHelloToJava.java文件进行编译文件进行编译 (javacjavac命令)。命令)。 javac HelloToJava.java然后使用然后使用 appletviewer HelloToJava.html 查看效果。查看效果。44/52t

24、ip1:编写嵌入编写嵌入Java小程序字节码文件的小程序字节码文件的HTML文档文档通过HTML的标记符可以把编译形成的字节码文件HelloToJava.class嵌入到HTML文档中。基本形式为:n其中,code属性指明了所要加载的字节码文件,它与网页在同一个文件夹下;width和height属性分别给出了Applet显示区域的宽和高,单位为像素。45/52 tip2:Java小程序的运行小程序的运行n编好HTML文档后,通过支持Java的网页浏览器打开HTML文档即可运行小程序 。n也可以通过也可以通过appletviewer命令查看嵌入网页命令查看嵌入网页page1.htm中的小程序中的

25、小程序App2.class的运行结的运行结果,在命令行键入果,在命令行键入appletviewer page1.htm46/52 tip3:对小应用程序的说明对小应用程序的说明1、类的继承 extend2、包和包中类的导入。 import 包名.类名Java有哪些包呢? 请打开书p147,详细说明参见jdk api47/523、java小程序的init和paint方法Init()方法:由Java虚拟机自动调用,程序运行后,首先执行该方法完成小程序的初始化工作。 paint()方法:进行绘图。Graphics类:用于小程序界面绘制字符串、绘制各种图形和图像等。 48/52 Java程序结构程序结构 (1 1)至多有一个)至多有一个

温馨提示

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

评论

0/150

提交评论