1.97k likes | 2.33k Views
Java 语言程序设计. 上海大学春季学期. 教学参考书. 实践大师: JAVA 2 编程篇 JAVA 2 Programmer ’ s Interactive Workbook 电子工业出版社 文字 JAVA 面向对象程序设计教程 清华大学出版社 Java 语言导学 机械工业出版社. 实验教学指导书. 《JAVA 与 面向对象程序设计实验指导与习题集 》 清华大学出版社. 教学安排. 上课: 周三下午 1~2 节 上机: 周三下午 3~4 节 (第二周开始上机 C420 、 421 ). 学 习 方 法.
E N D
Java语言程序设计 上海大学春季学期
教学参考书 • 实践大师:JAVA 2 编程篇JAVA 2 Programmer’s Interactive Workbook电子工业出版社文字 • JAVA 面向对象程序设计教程 清华大学出版社 • Java语言导学 机械工业出版社
实验教学指导书 《JAVA与 面向对象程序设计实验指导与习题集》 清华大学出版社
教学安排 上课:周三下午1~2节 上机:周三下午3~4节 (第二周开始上机C420、421)
学 习 方 法 Not to study, But to learn. 少做笔记,多听、多动手。
课 程 考 试 平时情况与考试情况相结合 书面考试与上机实验相结合
第一章 Getting Started • 1. 关于Java技术 • 2 . Java开发工具包的安装与配置 • 3. Java程序的建立、编译与运行 • 4. 程序HelloWorld的分析
1.1 关于Java技术 IT 界到处都在谈论Java技术,但是Java技术到底是什么?下面我们介绍Java编程语言和Java平台。
1.1.1 Java编程语言 Java编程语言是一种高级编程语言,它具有如下性质: • 简单 Simple • 稳固 Robust • 高性能 High performance •安全 Secure • 面向对象 Object oriented • 多线程 Multithreaded •动态 Dynamic •分布式Distributed • 与平台无关 Platform independent • 解释 Interpreted •轻便 Portable
1.1.1 Java编程语言 对于大多数语言,要运行程序,要么编译程序要么解释程序;而Java语言的程序则既要被编译又要被解释。 • 编译程序将Java源程序翻译为字节码(bytecode)程序; • 解释程序Java虚拟机分析并运行字节码程序。 一次编写,处处运行 Write once,run anywhere!
1.1.2 Java平台 • 平台(Platform)是程序在其中运行的硬件或软件环境。 • 最流行平台:Windows 2000, Linux, Solaris, MacOS • Java平台:一种运行在其它硬件平台上纯软件 平台,它有两个组件: Java虚拟机(Java VM)和 Java应用编程接口(Java API)
1.1.2 Java平台 • Java VM是Java平台的基础 • Java API是预先建立的软件组件的集合,提供丰富的功能,如GUI部件。 Java API被分为相关类和接口的库,这些库称为包(package)
1.1.3 Java技术可以做什么 • Java程序的常见类型是Applet和Application • Java平台的每种完整实现均提供如下功能: • 基本内容:对象、字符串、线程、输入/输出、数据结构、系统属性、日期、时间等; • Applets:与Java applet使用的一组约定; • 连网:URL、传输控制协议(TCP)、用户数据报协议(UDP)套接字和IP地址。 • 国际化:帮助进行本地化的程序。
1.1.3 Java技术可以做什么 (6) 安全:包括低层和高层安全性,如电子签名、 公共密钥和私有密钥管理、访问控制和证书。 (7) 软件组件:称为Java Beans的组件可以插入现有的组件体系结构。 (8) 对象串行化:通过远程方法调用(Remote Method Invocation, RMI)支持轻型的持久性和通信。 (9) Java数据库连接(JDBC):提供对各种关系数据库的统一访问。
1.2 Java开发工具包的安装与配置 为了鼓励使用Java语言开发软件,Sun Microsystems公司提供了免费的软件开发工具包(SDK),其中包括编译器、虚拟机、调试器等开发工具,称为Java开发工具包或JDK。Windows版和Solaris版的JDK可以从如下站点下载: http://www.sun.com/products/jdk/1.2/index.html
1.2 Java开发工具包的安装与配置 安装:执行安装程序,按提示即可。
1.2 Java开发工具包的安装与配置 路径配置:加入路径C:\jdk1.3\bin SET PATH=%PATH; C:\jdk1.3\bin 环境变量: SET CLASSPATH=%CLASSPATH;.;C:\JDK1.3\Lib
1.3Java程序的建立、编译与运行 • 创建第一个应用程序:程序HelloWorldApp将显示一句问候语“HelloWorld!”。 • 创建第一个小应用程序:程序HelloWorld也将显示一句问候语“HelloWorld!”。
1.3.1创建第一个应用程序 Step1:创建源代码文件; Step2:将源代码文件编译为字节码文件; Step3:运行字节码文件
1.3.1.1 创建源代码文件 启动“记事本”,输入如下代码: public class HelloWorldApp { public static void main(String[] args) { //Display the string. System.out.println("Hello World!"); } } 注意:大小写敏感;文本文件;文件名为<类名>.java
1.3.1.2 编译源代码文件 • 进入DOS或Command提示符状态; • 转到Java源程序所在目录,如C:\java • 输入如下命令,并回车: javac HelloWorldApp.java 注意:编译成功后将生成字节码文件 HelloWorldApp.class
1.3.1.3 运行程序 在相同目录下输入如下命令,并回车: java HelloWorldApp
1.3.2 创建第一个小应用程序 Step1:创建源代码文件; Step2:配套的HTML文件; Step3:将源代码文件编译为字节码文件; Step4:运行程序。
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); } }
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>
1.3.2.3 编译源代码文件 • 进入DOS或Command提示符状态; • 转到Java源程序所在目录,如C:\java • 输入如下命令,并回车: javac HelloWorld.java 注意:编译成功后将生成字节码文件 HelloWorld.class
1.3.2.4 运行程序 输入如下命令,并回车: appletviewer Hello.html
1.4 程序HelloWorld的分析 既然我们已经编译并运行了第一个Java程序,我们自然想知道它的工作原理。本节我们首先分析HelloWorldApp应用程序,然后再分析HelloWorld小应用程序。
1.4.1 对应用程序的分析 • 注释: /* 文本 */ /** 文本 */
1.4.1 对应用程序的分析(续) • 定义类: 类是面向对象语言的基本构件。类是一个“蓝图”,描述此的实例(instance)相关联的状态和行为。当你实例化(instantiate)一个类时,就是创建一个对象,它的状态和行为与此类的其它实例相同。状态由成员变量表示;行为则由方法表示。
1.4.1 对应用程序的分析(续) • main方法: 每个Java应用程序的入口点都是它的main方法。当运行Java应用程序时,指定要运行的类的名称,Java解释器调用该类中定义的main方法,由main方法控制程序的流程、分配所需资源并运行为此应用程序提供功能的其它方法。
1.4.1 对应用程序的分析(续) 每个Java应用程序必须声明一个mian方法: public static void main(String[] args) 修饰符: public:允许任何类调用main方法; static:表示main方法与HelloWorldApp类相关联, 而不是在这个类的一个实例上进行操作。 void: 表示main方法不返回任何值。 String:命令行参数。
1.4.1 对应用程序的分析(续) • 使用类和对象 该程序使用了System类。 System类提供的功能之一是标准输出流。System.out是System类中的out变量的完整名称。应用程序没有实例化System类,而是通过System类直接访问out,这是因为out是类变量,与类相关联,而不与对象相关联。类变量out引用PrintStream类的一个实例。当System类被载入时,它实例化PrintStream类,并为类变量out分配一个新的PrintStream对象,再调用其实例方法:System.out.println(“Hello World!”)
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); } }
1.4.2 对小应用程序的分析 •定义Applet子类 public class HelloWorld extends Applet 关键字extends表示HelloWorld类是Applet类的一个子类。每个小应用程序applet都必须是Applet类的一个子类,从而继承Applet类的功能,从与浏览器通信到GUI。
1.4.2 对小应用程序的分析 •实现applet的方法 HelloWorld applet只实现了一个方法paint。 与应用程序不同,applet不需要main方法。 Applet应包含在HTML页面中。
1.4.2 对小应用程序的分析 •运行applet的方法 当支持Java的浏览器遇到<APPLET>标记时,为applet保留屏幕显示空间,将Applet子类装载进它所在的计算机,然后创建Applet子类的一个实例。
1.5 常见错误 • 编译时错误 路径设置错、文字输入错 • 运行时错误 源文件名与public类名不一致 类的数量 源文件格式
第二章 基本概念 • 2.1 注释与程序段 注释 // /* */ 分号 ; 程序段 { } 空白
第二章 基本概念(续) • 2.2 标识符 字母、下划线或$开头的字母、数字、下划线和$构成的字符串。 • 2.3 Java语言的关键字 保留字
2.4 Java基本数据类型 • 分四大类:逻辑、字符、整数和浮点 共9种基本数据类型 逻辑类型:boolean 字符类型:char和string 整数类型:byte,short,int和long 浮点类型:float和double
2.6 Java 编程习惯 • 程序可读性 类、接口:通常使用名词,且每个单词的 首字母要大写 方法:可以是动词,首字母小写,其后用大写 字母分隔每个单词 常量:全部大写,单词之间用下划线分隔 变量:同方法,应该避免使用$符号
第二章 基本概念 • 2.1 注释与程序段 注释 // /* */ 分号 ; 程序段 { } 空白
第二章 基本概念(续) • 2.2 标识符 字母、下划线或$开头的字母、数字、下划线和$构成的字符串。 • 2.3 Java语言的关键字 保留字
2.4 Java基本数据类型 • 分四大类:逻辑、字符、整数和浮点 共9种基本数据类型 逻辑类型:boolean 字符类型:char和string 整数类型:byte,short,int和long 浮点类型:float和double
2.6 Java 编程习惯 • 程序可读性 类、接口:通常使用名词,且每个单词的 首字母要大写 方法:可以是动词,首字母小写,其后用大写 字母分隔每个单词 常量:全部大写,单词之间用下划线分隔 变量:同方法,应该避免使用$符号