面向对象程序设计(Java)课件_第1页
面向对象程序设计(Java)课件_第2页
面向对象程序设计(Java)课件_第3页
面向对象程序设计(Java)课件_第4页
面向对象程序设计(Java)课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计(Java)课件面向对象程序设计(Java)课件第 1 章 绪论第1部分: Java简介第2部分:开发环境的建立第3部分:我会写 Java程序9/14/20222第 1 章 绪论第1部分: Java简介9/10/20为什么选择学习Java? 识时务者为俊杰全球市场调查显示:已经有25亿部电子设备采用Java技术,Java智能卡发行量已经达到10亿张;采用Java技术的手机达7亿多部;在开发语言平台选择中,Java排名第一。全球有450万以上的Java开发人员;Java程序员的平均薪资水平最高。9/14/20223为什么选择学习Java? 高级计算机语言举例Image from

2、/CIS/course.des/cis400/ 9/14/20224高级计算机语言举例Image from http:/www如何学习编程语言? 无他,唯手熟尔。作业:每个同学思考自己课程设计所要实现的功能,并于第三周上交作业。要求:1。详细描述 所要实现的功能以及具体的解决方案。2。时间进度安排3。同组人的姓名以及具体分工9/14/20225如何学习编程语言? Java为什么魅力如此之大?1)简单性:Java的语法比 C/C+简单设计Java语言的目标就是简单,并尽量使程序 bug free没有指针没有malloc(), free(), 也没有析构方法Java虚拟机采用了一种效率不是很高的垃

3、圾回收机制9/14/20226Java为什么魅力如此之大?1)简单性:Java的语法比 Java为什么魅力如此之大?2)面向对象(OOP)/ 面向切面编程(AOP)容易设计简单, 容易理解程序易于软件代码的重用性可以在一定程度上提高软件的健壮性9/14/20227Java为什么魅力如此之大?2)面向对象(OOP)/ 面向Java为什么魅力如此之大?3)平台无关性(跨平台)Java口号: Write Once, Run Anywhere9/14/20228Java为什么魅力如此之大?3)平台无关性(跨平台)9/1Java为什么魅力如此之大?4)安全性: Java是安全的Java程序不能随意访问内

4、存的任意地址Java小应用程序在没有得到许可情况下不能随意删除或修改文件,破坏数据等等5)多线程性并行工作一般可以提高程序执行效率但同时也增加了程序编写难度9/14/20229Java为什么魅力如此之大?4)安全性: Java是安全的本章总体纲要第1部分: Java简介第2部分:开发环境的建立第3部分:我会写 Java程序9/14/202210本章总体纲要第1部分: Java简介9/10/202212开发环境的建立什么是JDK(Java Development Kit) 开发工具,Javac及基础核心类运行环境, java及基础核心类按Java的应用环境划分J2EE(Java2Platform

5、EnterpriseEdition) J2SE(Java2PlatformStandEdition) J2ME(Java2PlatformMicroEdition) 下载网址 9/14/202211开发环境的建立什么是JDK(Java DevelopmentJ2SDK工具介绍J2SDK中部分常用工具如下:javac.exe:Java 编译器,用于把Java源程序编译成字节码,即将.java文件编译成.class文件。Java.exe:Java解释器,用于解释执行Java字节码。 appletviwer.exe:用于运行和调试已经编译成字节码的Java Applet。javadoc.exe:Ja

6、va文档制作工具。jar.exe:压缩工具。jdb.exe:Java调试器,用来调试Java程序。9/14/202212J2SDK工具介绍J2SDK中部分常用工具如下:9/10/2设置环境变量: path & classpath假设 Java SDK 安装在 C:j2sdk1.4.2_05设置: path=;C: j2sdk1.4.2_05binclasspath= .;C: j2sdk1.4.2_05lib设置完环境变量后,打开Dos窗口,分别输 入javac与Java命令,检查是否安装正确9/14/202213设置环境变量: path & classpath假设 Jav集成开发环境介绍任何

7、文本编辑器都可以用来编辑程序。集成开发工具(Integrated Development Environment, IDE)为我们提供了更为方便的交互式开发环境。常用的集成开发工具: JBuilder,Eclipse JCreator等。JBuilder是商业软件JCreator,Eclipse是免费软件反编译工具:JAD ,FrontEnd9/14/202214集成开发环境介绍任何文本编辑器都可以用来编辑程序。9/10/本章总体纲要第1部分: Java简介第2部分:开发环境的建立第3部分:我会写 Java程序9/14/202215本章总体纲要第1部分: Java简介9/10/202217例

8、1: J_HelloJava.java/ / 在标准输出中显示:/ “Hello JAVA!” 和/ I will be a good JAVA programmer!/ /9/14/202216例 1: J_HelloJava.java/ /例1: Java源文件public class J_HelloJava public static void main(String args) System.out.println(Hello JAVA!); System.out.println(I will be a good JAVA programmer!); / End of method:

9、main / End of class: J_HelloJava9/14/202217例1: Java源文件public class J_Hell编译 &执行J_HelloJava.javajavacJ_HelloJava.classjavaOutput9/14/202218编译 &执行J_HelloJava.javajavacJ_HJava源程序的组成 重要提示 main()方法是应用程序的执行入口。main()方法头的定义是:public static void main(String args )Java语言是严格区分大小写的语言 。一个Java程序文件最多只能有一个公有类,此时文件前缀

10、名必须和该公有类的名字相同。9/14/202219Java源程序的组成 重要提示 9/10/202221Applet举例要点解析 Java主要有两种程序类型:Application程序和Applet程序。 Applet和Application的差别来自于运行环境的不同 。init() 方法是初始化Applet 时执行的方法。paint()方法是Applet 绘制图形界面的方法, Applet不必有main()方法。9/14/202220Applet举例要点解析 9/10/202222例 2 : Hello Applet/ / 在一个网页上显示:/ Hello Applet.“/ 您好, 今天是

11、:具体的日期/ /9/14/202221例 2 : Hello Applet/ /例2: Java源文件import java.awt.Graphics;import java.applet.Applet;import java.util.Date;public class J_HelloApplet extends Applet public void paint(Graphics g) g.drawString(Hello Applet., 25, 25); g.drawString(您好, 今天是:+new Date(), 50, 50); / End of method: paint

12、/ End of class: J_HelloApplet9/14/202222例2: Java源文件import java.awt.Gra例2: HTML文件 An applet Example - Hello Applet! 9/14/202223例2: HTML文件!-编译源文件 &运行小应用程序J_HelloApplet.javajavacJ_HelloApplet.classappletviewer/IE9/14/202224编译源文件 &运行小应用程序J_HelloApplet.jaJava程序的工作原理 Java虚拟机 开始 结束 没有 个人计算机 Solaris工作台 MacO

13、S工作台 Java源程序: *.java文件 Java虚拟机代码: *.class文件 编译 解释执行 加载 合法性和安全性检测 执行完毕? 已执行结束 9/14/202225Java程序的工作原理 Java虚拟机 开始 结束 没有 个java中的标识符 java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是关键字。合法的标识符: indentifierusernameuser_name_userName$username非法的标识符:class98.3Hello World Java的基本语法java中的标

14、识符 合法的标识符: 非法的标识符:Java的java的关键字 注:java 无sizeof ,goto, const 关键字,但不能用goto const作为变量名abstractdoimplementprivatethisbooleandoubleimportprotectedthrowbreakelseinstanceof publicthrowsbyteextendintreturntransientcasefalseinterfaceshorttruecatchfinallongstatictrycharfianllynativestrictfpvoidclassfloatnewsu

15、pervolatilecontinuefornullswitchwhiledefaultif package synchronized9/14/202227java的关键字 注:java 无sizeof ,goto,编程遵循一些规则标识符由完整的单词或者一组单词组成,尽可能清楚的表达标识符所代表的含义。变量名和方法名标识符以小写字母开头。类名标识符的首个字母要大写。标识符中由多个单词组成时新开始的单词首字母也要大写。如:MyFirstApplet. java是严格区分大小写的 java是一种自由格式的语言,但是一般最好 一句一行。 使用注释-说明类/属性/方法的功能,参数的作用, java程序

16、有三种注释方式9/14/202228编程遵循一些规则标识符由完整的单词或者一组单词组成,尽可能清变量数据类型 定义类型说明类型所占内存空间取值范围byte字节型8位-128 127short短整型16位-215 215-1int整型32位-231 231-1long长整型64位-263 263-1float单精度浮点型32位- 2-149 (2-2-23)2127double双精度浮点型64位2-1074 (2-2-52)21023boolean逻辑型-true或falsechar字符型16位u0000 uffff9/14/202229变量数据类型 定义类型说明类型所占内存空间取值范围byte

17、字类型转换 Java程序里,将一种数据类型的常数或变量转换到另外的一种数据类型,称为类型转换。类型转换有两种:自动类型转换(或称隐含类型转换)和强制类型转换。 当把占用位数较短的数据转化成占用位数较长的数据时,Java执行自动类型转换,不需要在程序中作特别的说明。例如,下面的语句把int型数据赋值给long型数据,在编译时不会发生任何错误:自动类型转换: int i=10; long j=i; 强制类型转换: long i=10; int j=(int)i;9/14/202230类型转换 9/10/202232 假若对主数据类型执行任何算术运算或按位运算,“比int小”的数据(char、byt

18、e、short)在正式执行运算之前,那些值会自动转换成int,这样一来,最终生成的值就是int类型。 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。通常,表达式中最大的数据类型是决定了表达式最终结果大小的那个类型。例如:若将一个float值与一个double值相乘,结果就是double;如将一个int值和一个long值相加,则结果为long。 9/14/202231 假若对主数据类型执行任何算术运算或按位运short a,b,c;a=2;b=3;c=(short)(a+b); short a,b,c;a=2;b=3;c=a+b; 例

19、题:ChuText1 ChuText2 ChuText3 ChuText4 DiText思考题1:某个培训中心要为新到的学员安排房间,假设共有x个学员,每个房间可以住6人,让你用一个公式来计算他们要住的房间数?9/14/202232short a,b,c;short a,b,c;例题:Chu比较运算符 注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。注2:比较运算符“=”不能误写成“=” ,切记!切记!9/14/202233比较运算符 注1:比较运算符的结果都是boolean型,也就逻辑运算符 注1:逻辑运算符用于对boolean型结果的表达式进行运算,运算

20、的结果都是boolean型 。注2:“&”和“&”的区别在于,如果使用前者连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用后者连接,当“&”的左边为false,则将不会计算其右边的表达式。“|”和“|”的区别与“&”和“&”的区别一样。 例题: Yu1 Yu29/14/202234逻辑运算符 注1:逻辑运算符用于对boolean型结果的表达1左移位运算符() 运算符执行一个左移位。作左移位运算时,右边的空位补0。在不产生溢出的情况下,数据左移1位相当于乘以2。例如: int a=64,b; b=a与) 运算符执行一个右移位(带符号),左边按符号位补0或1例如: int a=16

21、,b; b=a2;/b=4例题: YiText1 YiText2 YiText3思考题:如何用一条语句实现求2的x次方。位运算符 9/14/2022351左移位运算符()位运算符 9/10/202237运算符的优先级 我们可以使用括号改变运算赋的优先级,分析int a =2;int b = a + 3*a;语句的执行过程 与int a =2;int b =( a + 3)*a;语句的执行过程的区别 。9/14/202236运算符的优先级 我们可以使用括号改变运算赋的优先级,分析in如何避免多个运算符带来的问题与其去思考其中的原因,我们还不如将上面的第二句改为几条语句来实现我们想要的结果。不要在

22、一行中编写太复杂的表达式,也就是不要在一行中进行太多的运算在一行中进行太多的运算并不能为你带来什么好处,相反只能带来坏处,它并不比改成几条语句的运行速度快,它除可读行差外,还极容易出错。对于优先级顺序,读者不用刻意去记,有个印象就行如果你实在弄不清这些运算先后关系的话,就用括号或是分成多条语句来完成你想要的功能,因为括号的优先级是最高的,这也是软件编码规范的一个要求。9/14/202237如何避免多个运算符带来的问题与其去思考其中的原因,我们还不如if语句的选择结构 if (表达式) 语句;if (表达式) 语句1; else 语句2;if (表达式1) 语句1;else if (表达式2)

23、语句2;else if (表达式2) 语句3; else 语句n;嵌套时最好使用确定层次界限,例题: IfText49/14/202238if语句的选择结构 if (表达式) 语句;9/10/20Switch语句的选择结构 Switch (表达式)case 常量表达式1:语句1;case 常量表达式2:语句2;case 常量表达式n:语句n;default: 语句n;default语句是可选的,它接受除上面接受值的其他值,通俗的讲,就是谁也不要的都归它。case后面可以跟多个语句,这些语句可以不用大括号括起来 。 switch语句判断条件可接受int, byte, char, short型,不可以接受其他类型一旦碰到第一次case匹配,就会开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,后面case条件下的代码都会被执行,直到碰到break语句为止。我们可以利用这个特点来用同一段语句处理多个case条件 例题: SwitchText29/14

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论