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

下载本文档

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

文档简介

标识符、关键字、数据类型(上)ID:SCSJ001-JavaBasicSyntax标识符、关键字、数据类型(上)注释及分隔符、Java文档化工具标识符关键字Java基本数据类型Java引用类型2011-05-032Java注释Java语言中定义了三种注释形式:

//单行注释----注释到行尾

/*单行或多行注释*/ /**可以用于文档化处理的单行或多行注释*/JDK中提供了一个文档自动生成工具javadoc,在自定义类中成public的成员前以/**…*/形式加入的注释内容均可被自动提取到生成的说明文档中。 用法:javadocsource.javaJavadoc只处理源文件在类/接口、方法、域、构造器之前的注释,忽略其他地方的注释2011-05-033Java注释(案例3-1)/***javadoc演示程序--<b>JavaDoc</b>*@authorAlexWen*@version1.02003/12/15*/

publicclassJavaDoc{/***在main()方法中使用的显示用字符串*@see#main(java.lang.String[])*/

staticStringSDisplay;/***显示JavaDoc*@paramargs从命令行中带入的字符串*@return无*/

publicstaticvoidmain(Stringargs[]){SDisplay="HelloWorld";System.out.println(SDisplay);}}2011-05-034javadoc注释(案例3-2)javadoc注释可以用于生成API文档从javadoc注释中生成API文档的时候,主要从以下几项内容中提取信息:包;公有(public)类与接口;公有(public)方法和受保护(protected)方法;公有(public)属性和受保护(protected)属性。2011-05-035javadoc注释—javadoc标记常常在javadoc注释中加入一个以“@”开头的标记,结合javadoc指令的参数,可以在生成的API文档中产生特定的标记常用的javadoc标记@author:作者@version:版本@docroot:表示产生文档的根路径@deprecated:不推荐使用的方法@param:方法的参数类型@return:方法的返回类型@see:"参见",用于指定参考的内容@exception:抛出的异常@throws:抛出的异常,和exception同义2011-05-036javadoc命令Javadoc命令格式:javadoc[options][packagenames][sourcefiles][@files]2011-05-037分割符一条语句是以分号(;)结尾的一行代码 一个语句块是以一对花括号({})为边界的语句的集合Java中允许有任意多的空格,包括换行2011-05-038标识符标识符用作给变量、类和方法命名可以以字母、下划线“_”和”$”符开头首字符外,可以跟上字母、下划线“_”和”$”符或数字Java是大小写敏感的,标识符也不例外2011-05-039标识符(con.)合法标识符非法标识符TeStHelloWorldA11A_booleanbooleanA$CA@Ca#变量String2011-05-03102023/2/4标识符、关键字、数据类型11Java关键字/保留字Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字;goto和const虽然从未被使用,但也作为Java关键字保留;Java中一共有51个关键字,如下表所示Java关键字(con.)abstractassertbooleanbreakbytecontinuecasecatchcharclass类constdoubledefaultdoextendselsefinal变量floatforgotolongifimplementsimport导包nativenewnullinstanceofintinterfacepackage包privateprotectedpublicreturn返回值shortstatic静态strictfpsuperswitchsynchronizedthiswhilevoidthrowthrowstransienttryvolatile2011-05-0312数据类型Java是一门强类型语言。也就是说,所有的变量都必须显式声明类型。Java的数据类型分为两大类:原始类型(primitivetype,也称为简单类型)和引用类型(referencetype)原始类型指的是一个数、一个字符或者一个true/false值。它不提供任何与它们所持有的数据类型相关的行为。Java有8种简单类型。2011-05-0313数据类型(con.)数据类型有效范围(bits)数据类型有效范围(bits)boolean1char16byte8short16int32long64float32double642011-05-0314数据类型的分类数据类型简单数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组2011-05-0315布尔类型boolean类型适于逻辑运算,一般用于程序流程控制

boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。用法举例:

booleanb=false; if(b){ //dosomething }2011-05-0316字符型(案例3-3)char型数据用来表示通常意义上“字符”字符常量是用单引号括起来的单个字符charc='A';Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(前缀为u表示Unicode)charc1='\u0061';Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义charc2='\n';//代表换行符2011-05-0317特殊字符转义符含义Unicode值\b退格(backspace)\u0008\n换行\u000a\r回车\u000d\t制表符(tab)\u0009\“双引号\u0022\‘单引号\u0027\\反斜杠\u005c2011-05-0318整数类型Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性。类型占用存储空间表数范围byte1字节

-128~127-27~27-1short2字节

-215~215-1(-32768~32767)int4字节

-231~231-1(-2147483648~2147483647)long8字节

-263~263-12011-05-0319整数类型(con.)Java语言整型常量的三种表示形式:十进制整数,如12,-314,0。八进制整数,要求以0开头,如012十六进制数,要求0x或0X开头,如0x12Java语言的整型常量默认为int型,如:inti=3;声明long型常量可以后加‘

l’或‘

L’

,如:longl=3L;2011-05-0320浮点型Java浮点类型有固定的表数范围和字段长度。和整数类型一样,在java中,符点类型的范围与机器无关。类型占用存储空间表数范围float4字节

-3.403E38~3.403E38double8字节

-1.798E308~1.798E3082011-05-0321浮点型Java浮点类型常量有两种表示形式十进制数形式,必须含有小数点,例如: 3.14314.0.314科学记数法形式,如

3.14e23.14E2314E2Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:

doubled=3.14; floatf=3.14f;2011-05-0322各种整型数据类型的转换(案例3-4)通常,我们需要在不同的数据类型之间进行转换。简单类型除了boolean类型以外,其他的数据类型可以自动转换成其他的数据类型,只要遵循如下图所示的原则:byteshortcharintlongfloatdouble2011-05-0323Java引用类型(案例3-5)Java语言中除8种基本数据类型以外的数据类型称为引用类型引用类型数据以对象的形式存在引用类型变量的值是某个对象的句柄,而不是对象本身声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象2011-05-0324一个引用类型的例子publicclassStudent{Stringname;Stringsex;intgrade;intage;Student(String_name,String_sex,

int_grade,int_age){name=_name;sex=_sex;grade=_grade;age=_age;}}2011-05-0325对象的构造和初始化nullLisaMale118snamesexgradeage0xa76787650xa7678765Students=null;Stringname=s.getName();//报错,空指针异常s=newStudent("Lisa","Male",1,18);Stringname1=s.getName();//返回”Lisa”Students1=s;栈堆Lisa0xa7678765s12011-05-0326标识符、关键字、数据类型(下)ID:SCSJ001-JavaBasicSyntax2011-05-0327标识符、关键字、数据类型(下)成员变量/局部变量值传递Java编码规范2011-05-0328变量和它的作用范围在Java中,每个变量都有类型在使用变量之前,必须先声明变量的类型。类型可以是简单类型,也可以是引用类型变量总是在一个类中声明。但一个变量可能和整个类相关联,也可能只在方法体中或某个程序块中起作用2011-05-0329变量声明的例子(局部变量)publicclasstest{

publicvoidaMethod(intj) {

intm,n,k; Stringa=“aaaa”,b=“bbbb”; m=j; k=100; System.out.println(m); System.out.println(n);//Error System.out.println(k); }}2011-05-0330变量声明的例子(全局变量)(3-6)publicclasstest{

inti=10,p=20;

floatf,j; f=100.0f Strings1,s2;…

…}2011-05-0331变量的初始化局部变量在使用之前,必须先初始化。全局变量如果没有初始化就拿来使用,系统将会自动给它一个默认的初值。2011-05-0332全局变量的默认初值(案例3-7)TypeDefaultValueTypeDefaultValuebyte0short0int0long0Lfloat0.0fdouble0.0dchar‘\u0000’booleanfalseobjectrefnull2011-05-0333传值(案例3-9)Java在参数传递时,只使用值传递当对象实例作为参数传递给方法时,这个参数的值是对象的引用,而不是对象本身s1s20x1a4afb“Lisa”“male”1namesexgrade18age0x1a4afb0x1a4afbs2=s12011-05-0334传值(案例3-10)再来看一个简单类型数据传值的例子思考:打印出来的结果是什么?为什么?publicclassCallByValuePri{ staticvoidhalf(intn){ n=n/2; System.out.println("half方法n="+n); } publicstaticvoidmain(Stringargs[]){ intm=10 System.out.println("BeforetheInvocation,m="+m); half(m); System.out.println("AftertheInvocation,m="+m); }}2011-05-0335传值publicclassTest{publicstaticvoidchangeStr(Stringstr){str="welcome";}

publicstaticvoidmain(String[]args){Stringstr="1234";changeStr(str);System.out.println(str);}}//result:”1234”why?2011-05-0336思考:传值?publicclassTest{publicstaticvoidchange(Studentstu){stu=newStudent();stu.setName(“zhangsan”);}

publicstaticvoidmain(String[]args){Studentstu=newStudent(“lisi”);change(stu);System.out.println(stu.getName());}}2011-05-0337Java编程风格在编写Java程序时,对于类名、变量名、包名、方法名等有一些约定俗成的写法,这种写法可以提高程序的可读性,但这些编程风格并非必须。应该避免使用一些毫无意义的字符来作为包名、类名、变量名以及方法名等2011-05-0338Java编程风格(con.)Package(包):packagebanking;.tsinghua;Class(类)class Studentclass TestStudentInterface(接口)interfacePerson;2011-05-0339Java编程风格(con

温馨提示

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

评论

0/150

提交评论