ImageVerifierCode 换一换
你正在下载:

课件.docx

[预览]
格式:DOCX , 页数:67 ,大小:45.58KB ,
资源ID:23497759      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23497759.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课件.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课件.docx

1、课件第1章 JAVA程序设计概述1 JAVA WEB编程针对WEB程序J2EE企业级应用J2ME2移动设备、语法基础、面向对象、异常处理、数组、常用类、容器、I/O、线程、网络、GUI3读写查只看不练只听不练照猫画虎钻到细节里拔不出来(初学者)修正:明确目标,集中精力,心无旁骛对计算机心存敬畏不敢动(装卸软件,安装系统)不敢调试BUG4计算机基础操作英语计算机语言的历史及JAVA语言的历史地位JAVA自身的发展史JAVA的特点JAVA的运行机制JAVA运行环境的安装与配置第一个程序HelloWorld第一代语言 打孔机纯机器语言第二代语言 汇编语言第三代语言C、Pascal、Fortran 面

2、向过程的语言C+ 面向过程/面向对象JAVA 跨平台的纯面向对象语言.NET 跨语言的平台1995年,SUN发布JDK1.01998年:JDK2.0,更名为JAVA2后续JDK1.3,1.4JDK1.5,更名为JDK5.0最新版本为JDK7.0一种面向对象的语言一种平台无关的语言,提供程序运行的解释环境一种健壮的语言,吸收了C/C+语言的优点,但去掉了其影响程序健壮性的部分(如:指针,内存的申请与释放等) JAVA虚拟机(Java Virtual Machine) 垃圾收集机制(Garbage collection)5 JAVA虚拟机可以理解为一个以字节码为及其指令的CPU对于不同的运行平台,

3、有不同的虚拟机 JAVA虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行” 不再使用的内存空间应回收在C/C+等语言中,由程序员负责无用内存的回收JAVA语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储器空间。垃圾回收在程序运行过程中自动进行,程序员无法精确控制和干预JDK:Java Development Kit (软件开发包)JRE:Java Runtime Environment (Java运行环境)下载:安装6 配置环境变量path:windows系统在执行命令时要搜寻的路径classoat

4、h:java在编译和运行时要找的class所在的路径验证java运行java程序javac:编译java程序 Java源文件以”java”为扩展名。源文件的基本组成部分是类(class),如本例中的HelloWorld类。 一个源文件中最多只能有一个public类 Java应用程序的执行入口是main()方法,它有固定的书写格式:Public static void main(String args) .Java语言严格区分大小写Java方法有一条条语句构成,每个语句以分号结束Java语言有三种注释方式:“/” ; “/*.*/” ; “/*.*.*/”第2章 基本语法.1标识符、关键字、JA

5、VA的基本数据类型、运算符、表达式和语句、分支、循环2方法JAVA对各种变量、方法和类等要素命名时使用的字符序列成为标识符凡是自己可以起名字的地方都叫标识符3 JAVA标识符命名规则:标识符由字母、下划线、美元符”$”或数字组成标识符应以字母、下划线、美元符开头JAVA标识符大小写敏感,长度无限制约定俗称:JAVA标识符选取因注意”见名知意”合法的标识符不合法的标识符HelloWorldclassDataClassDataClass#_98398.3$bS5_c7Hell WorldJAVA中一些赋以特定含义,用做专门用途的字符串称为关键字(keyword)大多数编辑器会将关键字用特殊方式标出

6、所有JAVA关键字都是小写英文goto和const虽然从未使用,但也作为关键字保留JAVA的常量值用字符串表示,区分为不同的数据类型如整形常量:123实型常量:3.14字符常量:a逻辑常量:true、false字符串常量”helloworld”注意:区分字符常量和字符串常量注意:”常量”这个名词还会用在其他语境中表示值不可变的变量4 参见final关键字JAVA变量时程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。JAVA程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明的格式为:type varName =value,varName=value例如:int I =

7、100;float f = 12.3f;double d1,d2,d3 = 0.123;String s = “hello”5变量必须先声明(申请空间),再赋值(填内容)按被声明的位置划分:局部变量:方法或语句块内部定义的变量成员变量:方法外部、类的内部定义的变量注意:类外面(与类对应的大括号外面)不能有变量的声明按所属的数据类型划分:基本数据类型变量引用数据类型变量6 JAVA中定义了4类8种基本数据类型逻辑型 boolean文本型 char整数型 byte,short。Int,long浮点数型 float,doubleboolean 类型适于逻辑运算,一般用于程序流程控制boolean 类

8、型数据只允许取值true或false,不可以0或非0的整数代替true和false,这点和C语言不同用法举例: boolean flag flag = true; if(flag) /do something 7 char 型数据用来表示通常意义上的“字符”字符常量为单引号括起来的单个字符,例如:char eChar = a;char cChar = 中;JAVA字符采用unicode 编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如:char c1 = u0061;注:unicode是全球语言统一编码8 JAVA语言还允许使用转义字符来将其后的字符转变为其他的含义,例如:char

9、 c2 = n; /n代表换行符9 JAVA各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证JAVA程序的可移植性。10 JAVA语言整形常量的三种表示形式:十进制整数,如:12,-314,0八进制整数,要求以0开头,如:012十六进制整数,要求0x或0X开头,如:0X12JAVA语言的整形常量默认为int类型,声明long类型常量可以后加l或L,如:int i = 600; /正确long l = 88888888888L; /必须加L否则会出错与整数类型类似,JAVA浮点类型有固定的表数范围和字段长度,不受平台影响。11 JAVA浮点类型常量有两种表示形式:十进制数形

10、式,如:3.14 , 314.0 , .314科学计数法形式,如:3.14e2 , 3.14E2 , 100E-2JAVA浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:double d = 12345.6;/正确float f = 12.3f;/必须加f否则会出错boolean 类型不可以转换为其他的数据类型整形、字符型、浮点型的数据在混合运算中的相互转换,遵循以下原则:12 容量小的类型自动转换为容量大的数据类型:byte,short,char-int-long-float-doublebyte,short,char之间不会互相转换,他们三者在计

11、算时首先会转换为int 类型容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出13有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那一种数据类型,然后再进行计算。JAVA语言支持如下运算符:算数运算符:+,-,*,/,%,+,-关系运算符:,=,赋值运算符:=扩展赋值运算符:+=,-=,*=,/=字符串连接运算符:+自加和自减运算符:+(-)在前时先运算再取值在后时先取值再运算逻辑运算符 当“=”两侧数据类型不一致时,可以适用默认类型转换或使用强制类型转换原则进行处理,如: long l = 100; int i = (int) l;注意:可

12、以将整形常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围 byte b = 12; char c = 100; / 正确 byte bb = 256; short s = -32769 / 错误 “+”除用于算术加法运算外,还可用于对字符串进行连接操作,如:int id = 800 + 90;String s = “hello” + “world”;“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接int c = 12;System.out.println(“c=” + c)

13、; 当进行输出时,无论任何类型,都自动转为字符串进行打印 表达式是符合一定语法规则的运算符和操作数的序列a5.0 + a(a -b) * c 4I 30 & i % 10 != 0 表达式的类型和值对表达式中操作数进行运算得到的结果称为表达式的值表达式值得数据类型即为表达式的类型 表达式的运算顺序应按照运算符的优先级从高到低的顺序进行优先级相同的运算符按事先约定的方式进行运算 语法格式:x ? y : z;其中x为boolean类型表达式,先计算X的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值举例 int score = 80; String type

14、= score 60 ? “不及格” : “及格”; System.out.println(“type= ” + type);条件语句- 根据不同条件,执行不同语句ififelseifelse if elseswitch循环语句 重复执行某些动作forwhiledowhilebreak 语句用于终止某个语句的执行,用在循环语句体中,可以强行退出循环continue 语句用在循环语句体重,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,开始下一次循环过程14 JAVA的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,格式如下:修饰符1 修饰符2 返回值类型 方

15、法名(形参表)java语句.形式参数:在方法被调用时用于接收外界输入的数据实参:调用方法时实际传给方法的数据返回值:方法在执行完后返还给调用它的环境的数据返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void JAVA语言中使用下述形式调用方法:对象名.方法名(实参列表);实参的书目、数据类型和次序必须和所调用的方法声明的形参列表匹配return语句终止方法的运行并指定要返回的数据 JAVA中进行方法调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对对象的引用,而不是对象本身第3章 面向对象基础.编程语言的发展面向过程的设计思想面向对象

16、的设计思想对象和类的概念类之间的关系JAVA类的定义对象和引用对象的创建和使用构造方法this关键字static关键字package和import语句访问控制类的继承方法的重写final关键字Object类对象转型多态抽象类接口1 机器语言直接由计算机的指令组成,指令、数据、地址都以“1”和“0”的符号串组成;可以被计算机直接执行。2 汇编语言用容易理解和记忆的符号表示指令、符号以及寄存器等,抽象层次很低,程序员需要考虑大量的机器细节。3 高级语言屏蔽了机器细节,提高了语言的抽象层次接近与人的自然语言,60年代提出的结构化编程语言提出了结构化数据和语句,数据和过程抽象等概念。4 面向对象的语言

17、与已往各种语言的根本不同是,它的设计出发点就是为了能更直接的描述问题域中客观存在的事物。5 编程语言的发展是朝着人类更容易理解的方向前进我开车去北京面向过程我上车,我挂档,我踩油门,我过陕西,我过山西,我过河北,我到北京面向对象我命令车去北京车怎么去与我无关信息封装在车这个类的内部我不用去了解车开动的过程细节面向对象的基本思想是,从现实世界中客观存在的事物出发构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。6 面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法和原则,如抽象、分类、继承、聚合、多态等。对象是用计算机语言对问题域中事物的描述,对象通过“属性(attribut

18、e)”和“方法(method)”来分别对应事物的静态属性和动态属性。7类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所具有的静态和动态属性。类可以看做一类对象的模板,对象可以看做该类的一个具体实例。职员类对象实例化关联关系:继承关系:XX是一种XX聚合关系:聚集组合实现关系:多态:抽象出下面系统中的“类”及其关系: 对象是JAVA程序的核心,在JAVA程序中“万事万物皆对象” 对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法J2SDK提供了很多类供编程人员使用,编程人员也可定义

19、自己的类。8 面向对象的编程一组对象互相配合通过沟通完成特定功能对象都有对外服务的接口通过继承可以复用对象隐藏内部服务的实现通过聚合可以复用面向对象更加容易使我们达到这些年来苦苦追求的境界reusable、extensibility、维护和替换更加方便组件比对象更高层次上的抽象EJB、Web Service、CORBA、COM/用class关键字定义一个类,例如:class Person /成员变量定义 int id; int age = 20; /方法定义 public int getAge() return age; pubic void setAge(int i) age = i; pu

20、blic int getId() return id;JAVA语言中除基本类型之外的变量类型都称之为引用类型JAVA中的对象是通过引用对其操作的,如: /* 声明了一个String类型的引用变量 * 但并没有使它指向一个对象 */ String s; /* 使用new语句创建了一个String类型对象并用s指向它 * 以后可以通过s完成对其的操作 */ s = new String(“hello world!”);必须使用new关键字创建对象使用对象(引用). 成员变量来引用对象的成员变量使用对象(引用). 方法(参数列表)来调用对象的方法同一类的每个对象有不同的成员变量存储空间同一类的每个对

21、象共享该类的方法使用”new+构造方法”创建一个新的对象构造方法定义在JAVA类中的一个用来初始化对象的方法构造方法与类同名且没有返回值例如:Person类的构造方法: public class Person int id; int age; Person(int n , int i) id = n; age = i; 创建对象时,使用构造方法初始化对象的成员变量public class Test public static void main(String args) Person tom = new Person(1, 25); Person john = new Person(2, 27

22、) 当没有指定构造方法时,编译器为类自动添加形如 类名() 的构造方法例如: class Point public int x; public int y; . Point p = new Point() ; .类名的首字母大写变量名和方法名的首字母小写见名知意运用驼峰标识方法的重载是指一个类中可以定义有相同名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法例如:在Person类中添加如下方法: void info() System.out.println(“My id is ”+ id); void info(String t) System.out.println(t +

23、 “ ” + id + “ “ + age); 与普通方法一样,构造方法也可以重载例如:Person类的构造方法可以修改为: Person () id = 0; age = 20; Person (int i) id = 0; age = i; Person (int n , int i) id = n; age = i; 在类的方法定义中使用的this关键字代表使用该方法的对象的引用当必须指出当前使用方法的对象是谁时要使用this有时使用this可以处理方法中成员变量和参数重名的情况this可以看作是一个变量,它的值是当前对象的引用在类中,用static 声明的成员变量为静态成员变量,它为该

24、类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份用static 声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员静态方法不再是针对某个对象调用,所以不能访问非静态成员可以通过对象引用或类名(不需要实例化)访问静态成员为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,JAVA引入包(package)机制,提供类的多重类命名空间package语句作为JAVA源文件的第一条语句,指明该文件中定义的类所在的包(若缺省该语句,则指定为无名包),它的格式为:package pkg1.pk

25、g2.pkg3.;JAVA编译器把包对应于文件系统的目录管理,package语句中,用.来指明包(目录)的层次,例如使用语句package com.lutcte则该文件中所有的类位于.comlutcte目录下如果将一个类打包,则使用该类时,必须使用该类的全名(例如:com.lutcte.MyClass),JAVA编译器才会找到该类也可以使用import语句,在文件开头引入要使用到的类,例如: import com.lutcte.MyClass; import java.io.*;注:java.lang包中的类可以不适用import 语句直接使用JAVA中使用extends关键字实现类的继承机制

26、,其语法规则为: class extends . 通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)JAVA只支持单继承,不允许多继承一个子类只能有一个父类,一个父类可以派生出多个子类JAVA权限修饰符public、protected、private置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限对于class的权限修饰只可以用public和defaultpublic类可以在任意地方被访问,default类只可以被同一个包内部的类访问修饰符类内部同一个包子类任何地方privateYesdefaultYesYesprotectedYesYesYespub

27、licYesYesYesYes在子类中可以根据需要对从基类中继承来的方法进行重写重写方法必须和被重写方法具有相同的方法名称、参数列表和返回类型重写方法不能使用比被重写方法更严格的访问权限在继承中使用super关键字来引用基类的成分子类的构造过程中必须调用基类的构造方法子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法使用this(argument_list)调用本类的另外的构造方法如果调用super,必须写在子类构造方法的第一行如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法如果子类构造方法中既没有显式调用基类构造方法而基

28、类中又没有无参数的构造方法,则编译出错Object类是所有JAVA类的根基类如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类,如: public class Person . 等价于: public class Person extends Object . Object类中定义有”public String toString()”方法,其返回值类型是String,描述当前对象的有关信息。可以根据需要在用户自定义类中重写toString()方法在进行String与其它类型数据连接时,如:System.out.println(“info” + person)将自动

29、调用person对象所属类的toString方法Object类中定义有 ”public boolean equals(Object obj)”方法 提供定义对象是否“相等”的逻辑Object的equals方法定义为:x.equals(y); 当x和y是同一个对象的引用时返回true,否则返回falseJ2SDK提供的一些类,如String,Date等,重写了Object的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一类对象且属性内容相等时(不一定是相同对象)返回true,否则返回false用户自定义类中可以重写equals方法一个基类的引用类型变量可

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1