《Java程序设计(基础教程).pptx》由会员分享,可在线阅读,更多相关《Java程序设计(基础教程).pptx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JavaJava程序设计程序设计Java学习交流群5141676782第1章 概述第2章 标识符和数据类型第3章 表达式和流程控制语句第4章 数组、向量和字符串第5章 进一步讨论对象和类第6章 Java语言中的异常第7章 Java的图形用户界面设计第8章 Swing组件第9章 Java Applet第10章 Java数据流第11章 线程第12章 Java网络功能课程内容课程内容3Java的基本语法单位Java编码体例Java的基本数据类型复合数据类型类和对象的初步介绍第第2 2章章 标示符和数据类型标示符和数据类型42.1 Java2.1 Java的基本语法单位的基本语法单位nJava程序的结
2、构程序的结构package语句:语句:可以没有,如果有必须放在文件开始地方。可以没有,如果有必须放在文件开始地方。import语句:语句:可以没有,也可以有多个。如果有可以没有,也可以有多个。如果有import语句语句的话,必须放在所有类定义之前。的话,必须放在所有类定义之前。public型的型的class定义:定义:每个文件中最多有一个。每个文件中最多有一个。class定义:定义:每个文件中包含的类定义的个数没有限制。每个文件中包含的类定义的个数没有限制。Interface定义:定义:每个文件中包含的接口定义个数没有限制。每个文件中包含的接口定义个数没有限制。52.1 Java2.1 Jav
3、a的基本语法单位的基本语法单位n1 空白、注释及语句空白、注释及语句空白:空白:在在Java程序中,换行符及回车都可以表示一行的结束,程序中,换行符及回车都可以表示一行的结束,它们可以被看作是空白,另外,空格键、水平定位键它们可以被看作是空白,另外,空格键、水平定位键(tab)亦是亦是空白。为了增加程序可读性,空白。为了增加程序可读性,Java程序元素之间可以插入任意程序元素之间可以插入任意数量空白,编译器忽略多余的空白。数量空白,编译器忽略多余的空白。p两种程序风格比较:两种程序风格比较:(1)(1)不提倡的程序风格不提倡的程序风格(2)(2)提倡的程序风格提倡的程序风格62.1 Java2
4、.1 Java的基本语法单位的基本语法单位注释:注释:程序中适当地加入注释会增加程序可读性。注释不能程序中适当地加入注释会增加程序可读性。注释不能插在一个标识符或关键字之中,即要保证程序中最基本元素的插在一个标识符或关键字之中,即要保证程序中最基本元素的完整性。完整性。p三种注释方式三种注释方式(1)/在一行注释在一行注释(2)/*一行或多行注释一行或多行注释*/(3)/*文档注释文档注释*/72.1 Java2.1 Java的基本语法单位的基本语法单位注释语句、分号和块注释语句、分号和块语句是语句是Java中最小执行单位。一个语句可以写在连续的若干中最小执行单位。一个语句可以写在连续的若干行
5、内。行内。各语句间以分号各语句间以分号“;”隔开。隔开。花括号花括号“”和和“”之间包含的一系列语句称为语句块,简之间包含的一系列语句称为语句块,简称块。语句块可以嵌套,即语句块中可以含有子语句块。称块。语句块可以嵌套,即语句块中可以含有子语句块。82.1 Java2.1 Java的基本语法单位的基本语法单位n2 Java关键字关键字abstractbooleanbreakbytecasecastcatchchartclassconstcontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforfuturegenericgotoifim
6、plementsimportinnerinstanceofintinterfacelongnativenewnulloperatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile关键字不能作为标识符92.1 Java2.1 Java的基本语法单位的基本语法单位n3 标识符标识符标识符是以字母、下划线标识符是以字母、下划线(_)或美元符或美元符($)开头,由字母、数开头,由字母、数字、下
7、划线字、下划线(_)或美元符或美元符($)组成的字符串。组成的字符串。标识符标识符区分大小写区分大小写,长度一般没有限制。除以上所列几项之外,长度一般没有限制。除以上所列几项之外,标识符中不能含有其它符号,也不能插入空格。标识符中不能含有其它符号,也不能插入空格。在程序中,标识符可以用作变量名、方法名、接口名、类名等。在程序中,标识符可以用作变量名、方法名、接口名、类名等。Java源代码使用源代码使用Unicode码码(16位位),不是,不是ASC码码(8位位)。p一些合法的标识符:一些合法的标识符:identifier user_name$change _password p一些非法标识符:
8、一些非法标识符:2sun /以数字以数字2开头开头class /是是Java关键字关键字#myname /含有其它字符含有其它字符#102.2 Java2.2 Java编码体例编码体例nJava中一些命名约定中一些命名约定类:类:类名应为名词,含有大小写,每个字的首字母大写。例如,类名应为名词,含有大小写,每个字的首字母大写。例如,HelloWord,Customer等。等。接口:接口:接口是一种特殊的类,接口的命名约定与类名相同。接口是一种特殊的类,接口的命名约定与类名相同。方法:方法:方法名应为动词或动名词,含有大小写,首字母小写,方法名应为动词或动名词,含有大小写,首字母小写,其余各字的
9、首字母大写。尽量不要在方法名中使用下划线。例其余各字的首字母大写。尽量不要在方法名中使用下划线。例如,如,getName,setName,query,raiseSalary等。等。常量:常量:简单类型常量的名字应该全部为大写字母,字与字之间简单类型常量的名字应该全部为大写字母,字与字之间用下划线分隔,对象常量可以使用混合大小写。例如,用下划线分隔,对象常量可以使用混合大小写。例如,BLUE_COLOR。变量:变量:所有实例变量、类变量和全局变量都使用混合大小写,所有实例变量、类变量和全局变量都使用混合大小写,首字符为小写,后面的字首用大写,作为字间的分隔符。变量首字符为小写,后面的字首用大写,
10、作为字间的分隔符。变量名中最好不要使用下划线和美元符号。例如,名中最好不要使用下划线和美元符号。例如,blance,orders,byPercent等。等。112.22.2 JavaJava编码体例编码体例nJava的编码风格的编码风格编程时应该注重编程风格,添加必要的注释和空格,采用缩进编程时应该注重编程风格,添加必要的注释和空格,采用缩进格式,使得程序中使用的算法框架简单清楚。格式,使得程序中使用的算法框架简单清楚。p示例示例public class Customer private long customerId;private String customerName;public vo
11、id setCustomerName(String customerName)this.customerName=customerName;public String getCustomerName()return customerName;122.3 Java2.3 Java的基本数据类型的基本数据类型n1 Java数据类型数据类型数据类型数据类型基本数据类型基本数据类型复合数据类型复合数据类型数值类型数值类型浮点类型:浮点类型:float,double整数类型:整数类型:byte,short,int,long字符类型:字符类型:char布尔类型:布尔类型:boolean类类型:类类型:cl
12、ass数组数组 接口:接口:Interface132.3 Java2.3 Java的基本数据类型的基本数据类型布尔类型布尔类型-booleanboolean有两个常量值有两个常量值:false和和true,它们全是,它们全是小写小写字母,字母,在计算机内用在计算机内用8位位表示。表示。Java是一种严格的类型语言,它不允许数值类型和布尔是一种严格的类型语言,它不允许数值类型和布尔类型之间进行转换。类型之间进行转换。p例例.boolean a=true,b=false,c;字符类型字符类型-char单个字符用单个字符用char类型表示,一个类型表示,一个char表示一个表示一个Unicode字符
13、,其值用字符,其值用16位无符号数位无符号数表示,范围为表示,范围为0 216-1=65535。char类型的常量值必须用一对单引括号类型的常量值必须用一对单引括号()括起来。括起来。p例例.char ch1=a,ch2=1,ch3=t;142.3 Java2.3 Java的基本数据类型的基本数据类型整型整型-byte,short,int,long整型整型类型型整数整数长度度字字节数数表示范表示范围byte8位1-2727-1short16位2-215215-1int32位4-231231-1long64位8-263263-1类型型最大最大值最小最小值intInteger.MAX_VALUEI
14、nteger.MIN_VALUElongLong.MAX_VALUELong.MIN_VALUE152.3 Java2.3 Java的基本数据类型的基本数据类型整型常量可以用整型常量可以用-十进制、八进制或十六进制形式表示。十进制、八进制或十六进制形式表示。十进制:十进制:以以1 9开头,例如,开头,例如,2 /表示十进制表示十进制2八进制:八进制:以以0开头,例如,开头,例如,077/表示八进制表示八进制77,等于二进制,等于二进制63十六进制:十六进制:以以0 x开头,例如,开头,例如,0 xBABE/表示十六进制表示十六进制BABE,等于二进制,等于二进制47806。Java中所有整型量
15、都是有符号数。整型常量是中所有整型量都是有符号数。整型常量是int型。如型。如果想要表示一个长整型常量,需要在数后面写出字母果想要表示一个长整型常量,需要在数后面写出字母“L”。p例如例如2L077L0 xBABEL162.3 Java2.3 Java的基本数据类型的基本数据类型浮点型浮点型-float,double浮点浮点类型型浮点数浮点数长度度字字节数数表示范表示范围float32位41.4e-45f3.402823e+38fdouble64位84.9e-324d1.7976931348623157e+308dfloatdouble最大值Float.MAX_VALUEDouble.MAX_
16、VALUE最小值Float.MIN_VALUEDouble.MIN_VALUE正无穷大Float.POSITIVE_INFINITYDouble.POSITIVE_INFINITY负无穷大Float.NEGATIVE_INFINITYDouble.NEGATIVE_INFINITY0/0Float.NaNDouble.NaN172.3 Java2.3 Java的基本数据类型的基本数据类型浮点型有两种:单精度浮点数浮点型有两种:单精度浮点数float,双精度浮点数,双精度浮点数double,它们都是有符号数。,它们都是有符号数。如果数值中包含小数点、指数部分如果数值中包含小数点、指数部分(e),
17、或者其后跟有字,或者其后跟有字母母f/F(单精度单精度)或或d/D(双精度双精度),则为浮点数。,则为浮点数。浮点数常量是浮点数常量是double型型的,除非用字母的,除非用字母f明确说明它是明确说明它是float型的。型的。p示例:示例:5.315f0.0124e+6182.3 Java2.3 Java的基本数据类型的基本数据类型n2 类型转换类型转换在运算中允许整型、字符型、浮点型数据进行混合运算,运算在运算中允许整型、字符型、浮点型数据进行混合运算,运算时,不同类型的数据先转换为同一类型,然后再运算。时,不同类型的数据先转换为同一类型,然后再运算。自动转换:自动转换:位数少的类型转换向位
18、数多的类型转换为自动转换。位数少的类型转换向位数多的类型转换为自动转换。操作数操作数1类型类型操作数操作数2类型类型转换后的类型转换后的类型byte,shortintintbyte,short,intlonglongbyte,short,int,longfloatfloatbyte,short,int,long,floatdoubledoublecharintint192.3 Java2.3 Java的基本数据类型的基本数据类型强制转换:强制转换:位数多的类型向位数少的类型进行转换需要进位数多的类型向位数少的类型进行转换需要进行强制转换。行强制转换。高级类型高级类型(位数较多的数据类型位数较多
19、的数据类型)转换为低级类型转换为低级类型(位数较少位数较少的数据类型的数据类型)时,截断高位内容,因此会导致精度下降或数时,截断高位内容,因此会导致精度下降或数据溢出。据溢出。int i=10;long l=i;/自动转换byte b=(byte)i;/强制转换202.32.3 JavaJava的基本数据类型的基本数据类型n3 变量、说明和赋值变量、说明和赋值212.42.4 JavaJava的复合数据类型的复合数据类型复合数据类型复合数据类型类类型:类类型:class数组数组 接口:接口:Interface222.52.5 类和对象的初步介绍类和对象的初步介绍n1 面向对象概述面向对象概述基
20、本概念基本概念对象:对象:对象是对现实世界中个体或事物的抽象表示,是它的属对象是对现实世界中个体或事物的抽象表示,是它的属性和相关操作的统一封装体。性和相关操作的统一封装体。类:类:类用于表示某些对象的共同特征类用于表示某些对象的共同特征(属性和操作属性和操作),对象是类,对象是类的实例。的实例。类类/对象之间关系:对象之间关系:实例化:实例化:类与对象之间关系。一个类可以实例化为多个对象。类与对象之间关系。一个类可以实例化为多个对象。继承:继承:发生在具有泛化关系的类之间。子类可以继承继承父类发生在具有泛化关系的类之间。子类可以继承继承父类的属性和方法,同时可以定义新的属性和方法。的属性和方
21、法,同时可以定义新的属性和方法。关联:关联:表示类间的语义联系。表示类间的语义联系。什么情况具有关联关系?什么情况具有关联关系?依赖:依赖:对一个类对一个类(提供者提供者)的改变可能影响或提供信息给其他类的改变可能影响或提供信息给其他类(客户客户)。232.52.5 类和对象的初步介绍类和对象的初步介绍面向对象基本特征面向对象基本特征抽象:抽象:常用于在某个重要的或想要关注的侧面来表示某个事常用于在某个重要的或想要关注的侧面来表示某个事物或概念。物或概念。封装:封装:把操作和数据包围起来,对数据的访问只通过已定义把操作和数据包围起来,对数据的访问只通过已定义的接口来完成。的接口来完成。继承:继
22、承:定义一个新类,可以从现有的类派生出来,称为继承。定义一个新类,可以从现有的类派生出来,称为继承。子类可以从父类继承方法和属性,并且用于修改或增加新的属子类可以从父类继承方法和属性,并且用于修改或增加新的属性和方法使之更适合特殊的需要。性和方法使之更适合特殊的需要。(Java不支持多重继承不支持多重继承)多态:多态:不同的对象可以从同一消息作出响应,执行不同的处不同的对象可以从同一消息作出响应,执行不同的处理,称为多态。理,称为多态。242.52.5 类和对象的初步介绍类和对象的初步介绍n2 Java中类的定义中类的定义修饰符修饰符 class 类名类名 extends 父类名父类名 imp
23、lements 接口名接口名 类型类型 成员变量成员变量 1;类型类型 成员变量成员变量2;修饰符修饰符 类型类型 成员方法成员方法1(参数列表参数列表)方法体方法体1 修饰符修饰符 类型类型 成员方法成员方法1(参数列表参数列表)方法体方法体2 252.52.5 类和对象的初步介绍类和对象的初步介绍262.52.5 类和对象的初步介绍类和对象的初步介绍n3 与类定义有关的关键字与类定义有关的关键字限定访问权限的修饰符限定访问权限的修饰符public:用用public修饰的成分表示公有的,它可以被其它任修饰的成分表示公有的,它可以被其它任何对象访问。何对象访问。private:类中限定为类中限
24、定为private的成员只能被这个类本身访问,的成员只能被这个类本身访问,在类外不可见。在类外不可见。protected:用该关键字修饰的成分是受保护的,只可以被用该关键字修饰的成分是受保护的,只可以被同一包及其子类的实例对象访问。同一包及其子类的实例对象访问。没有修饰:没有修饰:如果没有访问修饰符,则表示如果没有访问修饰符,则表示friendly,相应的,相应的成分可以被所在包中的各类访问。成分可以被所在包中的各类访问。272.52.5 类和对象的初步介绍类和对象的初步介绍类型类型无修饰符无修饰符privateprotected public同一类是是是是同一包中的子类是否是是同一包中的非子
25、类是否是是不同包中的子类否否是是不同包中的非子类否否否是282.52.5 类和对象的初步介绍类和对象的初步介绍存储方式修饰符存储方式修饰符-staticstatic既可以修饰类的属性既可以修饰类的属性(静态属性静态属性),也可以修饰类的方法,也可以修饰类的方法(静态方法静态方法)。静态成员与类相对应,它可以被类的所有对象共享。静态成员与类相对应,它可以被类的所有对象共享。public class Count private int serialNumber;private static int counter=0;public Count()counter+;serialNumber=coun
26、ter;292.52.5 类和对象的初步介绍类和对象的初步介绍与继承有关的关键字与继承有关的关键字extends:继承关系用继承关系用extends表示。表示。final:用用final修饰的类不能再派生子类,它已达到类层次中修饰的类不能再派生子类,它已达到类层次中的最底层。的最底层。abstract:用用abstract修饰的类或方法,表示被修饰的成分修饰的类或方法,表示被修饰的成分是抽象的。抽象方法只须给出原型说明,方法体是空的,含有是抽象的。抽象方法只须给出原型说明,方法体是空的,含有抽象方法的类必须说明为抽象类。抽象方法的类必须说明为抽象类。this和和superthis:指代本类。指
27、代本类。supper:指代父类。指代父类。302.52.5 类和对象的初步介绍类和对象的初步介绍n4 4类类定定义义示示例例312.52.5 类和对象的初步介绍类和对象的初步介绍n5 创建对象创建对象类的定义相当于一个类的定义相当于一个“模子模子”,说明一个类类型变量也称为,说明一个类类型变量也称为创建一个对象,这个对象就像是拿着模子复制的一个副本,程创建一个对象,这个对象就像是拿着模子复制的一个副本,程序中使用的就是这样的一个个对象。序中使用的就是这样的一个个对象。类类对象对象实例化实例化322.52.5 类和对象的初步介绍类和对象的初步介绍Java对类类型变量的内存分配步骤:对类类型变量的
28、内存分配步骤:对象引用:对象引用:在内存中为其建立一个引用,并置初值在内存中为其建立一个引用,并置初值null,表示,表示不指向任何内存空间。不指向任何内存空间。对象实例化:对象实例化:用用new申请相应的内存空间,内存空间的大小依申请相应的内存空间,内存空间的大小依class的定义而定,并将该段内存的首地址赋给刚才建立的引用。的定义而定,并将该段内存的首地址赋给刚才建立的引用。p对象引用:对象引用:类名 变量名;Point p;Person zhanSan;Person liSi;p对象实例化:对象实例化:变量名=new 类名(参数列表);p=new Point(10,20);zhanSan
29、=new Person();liSi=new Person();类名 变量名=new 类名(参数列表);Point p=new Point(10,20);Person zhanSan=new Person();Person liSi=new Person();p对象说明对象说明(引用引用+实例化实例化):332.52.5 类和对象的初步介绍类和对象的初步介绍p对象使用对象使用对象引用.成员数据;对象引用.成员数据(参数列表);Point p=new Point(10,20);float r=p.x*p.x+p.y*p.y;p.moveTo(30,30);p=new Point(10,20);Point p;p0X1abcdefxy1020p?引用引用Point p;system.out.println(p)Point p=null;system.out.println(p)“variable p might not have been initialized”null342.52.5 类和对象的初步介绍类和对象的初步介绍p引用变量的赋值引用变量的赋值Java把说明为把说明为class类型的变量看作是引用。类型的变量看作是引用。p10X1abcdefxy1020p20X1abcdef1525p1.x=15;p1.y=25p2.x=15;p2.y=25
限制150内