Java语言程序设计.ppt

上传人:hopesteam270 文档编号:372960 上传时间:2018-10-04 格式:PPT 页数:196 大小:384.50KB
下载 相关 举报
Java语言程序设计.ppt_第1页
第1页 / 共196页
Java语言程序设计.ppt_第2页
第2页 / 共196页
Java语言程序设计.ppt_第3页
第3页 / 共196页
Java语言程序设计.ppt_第4页
第4页 / 共196页
Java语言程序设计.ppt_第5页
第5页 / 共196页
亲,该文档总共196页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Java语言程序设计,教学参考书,实践大师:JAVA 2 编程篇 JAVA 2 Programmers Interactive Workbook 电子工业出版社文字 JAVA 面向对象程序设计教程清华大学出版社 Java语言导学机械工业出版社,实验教学指导书,JAVA与 面向对象程序设计实验指导与习题集清华大学出版社,教学安排,上课:周三下午12节 上机:周三下午34节(第二周开始上机C420、421),学 习 方 法,Not to study, But to learn. 少做笔记,多听、多动手。,课 程 考 试,平时情况与考试情况相结合书面考试与上机实验相结合,第一章 Getting St

2、arted,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 分布式 Distribute

3、d 与平台无关 Platform independent 解释 Interpreted 轻便 Portable,1.1.1 Java编程语言,对于大多数语言,要运行程序,要么编译程序要么解释程序;而Java语言的程序则既要被编译又要被解释。 编译程序将Java源程序翻译为字节码(bytecode)程序; 解释程序Java虚拟机分析并运行字节码程序。 一次编写,处处运行 Write once,run anywhere!,用Java源程序先被编译、后被解释,一次编写,处处运行,1.1.2 Java平台, 平台(Platform)是程序在其中运行的硬件或软件环境。 最流行平台:Windows 200

4、0, Linux,Solaris, MacOS Java平台:一种运行在其它硬件平台上纯软件平台,它有两个组件:Java虚拟机(Java VM)和Java应用编程接口(Java API),1.1.2 Java平台, Java VM是Java平台的基础 Java API是预先建立的软件组件的集合,提供丰富的功能,如GUI部件。 Java API被分为相关类和接口的库,这些库称为包(package),Java API和Java VM将程序与硬件分离,1.1.3 Java技术可以做什么, Java程序的常见类型是Applet和Application Java平台的每种完整实现均提供如下功能: 基本内

5、容:对象、字符串、线程、输入/输出、 数据结构、系统属性、日期、时间等; Applets:与Java applet使用的一组约定; 连网:URL、传输控制协议(TCP)、用户数据报协议(UDP)套接字和IP地址。 国际化:帮助进行本地化的程序。,1.1.3 Java技术可以做什么,(6) 安全:包括低层和高层安全性,如电子签名、 公共密钥和私有密钥管理、访问控制和证书。 (7) 软件组件:称为Java Beans的组件可以插入现有的组件体系结构。 (8) 对象串行化:通过远程方法调用(Remote Method Invocation, RMI)支持轻型的持久性和通信。 (9) Java数据库连

6、接(JDBC):提供对各种关系数据库的统一访问。,Java 2 SDK,1.2 Java开发工具包的安装与配置,为了鼓励使用Java语言开发软件,Sun Microsystems公司提供了免费的软件开发工具包(SDK),其中包括编译器、虚拟机、调试器等开发工具,称为Java开发工具包或JDK。Windows版和Solaris版的JDK可以从如下站点下载:http:/ Java开发工具包的安装与配置,安装:执行安装程序,按提示即可。,1.2 Java开发工具包的安装与配置,路径配置:加入路径C:jdk1.3binSET PATH=%PATH; C:jdk1.3bin 环境变量: SET CLAS

7、SPATH=%CLASSPATH;.;C:JDK1.3Lib,1.3 Java程序的建立、编译与运行, 创建第一个应用程序:程序HelloWorldApp将显示一句问候语“HelloWorld!”。 创建第一个小应用程序:程序HelloWorld也将显示一句问候语“HelloWorld!”。,1.3.1 创建第一个应用程序,Step1:创建源代码文件; Step2:将源代码文件编译为字节码文件; Step3:运行字节码文件,1.3.1.1 创建源代码文件,启动“记事本”,输入如下代码: public class HelloWorldApp public static void main(Str

8、ing 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:创建源代码文件;

9、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文件,在“记事本”,输入如下代码,并保存为

10、Hello.htmlA Simple Program Here is the output of my program:,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程序,我们自然想知道它的工作原理。本节我们首先分析Hel

11、loWorldApp应用程序,然后再分析HelloWorld小应用程序。,1.4.1 对应用程序的分析, 注释:/* 文本 */* 文本 */,1.4.1 对应用程序的分析(续), 定义类:类是面向对象语言的基本构件。类是一个“蓝图”,描述此的实例(instance)相关联的状态和行为。当你实例化(instantiate)一个类时,就是创建一个对象,它的状态和行为与此类的其它实例相同。状态由成员变量表示;行为则由方法表示。,1.4.1 对应用程序的分析(续), main方法:每个Java应用程序的入口点都是它的main方法。当运行Java应用程序时,指定要运行的类的名称,Java解释器调用该类

12、中定义的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类提供的功能之

13、一是标准输出流。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类,从而可以引用其它包中的类。如果删除

14、这两行,则须修改程序如下: 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类的功能,从与浏览器通信到G

15、UI。,1.4.2 对小应用程序的分析, 实现applet的方法 HelloWorld applet只实现了一个方法paint。 与应用程序不同,applet不需要main方法。 Applet应包含在HTML页面中。,1.4.2 对小应用程序的分析, 运行applet的方法 当支持Java的浏览器遇到标记时,为applet保留屏幕显示空间,将Applet子类装载进它所在的计算机,然后创建Applet子类的一个实例。,1.5 常见错误,编译时错误 路径设置错、文字输入错 运行时错误 源文件名与public类名不一致 类的数量 源文件格式,第二章 基本概念,2.1 注释与程序段注释 / /* */

16、分号 ;程序段 空白,第二章 基本概念(续),2.2 标识符字母、下划线或$开头的字母、数字、下划线和$构成的字符串。2.3 Java语言的关键字保留字,2.4 Java基本数据类型,分四大类:逻辑、字符、整数和浮点共9种基本数据类型 逻辑类型:boolean 字符类型:char和string 整数类型:byte,short,int和long 浮点类型:float和double,2.6 Java 编程习惯,程序可读性类、接口:通常使用名词,且每个单词的首字母要大写方法:可以是动词,首字母小写,其后用大写字母分隔每个单词常量:全部大写,单词之间用下划线分隔变量:同方法,应该避免使用$符号,第二章

17、 基本概念,2.1 注释与程序段注释 / /* */分号 ;程序段 空白,第二章 基本概念(续),2.2 标识符字母、下划线或$开头的字母、数字、下划线和$构成的字符串。2.3 Java语言的关键字保留字,2.4 Java基本数据类型,分四大类:逻辑、字符、整数和浮点共9种基本数据类型 逻辑类型:boolean 字符类型:char和string 整数类型:byte,short,int和long 浮点类型:float和double,2.6 Java 编程习惯,程序可读性类、接口:通常使用名词,且每个单词的首字母要大写方法:可以是动词,首字母小写,其后用大写字母分隔每个单词常量:全部大写,单词之间

18、用下划线分隔变量:同方法,应该避免使用$符号,2.6 Java 编程习惯(续),程序可读性控制结构:if-then-else和for语句等中的语句或语句组要用间隔:每行一条语句,并且采缩进格式注释:尽量多注释,2.7 对象概念 用一个下午学习,用一生去掌握,复合数据类型:多个不同类型变量的组合,如structure,record 类:在OOP中将复合数据类型称为类(class) 对象:某个类的实例 成员:构成对象的基本元素 引用:其值为地址者,2.8 变量概述,Java“类”定义对象,对象就是数据和处理,或表示这些数据的操作。变量是类中数据的“容器”,也被称为“域”(field)。 变量声明:

19、在使用变量之前,类必须定义变量的类型和名字,即先定义,后使用。例如:String myOutPut;,2.8 变量概述(续),变量赋值: = ; 变量作用域:变量起来作用的范围,即在那里存在和在那里不存在。 作用域判断:变量只在声明它的代码块中以及该块内所包含的任何块中。在此区域之外该变量既不存也不能被引用。,2.8 变量概述-Eample,import java.applet.Applet; public class scopeTest extends Applet String myString = “Hello“;public void init()doPrintSomething();

20、doPrintSomethingElse();public void doPrintSomething()String notPrinted;notPrinted = “Hi!“;,String localString = “World!“;System.out.println(myString + “ “ + localString);public void doPrintSomethingElse()String localString = “Everybody!“;System.out.println(myString + “ “ + localString); ,2.9 方法概要,方法

21、(method):定义类能够执行的动作和如何执行这些动作。 方法分为三类: 转换器:接受修改内部变量值的方法;访问器:获取内部变量值的方法; 效果器:执行某个动作的方法。,2.9 方法概要(续),public void doPrintSomething(String something) System.err.println(foo); 调节器 返回类型 名称 参数列表,2.9 方法命名参考,方法名体现其所完成的任务 方法名以小写字母开头,将划分单词界线的字母大写 对转化器,加前缀“set”;对访问器,加前缀“get”;对效果器,加前缀“do”。,第三章 数据类型 你和我不是同一种人 委婉的拒

22、绝,物以类聚,人以群分 计算机的世界,即数据的世界,用数据表达信息,不同种类的信息以类型表征。,第三章 数据类型 你和我不是同一种人 委婉的拒绝,物以类聚,人以群分 计算机的世界,即数据的世界,用数据表达信息,不同种类的信息以类型表征。,3.1 原始数据类型,类型 含义Byte 8位整数Short 16位整数Int 32位整数 long 64位整数float 单精度浮点数double 双精度浮点数char 16为Unicode字符boolean 布尔型,数据类型int,举例: int x; x = 5; System.out.println(x);,数据类型int(续),举例: int x =

23、 5; System.out.println(x); - x=5+20; System.out.println(x); x= x+1; System.out.println(x);,数据类型float、double,举例: float price = (float) 7.25*5; System.out.println(x); double val1 = 7.0/9.0; double val2 = 2.0/9.0; double val3 = val1+val2; System.out.println(val1); System.out.println(val2); System.out.p

24、rintln(val3);,数学运算符,+ 加 - 减 * 乘 / 除 % 取模(余),3.2 String类,类:对象的描述,正如设计图是住宅的描述一样,你可以按照设计图建造许多住宅,设计图是“类”的定义,而住宅则是设计图的实例化,即按照定义建造出的对象。,String构造,String firstName = “George”; String lastName = new String(“Washington”); System.out.println(firstName); System.out.println(lastName); 构造器 Class variableName = ne

25、w Class(); Class variableName = new Class(parameters);,String构造,String firstName = “George”; String lastName = new String(“Washington”); System.out.println(firstName); System.out.println(lastName); 构造器 Class variableName = new Class(); Class variableName = new Class(parameters);,String合并,String firs

26、tName = “George”; String lastName = new String(“Washington”); String fullName = firstName + lastName; System.out.println(fullName); String fullName = firstName + “ ” + lastName; System.out.println(fullName);,String方法-Length(),String title = “Java 2 Programming”; int len = title.Length(); System.out.

27、println(len);注意:字符串长度为其中所含字符的个数,包括空格。,String方法-IndexOf(),String title = “Java 2 Programming”; int index= title. indexOf(“2”); System.out.println(index); 5 注意:字符串索引自左到右,从0开始编号。,String方法-Substring(),String title = “Java 2 Programming”; int firstHalf= title. substring(0,7); int lastHalf= title. substri

28、ng(7); System.out.println(firstHalf); System.out.println(lastHalf);,String方法小结,public int length() public int indexOf(String findme) public String substring(int startIndex) public String substring(int srartIndex, int srartIndex+subLength),3.3 数 组,数组:相似元素的有序集合同一数组中的元素必须类型相同,如int数组、double数组、String数组和c

29、har数组等。,数组定义,举例 int firstArray; int secondArray = new int10; int thirdArray = 10,12,-10,100;firstArray为整型空(null)数组,secondArray为10个元素整型数组,thirdArray有4个int值(分别为10,12,-10,100)的数组,数组访问,数组访问方法:index 数组元素索引:从0开始递增 例如: System.out.println(thirdArray0); System.out.println(thirdArray1); thirdArray2=168; /数组元素

30、赋值 System.out.println(thirdArray2);,数组长度 length域,数组中的元素个数称为数组长度,所有数组均有一个length域记录数组长度。 举例 Char letters = a,b,c; System.out.println(letters.length); 3 System.out.println(letters);/作为字符串输出,数组使用举例,String names=“John”, “Mary”, “Robert”; String people; people = names; System.out.println(names0); System.o

31、ut.println(people2); System.out.println(names);/无效,3.4 向量,向量:对象的集合。其中,各元素可以不必同类型,元素可以增加和删除,不能直接加入原始数据类型,向量使用,首先必须在程序开始处加入: import java.util.Vector; = Vector v = new Vector(); String s = new String(“Hello”);,向量使用(续),v.add(s); v.add(“Goodbye”); System.out.println(v); System.out.println(v.size();Hello,

32、 Goodbye 2,向量使用(续2),boolean success = v.remove(s);/v.remove(“Hello”) System.out.println(v); System.out.println(success); System.out.println(v.size();Goodbye True 1,Vector方法,public boolean add(object o) public boolean remove(object o) public int size() public Enumeration element(),在向量中使用封装器,由于Java不把原

33、始数据类型当作对象来处理,向量中就不允许存储原始数据类型的数据,为此,Java又引入如下新的类以封装原始数据类型:IntegerFloatDoubleCharacterBoolean,在向量中使用封装器(续),举例 Integer I = new Integer(211); Int i = I.intValue(); System.out.println(i);,封装器类小结,Integer new Integer(int i) intValue() Float new Float(float f) floatValue() Double new Double(double d) double

34、Value() Character new Character(char c) charValue() Boolean new Boolean(boolean b) booleanValue(),封装器使用举例,String name = new String(“John Smith”); Integer age = new Integer(30); Double salary = new Double(8675.88); Vector record = new Vector(); record.add(name); record.add(age); record.add(salary);Sy

35、stem.out.println(record);,枚举,Enumeration(枚举)类允许列举向量元素, 通过elements()方法得到Enumeration对象。public boolean hasMoreElements() public Object nextElement(),枚举举例,import java.util.*; Vector dogs = new Vector(); dogs.add(“Rambo”);dogs.add(“Feisy”); Enumeration names = dogs.elements(); System.out.println(names.ha

36、sMoreElements(); System.out.println(names. nextElement(); System.out.println(names.hasMoreElements(); System.out.println(names. nextElement(); System.out.println(names.hasMoreElements();,枚举举例(续),显示结果 true Rambo true Feisy false,枚举举例(续2),public class ThreeStoogesExample public static void main(String

37、 args)/ ThreeStoogesExampleVector stooges = new Vector();stooges.add(“Larry“); stooges.add(“Curly“);stooges.add(“Moe“);,枚举举例(续3),stooges.remove(“Curly“); stooges.add(“Shemp“);System.out.println(“The “ + stooges.size()+ “Stooges“); Vector actors = new Vector();actors.add(“Bob“); actors.add(“Ted“);act

38、ors.add(“Alice“); actors.add(stooges);System.out.println(actors.size();System.out.println(actors);,枚举举例(续4),The 3Stooges 4 Bob, Ted, Alice, Larry, Moe, Shemp,nextElement()返回类型,nextElement()返回类型是Object类 如需将该值赋给变量,必须强制类型转换String name = (String) names.nextElement();,补充实例1,public class IsLowerCaseExampl

39、e public static void main(String args) / IsLowerCaseExample char letter= f;boolean lowerCase = Character.isLowerCase(letter); System.out.println(“Is letter lower case? “ + lowerCase); letter = F;boolean upperCase = Character.isUpperCase(letter); System.out.println(“Is letter upper case? “ + upperCas

40、e); ,补充实例2,public class UseSubString public static void main(String args)/ UseSubStringString source= “abcdefghijklmnop“;String s; int len;s=source.substring(4,7); len=s.length();System.out.println(s); System.out.println(len); ,补充实例3,public class UseTheForceExamplepublic static void main(String args

41、)/ UseTheForceExampleString force = “Use the force, Luke!“;String findString = “Luke“;int findStringLength = findString.length();int startIndex = force.indexOf(findString);int endIndex = startIndex + findStringLength;String subStr = force.substring(startIndex, endIndex);System.out.println(startIndex

42、); System.out.println(endIndex);System.out.println(findStringLength);System.out.println(“Substring is “ + subStr);,第四章 流程控制,生活中充满着选择、充满着决定,流程控制就是Java语言用于选择和决定的机制。,4.1 布尔检验,目的:如何比较两个对象相等比较 格式:A = B 说明:如A等于B,表达式A=B的值为true; 否则为false。,4.1 布尔检验(续),举例 System.out.println(“The expression 2=4 is ”); System.o

43、ut.println(2=4); 显示结果: The expression 2=4 is false,4.1 布尔检验(续2),Equals()方法对于String、Integer和Float的对象类型,用Equals()方法判断是否相等。 Integer I1=new Integer(2); Integer I2=new Integer(2); System.out.println(“Does I1 equals I2?”); System.out.println(I1.Equals(I2);,4.1 布尔检验(续3),注意:比较两个对象时用Equals()方法,比较原始数据类型时用=运算符

44、。 大于/小于 AB A=B A=B A!=B,4.2 IF-THEN-ELSE,If-Then语句:if (); 说明:如果为真,就执行;否则,不执行。,4.2 IF-THEN-ELSE(续),举例 int temperature = 38; if (temperature35)System.out.println(“Its too hot!”); System.out.println(“Have a nice day.”);,4.2 IF-THEN-ELSE(续2),举例 int temperature = 38; if (temperature35)System.out.println(

45、“Its too hot!”);System.out.println(“I want to go home!”); System.out.println(“Have a nice day.”);,IF-THEN-ELSE,if (); else ; 说明:,IF-THEN-ELSE举例,int temperature = 38; if (temperature35)System.out.println(“Its too hot!”);System.out.println(“I want to go home!”); else System.out.println(“Have a nice da

46、y.”);System.out.println(“Lets stay here.”); ,If语句的嵌套,If ()if ();,If语句的嵌套举例,行李费问题随身免费携带20kg行李,40kg以内每kg收费1元,40kg以上每kg收费2元。,4.3 while 语句,格式:while (); 说明:当为真时反复执行,直到为假时为止。,4.3 while 语句举例,int x=0; While (x5) System.out.println(x);x=x+1;,4.3 while 语句举例(续),int x=0,s=0; While (x5) System.out.println(x);x=x

47、+1;s=s+x; System.out.println(s);,4.3 while 语句举例(续2),String s=“x”; while (x.length()4)System.out.println(s+”is too short.”);s=s+ “x”; System.out.println(“All done!”);,4.3 while 语句举例(续3),int x =100;int y=0;while (x0)y+;x=x-10;System.out.println(“x=“+x);System.out.println(“y=“+y);,4.4 for循环,格式:for (;);

48、,4.4 for循环举例,S=0; for (int i =1; i5; i+) s=s+i;System.out.println(“i=”+i); System.ou.println(“s=”+s);,4.4 for循环举例(续),String colors = “red“, “yellow“, “blue“, “purple“; for (int i = 0; i colors.length; i+) System.out.println(colorsi); ,4.4 for循环举例(续2),String colors = “red“, “yellow“, “blue“, “purple“; for (int i = 0; i colors.length; i+) if (colorsi.equals(“blue“)System.out.println(“name = “ + colorsi);System.out.println(“index = “ + i); ,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1