Java程序设计教程 (2).ppt
《Java程序设计教程 (2).ppt》由会员分享,可在线阅读,更多相关《Java程序设计教程 (2).ppt(348页珍藏版)》请在三一办公上搜索。
1、1,Java程序设计Programming in Java,同济大学软件学院唐剑锋,2,引用声明,本课件部分内容引自雍俊海于Java程序设计教程.北京:清华大学出版社,2007中所提供的课件,3,课程选用教材,雍俊海.Java程序设计教程.(第二版)北京:清华大学出版社,2007.,4,参考资料,Bruce EckelThinking in JavaCay Horstmann Core Java 2 Volume 1 FundamentalsKathy SierraHead First Java林信良JAVA JDK6 学习笔记张孝祥Java就业培训教程孙卫琴JAVA面向对象编程SUNJava
2、 API Document,Java中的MSDN,5,教学内容,第01章 绪论第02章 结构化程序设计第03章 面向对象程序设计第04章 数组、字符串、向量与哈希表第05章 泛型、枚举与for语句的简化写法第06章 异常处理、递归和单体程序设计方法第07章 文件与数据流,6,教学内容,第08章 Swing图形用户界面程序设计第09章 小应用程序(Applet)(有兴趣可自学)第10章 编程规范和程序调试(务必自学)第11章 多线程程序设计第12章 网络程序设计(自学)第13章 多媒体与图形学程序设计(有兴趣可自学)第14章 数据库程序设计,7,第 1 章 绪论,Java简介开发环境的建立简单J
3、ava程序的编写Java程序的工作原理,8,1.1 Java历史简介,SUN公司1)1991:Oak用于智能消费型电子产品的语言James Gosling市场需求发展没有预料的快,差一点就要取消2)1993:网络的发展,挽救了这个项目为网页增加了“动态的内容”,即动态网页设计3)1994:Oak应用于网络,称为Java4)1995:Java正式公布,Stanford University Network,9,JDK版本的名称,10,Java产品分类,J2SE:Java2 Platform,Standard EditionJ2SE是Java2的标准版,即桌面版本,用于开发普通桌面应用程序。J2E
4、E:Java2 Technology,Enterprise EditionJ2EE是Java2的企业版,主要用于进行企业级的团体合作开发,Internet和服务器级程序的开发。J2ME:Java2 Micro Edition 主要用于手机、PDA等移动通讯设备、嵌入式设备或消费性电器的开发。,11,Java现状,Java现在常用来:1)开发大规模的商业运用软件2)增强网络服务的功能3)开发智能消费型电子产品的应用软件(例如手机),12,1.2 为什么采用Java语言(特点),Java语言白皮书A simple,object-oriented,distributed,interpreted,ro
5、bust,secure,architecture-neutral,portable,high-performance,multi-threaded,dynamic language.,13,为什么采用Java语言 特点,简单性:Java的语法比 C/C+简单网络特性面向对象平台无关性/可移植性Write Once,Run Anywhere(?)鲁棒性安全性多线程性解释性,14,Java与C+的比较,Java使用了类似C+的语法,而去除了C+中的复杂内容,以实现其简单、鲁棒、安全、可移植等特性,具体如下:全局变量无条件转移指令goto指针内存管理数据类型的一致性,15,1.3 建立Java开发环
6、境的步骤,1)下载J2SE安装程序2)运行J2SE安装程序,安装J2SE3)设置环境变量:运行路径(path)类路径(classpath)4)下载J2SE的在线帮助文档,16,(1)下载与(2)安装指南,http:/例如,安装:JavaTM 2 SDK,Standard Edition选择所需的版本选择对应的操作系统,17,编译器及一些工具,演示程序,用于本地方法的文件,Java运行时环境文件,库文件,安装完成后的JDK目录结构,一些示例程序,18,bin目录中的几个主要程序,JavacJavaAppletviewerJavadocJdbJavahJavap,19,(3)设置环境变量,假设 J
7、ava SDK 安装在 C:j2sdk设置:path=%path%;C:j2sdkbinclasspath=.;C:j2sdklib,20,21,(4)下载J2SE的在线帮助文档,下载 Java 2 SDK在线帮助文档 From:SunSun 中国技术社区http:/,22,1.4.1 开发Java程序的基本流程,使用文本编辑器(Notepad,Editplus,UltraEdit,)编写Java源程序,并命名为 xxx.java点击“开始”“运行”,cmd,进入dos状态,进入Java源程序所在目录编译源程序javac xxx.java,得到字节码文件(.class文件)运行程序java x
8、xx,由java解释器解释执行,23,两种类型的Java程序,应用程序(Application)小应用程序(Applet),24,例 1:J_HelloJava(应用程序),public class J_HelloJava public static void main(String args)System.out.println(Java语言,您好!);System.out.println(我将成为优秀的Java程序员!);/方法main结束/类J_HelloJava结束,25,例 1:J_HelloJava(应用程序),/功能描述:/在控制台窗口中输出:/“Java语言,您好!”和/我将成
9、为优秀的Java程序员!/,26,编译&执行,27,程序分析,类定义Java程序的基本组成部分是类(class),如本例中的J_HelloJava类。一个源文件中最多只能有一个public类。main()方法Java Application程序的入口是main()方法。它有固定的书写格式:public static void main(String args),28,例 2(略):J_HelloApplet.java,Applet小应用程序Applet 子类的实例java.applet.Applet、运行方式包含小应用程序的HTML文件被打开运行方法appletviewer(小应用程序的测试工
10、具)网页浏览(IE和Netscape等),29,例 2:J_HelloApplet.java,/在一个网页上显示:/小应用程序,您好!/,30,通过文本编辑器(如:UltraEdit)创建并编写Java源文件,/文件名:J_HelloJava.java;开发者:雍俊海import java.awt.Graphics;import javax.swing.JApplet;public class J_HelloApplet extends JApplet public void paint(Graphics g)g.clearRect(0,0,getWidth(),getHeight();/清除
11、背景 g.drawString(小应用程序,您好!,10,20);/方法paint结束/类J_HelloApplet结束,31,通过文本编辑器(如:UltraEdit)创建并编写HTML文件,简单招呼小应用程序例程,32,编译源文件&运行小应用程序,33,1.4.2 Java程序的工作原理,34,1.4.2 Java程序的工作原理,35,安全性,字节码的运行要经过三步:加载代码:由class loader 完成;校验代码:由bytecode verifier 完成;执行代码:由 runtime interpreter完成。,36,开发工具介绍,1、JCreator(教学使用)JCreator
12、是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。JCreator是一种初学者很容易上手的java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。Xinox Software公司的JCreator,分为为LE和Pro版本。LE版本功能上受到一些限制,是免费版本。Pro版本功能较全,是共享软件。,37,开发工具介绍,2、Eclipse号称未来能进行任何语言开发的IDE集大成者。Eclipse是一个开放源
13、代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。,38,39,开发工具介绍,3、NetBeans4、JBuilder5、,40,第2章 结构化程序设计,标识符和关键字数据类型、直接量和变量运算符控制结构结构化程序设计,41,2.1.1 Java中的标识符,标识符可以用来标识变量名、类名、类中的方法名和文件名等.标识符组成:(1)字母,(2)数字,(3)下划线“_”和(4)美元符号“$”;首字符必须是(1)字母,(2)下划线“_”和(3)美元符号“$”;所有标识符是区分大
14、小写的;除去关键字、false、true和null;,42,问:是/不是 标识符?,myVariable 9pinsMYVARIABLE i a+ctesting1-2-3,_myvariablejava¨My Variable$myvariable _9pins Its猫,Eg:判断一个字符是否可以做Java标识符的起始字符或后继字符,43,public class J_Identifier public static void main(String args)char c=猫;if(Character.isJavaIdentifierStart(c)(字符+c+可以做标识符的首字符
15、);else(字符+c+不可以做标识符的首字符);if(Character.isJavaIdentifierPart(c)(字符+c+可以做标识符除首字符外的组成字符);else(字符+c+不可以做标识符除首字符外的组成字符);/方法main结束/类J_Identifier结束,J_Identifier.java,44,2.1.2 Java关键字,具有特殊含义的字符序列例如:public、static和class等具有特殊用途,不能作为变量名、方法名和类名,45,Java关键字(50个),46,2.2 Java中的数据类型,47,基本数据类型,48,Java直接量,Java直接量包括基本数据类
16、型直接量、字符串(String)直接量和null 布尔(boolean)直接量只有两个:true 和 falsec,u0061,u0051 和 u005a 是char直接量.34是int直接量1.5,45.6,76.4E8和-32.0是double直接量34L是long直接量1.5F,45.6f,76.4E8F和-32.0F是float直接量“Hello World!”是String直接量null是引用数据类型的直接量,49,字符直接量,可采用如下四种表示方法整数直接量单引号括起来的单个字符 A 人单引号括起来的Unicode字符 u0061单引号括起来的转义字符 r n t,50,2.2.3
17、 变量,变量在计算机内部对应着一个存储单元,而且总是具有某种数据类型:基本数据类型或引用数据类型。每个变量均具有:名字、类型、一定大小的存储单元以及值。,51,变量,如果变量的数据类型是基本数据类型,则在变量的存储单元中存放的是具体的布尔值或数值。如果变量的数据类型是引用数据类型,则在变量的存储单元中存放的是引用值。引用值一般用来指向某个具体的对象。如果引用值是null,则该引用值不指向任何对象。,52,变量,图例:int sum=0;String s=“Hello World!”;,53,补充:内存管理简介,堆(heap),栈(stack),数据段(data segment),代码段(cod
18、e segment),堆(heap),栈(stack),数据段(data segment),堆(heap),栈(stack),代码段(code segment),数据段(data segment),堆(heap),栈(stack),代码所占空间,静态变量字符串常量,New产生的空间,局部变量,54,类型转换,隐式类型转换强制类型转换使用强制类型转换运算符()boolean不能与其它基本类型数据进行相互转换,byteshort,char int long float double,55,2.3 Java运算符,算术运算符关系运算符布尔逻辑运算符位运算符赋值类运算符条件运算符其他运算符,56,1.
19、算术运算符,算术运算符包括:+,-,*,/,+,-,%没有指数运算Math.pow(2.0,3.0);/2.03.0整数除法:截去余数7/5 结果为 1取模:返回余数(可对浮点数进行运算)7%5 结果为 2,57,问题?,-7/5=-7%5=7%-5=5.5%1.0=,-1-220.5,58,2.关系运算符,六个关系运算符:、=、=和!=例如:1 2;/false3.5!=1;/true 51.5=23.0;/true540=654;/true24=3*8;/trueboolean test1=(10 10);/test1=false;,59,3.布尔逻辑运算符,六个布尔逻辑运算符:&(逻辑与
20、AND)|(逻辑或OR)(逻辑异或XOR)!(逻辑非NOT)单目运算符,即只有一个操作数&(条件与AND)|(条件或OR),60,短路规则(&和|),如果从第一个操作数可以推断出表达式结果,就不再计算第二个操作数例如:if(x=2),61,逻辑运算(&和|),两个操作数均会被运算(即不采用短路规则)用不用短路规则,副作用不同 例如:(birthday=true)|(+age=65),Eg:J_Boolean.java,62,4.位运算符,位运算符包括:&、|、和 带符号右移不带符号右移移位操作是:先将整数写成二进制形式,然后按位操作,最后产生一个新的数注意:只用于整数,63,5.赋值类运算符,
21、赋值类运算符包括:=、+=、-=、*=、/=、,64,6.条件运算符,条件运算符“?:”的表达式形式为“op1?op2:op3”op1:布尔表达式例如:int k=(i=0)?1:-1);,65,条件运算符,public int compare(Date date)return year date.year?1:year date.month?1:month date.day?1:day date.day?-1:0;,66,7.其他运算符,其他运算符包括:(类型)、.、()、instanceof和new例如:int a=51;char c=(char)a;,67,算符优先,不同的运算符具有不同
22、的优先顺序可以用()来改变优先顺序或使表达式更容易理解例如:a+b+c/3(a+b+c)/3,68,控制结构,if/else if/else while for do while switch case break continue,69,控制结构,顺序结构Java最基本的结构选择结构三种类型:if、if/else和switch 循环结构三种类型:for、while和do/while,70,if语句,if语句的格式:if(布尔表达式)语句或if(布尔表达式)一条或多条语句,建议采用,71,if-else语句,if-else语句的格式:if(布尔表达式)语句1或语句块1else 语句2或语句块2
23、,72,多分支选择结构switch语句,switch(表达式)case 值1:语句组1 break;case 值2:语句组2 break;case 值n:语句组n break;default:语句组(n+1),要求属于:char,byte,short,intCharacterByteShortIntegerenum,73,for循环语句,格式:for(表达式1;表达式2;表达式3)语句或语句块也可写成:表达式1;while(表达式2)语句或语句块 表达式3;,74,while循环语句,while循环语句格式为:while(布尔表达式)语句或语句块当条件(布尔表达式)为true,则不断地执行语句
24、或语句块“while”循环中止条件是布尔表达式变为false如果布尔表达式一开始就为false,则不执行循环体,75,do/while循环语句,先执行,后判定条件即循规环体至少执行1次格式do 语句或语句块while(布尔表达式);好的编程风格:总是以“”引导循环体,即使语法上并不需要,76,break语句,switch语句中的break语句:终止swtich语句的执行,跳到switch后的语句;代码块中的break语句:在Java中,可以为一段代码加上个标号,并用把这段代码括起来,这就是代码块,格式为:标号:代码段;程序中可用break 标号;来跳出该代码块,转到该块后的第一个语句去执行,如
25、:,77,break语句,a:/标记代码块ab:/标记代码块bc:/标记代码块c break b;/跳出b块/这段代码不会被执行/c结束/这段代码也不会被执行/b结束/从这里开始执行/a结束,78,continue语句,continue语句用来结束本轮循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:continue;也可以用continue跳转到括号指明的外层循环中,这时的格式为continue outerLable;,79,continue语句,outer:for(int i=0;i10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计教程 2 Java 程序设计 教程
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6510004.html