标识符、关键字、数据类型.ppt_第1页
标识符、关键字、数据类型.ppt_第2页
标识符、关键字、数据类型.ppt_第3页
标识符、关键字、数据类型.ppt_第4页
标识符、关键字、数据类型.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

标识符、关键字、数据类型,注释及分隔符、Java文档化工具标识符关键字Java基本数据类型Java引用类型,Java注释,Java语言中定义了三种注释形式:/单行注释-注释到行尾/*单行或多行注释*/*可以用于文档化处理的单行或多行注释*/JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/*/形式加入的注释内容均可被自动提取到生成的说明文档中。用法:javadocsource.javaJavadoc只处理源文件在类/接口、方法、域、构造器之前的注释,忽略其他地方的注释,Java注释(案例3-1),/*javadoc演示程序-JavaDoc*authorAlexWen*version1.02003/12/15*/publicclassJavaDoc/*在main()方法中使用的显示用字符串*see#main(java.lang.String)*/staticStringSDisplay;/*显示JavaDoc*paramargs从命令行中带入的字符串*return无*/publicstaticvoidmain(Stringargs)SDisplay=HelloWorld;System.out.println(SDisplay);,javadoc注释(案例3-2),javadoc注释可以用于生成API文档从javadoc注释中生成API文档的时候,主要从以下几项内容中提取信息:包;公有(public)类与接口;公有(public)方法和受保护(protected)方法;公有(public)属性和受保护(protected)属性。,javadoc注释javadoc标记,常常在javadoc注释中加入一个以“”开头的标记,结合javadoc指令的参数,可以在生成的API文档中产生特定的标记常用的javadoc标记author:作者version:版本docroot:表示产生文档的根路径deprecated:不推荐使用的方法param:方法的参数类型return:方法的返回类型see:参见,用于指定参考的内容exception:抛出的异常throws:抛出的异常,和exception同义,javadoc命令,Javadoc命令格式:javadocoptionspackagenamessourcefilesfiles,分割符,一条语句是以分号(;)结尾的一行代码一个语句块是以一对花括号()为边界的语句的集合Java中允许有任意多的空格,包括换行,标识符,标识符用作给变量、类和方法命名可以以字母、下划线“_”和”$”符开头首字符外,可以跟上字母、下划线“_”和”$”符或数字Java是大小写敏感的,标识符也不例外Java标识符的选取因注意“见名知意”且不能与Java语言的关键字重名。,标识符(con.),Java关键字/保留字,Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,DEFAULT、DO、NULL等都不是Java关键字;goto和const虽然从未被使用,但也作为Java关键字保留;Java中一共有51个关键字,如下表所示true和false虽然被用作特殊用途,但不是java关键字,Java关键字(con.),数据类型,Java是一门强类型语言。也就是说,所有的变量都必须显式声明类型。Java的数据类型分为两大类:原始类型(primitivetype,也称为简单类型)和引用类型(referencetype)原始类型指的是一个数、一个字符或者一个true/false值。它不提供任何与它们所持有的数据类型相关的行为。Java有8种简单类型。,数据类型(con.),数据类型的分类,数据类型,简单数据类型,引用数据类型,数值型,字符型(char),布尔型(boolean),整数类型(byte,short,int,long),浮点类型(float,double),类(class),接口(interface),数组,布尔类型,boolean类型适于逻辑运算,一般用于程序流程控制boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。用法举例:booleanb=false;if(b)/dosomething,字符型(案例3-3),char型数据用来表示通常意义上“字符”字符常量是用单引号括起来的单个字符charc=A;Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(前缀为u表示Unicode)charc1=u0061;Java语言中还允许使用转义字符来将其后的字符转变为其它的含义charc2=n;/代表换行符,特殊字符,整数类型,Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性。,整数类型(con.),Java语言整型常量的三种表示形式:十进制整数,如12,-314,0。八进制整数,要求以0开头,如012十六进制数,要求0 x或0X开头,如0 x12Java语言的整型常量默认为int型,如:inti=3;声明long型常量可以后加l或L,如:longl=3L;,浮点型,Java浮点类型有固定的表数范围和字段长度。和整数类型一样,在java中,符点类型的范围与机器无关。,浮点型,Java浮点类型常量有两种表示形式十进制数形式,必须含有小数点,例如:3.14314.0.314科学记数法形式,如3.14e23.14E2314E2Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:doubled=3.14;floatf=3.14f;,各种整型数据类型的转换(案例3-4),通常,我们需要在不同的数据类型之间进行转换。简单类型除了boolean类型以外,其他的数据类型可以自动转换成其他的数据类型,只要遵循如下图所示的原则:,byte,short,char,int,long,float,double,Java引用类型(案例3-5),Java语言中除8种基本数据类型以外的数据类型称为引用类型引用类型数据以对象的形式存在引用类型变量的值是某个对象的句柄,而不是对象本身声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象,一个引用类型的例子,Student.java-自定义的一个类,有四个属性,并具有各自的存取方法。有一个构造器,用于在创建对象时初始化四个属性TestStudent.java-一个用于测试引用类型的程序。在这里定义了两个引用类型的变量s1、s2,对象的构造和初始化,Students1;-为引用类型变量分配引用空间newStudent(”Lisa“,”Male“,1,18);创建一个新的对象,并进行属性(实例变量)的默认初始化各种数据类型作为实例变量时的默认初始值参见下表,null,s1,null,null,0,name,sex,grade,0,age,对象的构造和初始化(con.),执行构造方法:将传递进来的四个参数的值分别赋给四个属性s1=newStudent(Lisa,Male,1,18);,null,s1,“Lisa”,“male”,1,name,sex,grade,18,age,对象的构造和初始化(con.),最后,对引用类型变量s1赋值。将新创建的Student对象的存储空间的首地址赋给s1,0 x1a4afb,“Lisa”,“male”,1,name,sex,grade,18,age,s1,0 x1a4afb,变量和它的作用范围,在Java中,每个变量都有类型在使用变量之前,必须先声明变量的类型。类型可以是简单类型,也可以是引用类型变量总是在一个类中声明。但一个变量可能和整个类相关联,也可能只在方法体中或某个程序块中起作用,成员变量/局部变量值传递Java编码规范,变量声明的例子(局部变量),publicclasstestpublicvoidaMethod(intj)intm,n,k;Stringa=“aaaa”,b=“bbbb”;m=j;k=100;System.out.println(m);System.out.println(n);/ErrorSystem.out.println(k);,变量声明的例子(全局变量)(案例3-6),publicclasstestinti=10,p=20;floatf,j;f=100.0fStrings1,s2;,变量的初始化,局部变量在使用之前,必须先初始化。全局变量如果没有初始化就拿来使用,系统将会自动给它一个默认的初值。,全局变量的默认初值(案例3-7),传值(案例3-8/3-9),Java在参数传递时,只使用值传递当对象实例作为参数传递给方法时,这个参数的值是对象的引用,而不是对象本身,0 x1a4afb,“Lisa”,“male”,1,name,sex,grade,18,age,s1,0 x1a4afb,s2,0 x1a4afb,s2=s1,实例(1),定义如下类:,classBirthDateprivateintday;privateintmonth;privateintyear;publicBirthDate(intd,intm,inty)day=d;month=m;year=y;publicvoidsetDay(intd)day=d;publicvoidsetMonth(intm)month=m;publicvoidsetYear(inty)year=y;publicintgetDay()returnday;publicintgetMonth()returnmonth;publicintgetYear()returnyear;publicvoiddisplay()System.out.println(day+-+month+-+year);,实例(2),运行如下程序:,publicclassTestpublicstaticvoidmain(Stringargs)Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,调用过程演示(1),堆内存,110925,9,587934,354752,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,test,date,d1,d2,main,栈内存,9,调用过程演示(2),堆内存,110925,9,587934,test,date,d1,354752,d2,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,main,change1,i,栈内存,调用过程演示(3),1234,堆内存,110925,9,587934,test,date,d1,354752,d2,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,main,change1,i,栈内存,调用过程演示(4),堆内存,110925,9,587934,354752,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,test,date,d1,d2,main,栈内存,调用过程演示(5),587934,堆内存,110925,9,587934,test,date,d1,354752,d2,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,main,change2,b,栈内存,调用过程演示(6),669535,堆内存,110925,9,587934,test,date,d1,354752,d2,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,main,change2,b,栈内存,调用过程演示(7),堆内存,110925,9,587934,354752,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,test,date,d1,d2,main,栈内存,调用过程演示(8),354752,堆内存,110925,9,587934,test,date,d1,354752,d2,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,main,b,change3,栈内存,调用过程演示(9),354752,堆内存,110925,9,587934,test,date,d1,354752,d2,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);test.change1(date);test.change2(d1);test.change3(d2);publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,main,b,change3,栈内存,调用过程演示(10),堆内存,110925,9,587934,354752,Testtest=newTest();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);tes

温馨提示

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

评论

0/150

提交评论