1 / 196

Java 语言程序设计

Java 语言程序设计. 上海大学春季学期. 教学参考书. 实践大师: JAVA 2 编程篇 JAVA 2 Programmer ’ s Interactive Workbook 电子工业出版社 文字 JAVA 面向对象程序设计教程 清华大学出版社 Java 语言导学 机械工业出版社. 实验教学指导书. 《JAVA 与 面向对象程序设计实验指导与习题集 》 清华大学出版社. 教学安排. 上课: 周三下午 1~2 节 上机: 周三下午 3~4 节 (第二周开始上机 C420 、 421 ). 学 习 方 法.

lelia
Télécharger la présentation

Java 语言程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java语言程序设计 上海大学春季学期

  2. 教学参考书 • 实践大师:JAVA 2 编程篇JAVA 2 Programmer’s Interactive Workbook电子工业出版社文字 • JAVA 面向对象程序设计教程 清华大学出版社 • Java语言导学 机械工业出版社

  3. 实验教学指导书 《JAVA与 面向对象程序设计实验指导与习题集》 清华大学出版社

  4. 教学安排 上课:周三下午1~2节 上机:周三下午3~4节 (第二周开始上机C420、421)

  5. 学 习 方 法 Not to study, But to learn. 少做笔记,多听、多动手。

  6. 课 程 考 试 平时情况与考试情况相结合 书面考试与上机实验相结合

  7. 第一章 Getting Started • 1. 关于Java技术 • 2 . Java开发工具包的安装与配置 • 3. Java程序的建立、编译与运行 • 4. 程序HelloWorld的分析

  8. 1.1 关于Java技术 IT 界到处都在谈论Java技术,但是Java技术到底是什么?下面我们介绍Java编程语言和Java平台。

  9. 1.1.1 Java编程语言 Java编程语言是一种高级编程语言,它具有如下性质: • 简单 Simple • 稳固 Robust • 高性能 High performance •安全 Secure • 面向对象 Object oriented • 多线程 Multithreaded •动态 Dynamic •分布式Distributed • 与平台无关 Platform independent • 解释 Interpreted •轻便 Portable

  10. 1.1.1 Java编程语言 对于大多数语言,要运行程序,要么编译程序要么解释程序;而Java语言的程序则既要被编译又要被解释。 • 编译程序将Java源程序翻译为字节码(bytecode)程序; • 解释程序Java虚拟机分析并运行字节码程序。 一次编写,处处运行 Write once,run anywhere!

  11. 用Java源程序先被编译、后被解释

  12. 一次编写,处处运行

  13. 1.1.2 Java平台 • 平台(Platform)是程序在其中运行的硬件或软件环境。 • 最流行平台:Windows 2000, Linux, Solaris, MacOS • Java平台:一种运行在其它硬件平台上纯软件 平台,它有两个组件: Java虚拟机(Java VM)和 Java应用编程接口(Java API)

  14. 1.1.2 Java平台 • Java VM是Java平台的基础 • Java API是预先建立的软件组件的集合,提供丰富的功能,如GUI部件。 Java API被分为相关类和接口的库,这些库称为包(package)

  15. Java API和Java VM将程序与硬件分离

  16. 1.1.3 Java技术可以做什么 • Java程序的常见类型是Applet和Application • Java平台的每种完整实现均提供如下功能: • 基本内容:对象、字符串、线程、输入/输出、数据结构、系统属性、日期、时间等; • Applets:与Java applet使用的一组约定; • 连网:URL、传输控制协议(TCP)、用户数据报协议(UDP)套接字和IP地址。 • 国际化:帮助进行本地化的程序。

  17. 1.1.3 Java技术可以做什么 (6) 安全:包括低层和高层安全性,如电子签名、 公共密钥和私有密钥管理、访问控制和证书。 (7) 软件组件:称为Java Beans的组件可以插入现有的组件体系结构。 (8) 对象串行化:通过远程方法调用(Remote Method Invocation, RMI)支持轻型的持久性和通信。 (9) Java数据库连接(JDBC):提供对各种关系数据库的统一访问。

  18. Java 2 SDK

  19. 1.2 Java开发工具包的安装与配置 为了鼓励使用Java语言开发软件,Sun Microsystems公司提供了免费的软件开发工具包(SDK),其中包括编译器、虚拟机、调试器等开发工具,称为Java开发工具包或JDK。Windows版和Solaris版的JDK可以从如下站点下载: http://www.sun.com/products/jdk/1.2/index.html

  20. 1.2 Java开发工具包的安装与配置 安装:执行安装程序,按提示即可。

  21. 1.2 Java开发工具包的安装与配置 路径配置:加入路径C:\jdk1.3\bin SET PATH=%PATH; C:\jdk1.3\bin 环境变量: SET CLASSPATH=%CLASSPATH;.;C:\JDK1.3\Lib

  22. 1.3Java程序的建立、编译与运行 • 创建第一个应用程序:程序HelloWorldApp将显示一句问候语“HelloWorld!”。 • 创建第一个小应用程序:程序HelloWorld也将显示一句问候语“HelloWorld!”。

  23. 1.3.1创建第一个应用程序 Step1:创建源代码文件; Step2:将源代码文件编译为字节码文件; Step3:运行字节码文件

  24. 1.3.1.1 创建源代码文件 启动“记事本”,输入如下代码: public class HelloWorldApp { public static void main(String[] args) { //Display the string. System.out.println("Hello World!"); } } 注意:大小写敏感;文本文件;文件名为<类名>.java

  25. 1.3.1.2 编译源代码文件 • 进入DOS或Command提示符状态; • 转到Java源程序所在目录,如C:\java • 输入如下命令,并回车: javac HelloWorldApp.java 注意:编译成功后将生成字节码文件 HelloWorldApp.class

  26. 1.3.1.3 运行程序 在相同目录下输入如下命令,并回车: java HelloWorldApp

  27. 1.3.2 创建第一个小应用程序 Step1:创建源代码文件; Step2:配套的HTML文件; Step3:将源代码文件编译为字节码文件; Step4:运行程序。

  28. 1.3.2.1 创建源代码文件 启动“记事本”,输入如下代码,并保存为HelloWorld.java import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet { public void paint(Graphics g) { g.drawString("Hello world!", 50, 25); } }

  29. 1.3.2.2 创建相应的HTML文件 在“记事本”,输入如下代码,并保存为Hello.html <HTML> <HEAD> <TITLE> A Simple Program </TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML>

  30. 1.3.2.3 编译源代码文件 • 进入DOS或Command提示符状态; • 转到Java源程序所在目录,如C:\java • 输入如下命令,并回车: javac HelloWorld.java 注意:编译成功后将生成字节码文件 HelloWorld.class

  31. 1.3.2.4 运行程序 输入如下命令,并回车: appletviewer Hello.html

  32. 1.4 程序HelloWorld的分析 既然我们已经编译并运行了第一个Java程序,我们自然想知道它的工作原理。本节我们首先分析HelloWorldApp应用程序,然后再分析HelloWorld小应用程序。

  33. 1.4.1 对应用程序的分析 • 注释: /* 文本 */ /** 文本 */

  34. 1.4.1 对应用程序的分析(续) • 定义类: 类是面向对象语言的基本构件。类是一个“蓝图”,描述此的实例(instance)相关联的状态和行为。当你实例化(instantiate)一个类时,就是创建一个对象,它的状态和行为与此类的其它实例相同。状态由成员变量表示;行为则由方法表示。

  35. 1.4.1 对应用程序的分析(续) • main方法: 每个Java应用程序的入口点都是它的main方法。当运行Java应用程序时,指定要运行的类的名称,Java解释器调用该类中定义的main方法,由main方法控制程序的流程、分配所需资源并运行为此应用程序提供功能的其它方法。

  36. 1.4.1 对应用程序的分析(续) 每个Java应用程序必须声明一个mian方法: public static void main(String[] args) 修饰符: public:允许任何类调用main方法; static:表示main方法与HelloWorldApp类相关联, 而不是在这个类的一个实例上进行操作。 void: 表示main方法不返回任何值。 String:命令行参数。

  37. 1.4.1 对应用程序的分析(续) • 使用类和对象 该程序使用了System类。 System类提供的功能之一是标准输出流。System.out是System类中的out变量的完整名称。应用程序没有实例化System类,而是通过System类直接访问out,这是因为out是类变量,与类相关联,而不与对象相关联。类变量out引用PrintStream类的一个实例。当System类被载入时,它实例化PrintStream类,并为类变量out分配一个新的PrintStream对象,再调用其实例方法:System.out.println(“Hello World!”)

  38. 1.4.2 对小应用程序的分析 •导入类和包 两条import语句分别导入Applet和Graphics类,从而可以引用其它包中的类。如果删除这两行,则须修改程序如下: public class HelloWorld extends java.applet.Applet { public void paint(java.awt.Graphics g) { g.drawString("Hello world!", 50, 25); } }

  39. 1.4.2 对小应用程序的分析 •定义Applet子类 public class HelloWorld extends Applet 关键字extends表示HelloWorld类是Applet类的一个子类。每个小应用程序applet都必须是Applet类的一个子类,从而继承Applet类的功能,从与浏览器通信到GUI。

  40. 1.4.2 对小应用程序的分析 •实现applet的方法 HelloWorld applet只实现了一个方法paint。 与应用程序不同,applet不需要main方法。 Applet应包含在HTML页面中。

  41. 1.4.2 对小应用程序的分析 •运行applet的方法 当支持Java的浏览器遇到<APPLET>标记时,为applet保留屏幕显示空间,将Applet子类装载进它所在的计算机,然后创建Applet子类的一个实例。

  42. 1.5 常见错误 • 编译时错误 路径设置错、文字输入错 • 运行时错误 源文件名与public类名不一致 类的数量 源文件格式

  43. 第二章 基本概念 • 2.1 注释与程序段 注释 // /* */ 分号 ; 程序段 { } 空白

  44. 第二章 基本概念(续) • 2.2 标识符 字母、下划线或$开头的字母、数字、下划线和$构成的字符串。 • 2.3 Java语言的关键字 保留字

  45. 2.4 Java基本数据类型 • 分四大类:逻辑、字符、整数和浮点 共9种基本数据类型 逻辑类型:boolean 字符类型:char和string 整数类型:byte,short,int和long 浮点类型:float和double

  46. 2.6 Java 编程习惯 • 程序可读性 类、接口:通常使用名词,且每个单词的 首字母要大写 方法:可以是动词,首字母小写,其后用大写 字母分隔每个单词 常量:全部大写,单词之间用下划线分隔 变量:同方法,应该避免使用$符号

  47. 第二章 基本概念 • 2.1 注释与程序段 注释 // /* */ 分号 ; 程序段 { } 空白

  48. 第二章 基本概念(续) • 2.2 标识符 字母、下划线或$开头的字母、数字、下划线和$构成的字符串。 • 2.3 Java语言的关键字 保留字

  49. 2.4 Java基本数据类型 • 分四大类:逻辑、字符、整数和浮点 共9种基本数据类型 逻辑类型:boolean 字符类型:char和string 整数类型:byte,short,int和long 浮点类型:float和double

  50. 2.6 Java 编程习惯 • 程序可读性 类、接口:通常使用名词,且每个单词的 首字母要大写 方法:可以是动词,首字母小写,其后用大写 字母分隔每个单词 常量:全部大写,单词之间用下划线分隔 变量:同方法,应该避免使用$符号

More Related