1、第一讲 JAVA语言概述,课程安排,总学时:562-15周:周三1-2节、周五5-6节 上机:待定,Tel:13641286037 E-mail: 办公地点:教6楼E615,本讲要点,课程介绍 什么是Java? 我们的学习目标 学习方法指导 学习资料推荐 Java语言概述 Java语言的特点 Java语言程序分类 Java程序开发过程 Java虚拟机,什么是Java?,什么是Java ? 一种编程语言 面向对象的程序设计语言,提供了编译、运行、调试工具。 1991年Sun公司的 “绿色项目” Oak语言产生(Java) 项目失败,但Java活了下来(1995年发布第一个版本JDK1.0)。19
2、98年Java趋于成熟(从那时发布的java版本统称为Java2),什么是Java?,一种软件平台 平台是程序运行的硬件或软件环境,Java平台与大多数其它平台不同,是基于其它软件或硬件的纯软件平台。 JVM:Java虚拟机,是Java平台的基础 Java API:Java应用程序接口,Java API是软件组件的集合,它们提供了很多有用的功能,给编程者提供了极大的方便。,什么是Java?,随着应用范围越来越广,Java演化出三个不同领域的应用平台 J2SE:Java2 Platform, Standard Edition:标准版,桌面系统和低端服务 J2EE:Java2 Platform,
3、Enterprise Edition:企业版,企业级应用 J2ME:Java2 Platform ,Micro Edition:小型版,嵌入式应用开发 与.net简单比较,学习目标,最终目标:Java软件工程师 Java语法、J2se平台基础、面向对象编程思想和方法(Java基础) Java Web开发(简单应用) J2ee企业开发(企业级应用)、J2me(嵌入式应用) 辅助技术:Struts框架和设计模式、JavaScript、XML、SQL语言 开发工具:JDK、JCreater、Eclipes、JBuilder,学习目标,近期目标 在校期间,掌握Java Web应用 本学期目标 本学期,
4、 Java语法、J2se平台基础、面向对象编程思想和方法,培养自学能力。,学习方法指导,奠定Java语法基础 学习Java的第一步是用Java语言来编写程序,熟悉其语法的使用。 注意思考和总结 在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。即便对一个简单的例子也要有耐心去琢磨、调试、改动。 动手写代码 在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己。 在学到一定阶段后,试用学过的东西做些什么。,学习方法指导,培养自学能力 Java API文档 英文地址:http:/ 中文:网上搜索
5、下载 充分利用网络学习资源 使用搜索引擎 加入论坛参与讨论,学习资料推荐,参考书 (1)Java学习笔记,良葛格著, 清华大学出版社,2006.8。 (2)Java编程基础、应用与实例,韩徐明浩 著 武传海译,人民邮电出版社,2005.10。 (3)Java编程思想第3版 ,(美)埃克尔(Eckel,B.) 著 陈昊鹏 等译, 机械工业出版社,2005.5。 (4)Java就业培训教程, 张孝祥 编著, 清华大学出版社,2003.9。 网络学习资源 (1)Java中国开发网-http:/ (2)中文JAVA技术网-http:/- (3)天新网 - 软件开发 - Java开发-http:/ (4
6、)视频教程Java无难事视频教程孙鑫http:/ (5)ChinaJavaW技术论坛http:/ (6)赛迪网技术社区 http:/ (7)SUN中国技术社区 http:/ 简单 风格类似于C+,易上手; 抛弃了C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等; Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。 面向对象 Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,JAVA语言的特点,简单、面向对象、与平台无关 分布式程序设计语言 面向网络的语言,编写网络应用程序 与平台无关、可移植性 “一次写入,到处运行” 健壮、安
7、全、高性能、多线程、动态性等等,Java语言程序分类,Java语言程序分为两类 应用程序(Application) 可通过JVM(JAVA虚拟机)独立运行的程序,package /打包语句import -/包含语句class 类名1 属性定义方法名1() -方法名2() -class 类名2 -,一个程序可包括若干个类,各类之间存在并列、继承和包含关系 这些类通常是在一起协同工作的:每一个类都可能需要创建其他类的对象,并调用类或对象的属性及方法 编译后每个类产生一个 .class文件,Java Application 程序结构,Java Application程序结构:package语句:0个
8、或多个,必须放在文件开始import语句:0个或多个,必须放在所有类定义之前public ClassDefinition(公共类):0个或1个ClassDefinition(非公共类):0个或多个InterfaceDefinition(接口):0个或多个,类个数:至少一个类,最多只能有一个public类。 源文件命名:若有public类,源文件必须按该类命名。 标识符:区分大小写。,Java应用程序(Java Application)类库支持:引用其他类。类定义:定义程序所需的类及接口,包括其内部的变量、方法等。main()方法:应用程序的入口,与标准C中main()函数的地位是一样的。一个应
9、用程序有且只有一个main()方法,main()方法必须包含在一个类中,该类即为应用程序的外部标志。程序注释:与C类似,多行注释/*/、单行注释/及文档注释/*/,第一个Java应用程序,编辑存盘:文件名和公共类名(用public声明)要一致 HelloWorldApp.java 编译程序:javac HelloWorldApp.java 运行程序:java HelloWorldApp 运行结果:Hello World!,public class HelloWorldApp public static void main(String args) System.out.println(“Hel
10、lo World!”); ,第一个Java应用程序(续),声明一个类:public class HelloWorldApp ,类名每个词的第一个字母大写。 一个类中可有很多方法, main方法是运行程序的第一个方法,方法名的第一个字母小写。 System.out.println是向屏幕输出,相当于C中的printf()。,public class HelloWorldApp public static void main(String args) System.out.println(“Hello World!”); ,第二个Java应用程序,class CommArg public stat
11、ic void main(String args)/ 显示命令行传进来的参数int i;if( args.length 0 ) /有命令行参数for( i=0; iargs.length; i+ )System.out.println(“arg“+i+“ = “+argsi);else /没有命令行参数System.out.println(“No arguments!“); ,第二个Java应用程序(续),命令行参数: main( String args ),与标准C中main(int argc, char* argv)相似。字符串的拼接:“arg“ + i + “ = “ + argsi编译
12、程序:javac CommArg.java运行程序(命令行参数获取):java CommArg first second third运行结果:arg0 = firstarg1 = secondarg2 = third,程序书写规范,包、类、变量、方法等命名:要体现各自的含义(1)包名全部小写,io,awt(2)类名第一个字母要大写,HelloWorldApp(3)变量名第一个字母要小写,userName(4)方法名第一个字母要小写,setName 程序书写格式:保证良好的可读性,使程序一目了然。(1)大括号 的使用与对齐 (2)语句段的对齐(3)在语句段之间适当空行,程序书写规范(续),程序注
13、释:帮助了解程序的功能。(1)类注释 (2)变量注释(3)方法注释 (4)语句注释(5)语句段注释,Java程序由类构成。用户在编写程序的过程中要充分利用系统提供的类和方法。 学习用Java语言编写自己所需的类 学习如何利用Java类库中的类和方法 优点: 采用已有的类库编程,可以避免一些从头开始的重复性编程工作 利用类库编程可以提高程序运行的性能 利用类库编程,可以提高程序的可移植性,Java语言程序分类,Java语言程序分为两类 小程序(Applet) 不能独立运行,必须嵌入到网页,由支持JVM的浏览器解释运行,/Java Applet import java.awt.*; import
14、java.applet.*; public class AppletHello extends Applet public void paint(Graphics g)g.drawString(“hello,world!“,20,20); ,Java程序开发过程,开发程序前,进行开发环境配置 安装JDK 选择安装开发工具 JDK记事本等文本编辑工具,可以直接使用JDK环境,用命令方式依次完成编译、运行 JCreater、JBuilder、EClipes等集成开发环境,Java程序开发过程,开发步骤 编写程序源文件 源文件类型名为.java 编译生成字节码文件 生成的字节码文件类型名为.clas
15、s 运行 应用程序运行:通过Java虚拟机独立运行程序 小程序运行:嵌入浏览器中运行,Java程序开发过程,下载安装JDK6.0,JDK6.0 (J2SDK1.6) 从SUN公司网站下载jdk-1_6_0_11-windows-i586-p.exe http:/ 安装:根据提示安装,下载安装JDK6.0,JDK安装目录结构简介 bin javac: Java编译器,用来将java程序编译成字节码文件.class。 java: Java解释器,执行已经转换成字节码的java应用程序。 appletviewer : Java虚拟浏览器, 用来解释嵌到网页中的java小程序。 lib:Java类库
16、jrelib:Java核心类库,JDK环境下程序编译与运行,编写Java应用程序源文件 在D盘创建工作目录exam1(不是必须的) 在工作目录下,使用记事本程序编写文件名为HelloWorld.java 输入程序代码,JDK环境下程序编译与运行,准备编译和运行程序(环境配置)配置环境变量java_home、path和classpath Java_home: 指定JDK的安装目录Path:指定javac(编译命令)、java(解释执行java应用程序命令,)和appletviewer(模拟浏览器执行java小程序命令)的路径 classpath:指定类文件的路径,JDK环境下程序编译与运行,准备
17、编译和运行程序 开始运行(cmd),打开命令窗口 输入d:并回车,将当前盘转至D盘 输入cd exam1并回车,当前目录转至我们的工作目录(源程序所在的目录) 输入javac HelloWorld.java 并回车 输入java HelloWorld 并回车,Applet程序的运行,编写源程序AppletHello.java 内容编译为字节码文件AppletHello.class,import java.awt.*; import java.applet.*; public class AppletHello extends Applet public void paint(Graphics
18、g)g.drawString(“hello,world!“,20,20); ,Applet程序的运行,运行 编写网页文件hello.html,其内容如下:用IE直接打开hello.html或者执行如下命令:appletviewer hello.html,使用集成开发环境开发Java程序,集成开发工具简介 UltraEdit、EditPlus:文本编辑器,适用于初学者,只能编辑,编译和运行需要借助java命令。 Jcreater:功能较为强大,可以编辑、编译、调试运行。初学者使用的工具。 JBuilder:功能强大的集成开发工具,一般用于商业开发中,不适用于初学者。 Eclipes:功能强大的集成开发工具,免费,也常用于商业开发,不适用于初学者。,使用集成开发环境开发Java程序,使用Jcreater编写Java应用程序 编辑 编译 运行,Java虚拟机,JVM(Java Virtual Machine) 是一种利用软件方法来实现硬件功能的虚拟计算机 是Java跨平台的保证 JVM的实现Java运行时系统 嵌入Java运行时系统的应用程序,可以执行Java字节码文件,Java虚拟机保证了Java程序一次编写,处处运行,C程序:编译执行,速度快 JAVA程序:解释执行,速度相对较慢,小结,课程介绍 什么是Java? 学习目标与学习方法 Java语言简介 特点 程序分类 程序开发过程,