知识回顾•类和对象•类的属性和方法•构造方法及其作用•对象的创建和使用标识符、关键字、数据类型(上)§标识符§关键字§Java基本数据类型§Java引用类型§包§注释及分隔符、Java文档化工具publicclassStudent{Stringname;intage;floatweight;publicStudent(String_name){name=_name;}publicStringgetName(){returnname;}}?????????分割符•一条语句必须以分号“;”结尾System.out.println(“HelloWorld”);•代码写在{}里面publicvoidgetName(){System.out.println(“MynameisJames.”);}•Java中允许有任意多的空格,包括换行标识符•标识符就是变量、类和方法的名字如:publicclassStudent{//注意类名首字母大写intage;//注意变量名首字母小写}•变量的名字可以以字母、下划线“_”和”$”符开头intmyName;int_myname;int$mynameintmy8name;int我的名字;int8name;int*myname;intmy@name;•首字符外,可以跟上字母、下划线“_”和”$”符或数字•Java是大小写敏感的,标识符也不例外intMYName;intMyName;//注意这两个不一样标识符(con.)String大家好A@Ca#A$Cboolean_boolean1AA1HelloWorldTeSt非法标识符合法标识符Java关键字/保留字§Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)§所有的Java关键字都是小写的,如true,false,null,public等;TRUE、FALSE、NULL等都不是Java关键字;§goto和const虽然从未被使用,但也作为Java关键字保留;•Java中一共有51个关键字,如下表所示Java关键字数据类型的分类数据类型简单数据类型复合数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组简单数据类型字节:byte位:bit8字节double4字节float8字节long4字节int2字节short1字节byte2字节char1位boolean数据长度数据类型数据长度数据类型布尔类型§boolean类型适于逻辑运算,一般用于程序流程控制if(真)执行A代码if(假)执行B代码§boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。§用法举例:•booleanb=false;•if(b){•//dosomething•}•System.out.println(“mynameisJames.”);字符型§char型数据用来表示通常意义上“字符”a,b,c,2,5,…..§字符常量是用单引号括起来的单个字符–charc='A';charc=‘aaa’;–charc1='\u0061';§Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义–charc2=‘\n’;//代表换行符–EG3-3特殊字符\u005c反斜杠\\\u0027单引号\‘\u0022双引号\“\u0009制表符(tab)\t\u000d回车\r\u000a换行\n\u0008退格(backspace)\bUnicode值含义转义符整数类型整数类型§Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性。8字节4字节2字节1字节占用存储空间-231~231-1(-2147483648~2147483647)int-263~263-1long-215~215-1(-32768~32767)short-128~127byte表数范围类型整数类型(con.)•Java语言整型常量的三种表示形式:–十进制整数,如12,-314,0.–八进制整数,要求以0开头,如012.–十六进制数,要求0x或0X开头,如0x12•声明long型常量可以后加‘l’或‘L’,如:–longa=3L;–定义整形变量:–inta=90;–longb=45L;–shortc=20;浮点型•Java浮点类型有固定的表数范围和字段长度。和整数类型一样,在java中,符点类型的范围与机器无关。8字节4字节占用存储空间-1.798E308~1.798E308double-3.403E38~3.403E38float表数范围类型浮点型•Java浮点类型常量有两种表示形式–十进制数形式,必须含有小数点,例如:–3.14314.0.314–科学记数法形式,如–3.14e23.14E2314E2•Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:doubled=3.14;floatf=3.14f;各种整型数据类型的转换(3-4)•通常,我们需要在不同的数据类型之间进行转换。•简单类型除了boolean类型以外,其他的数据类型可以自动转换成其他的数据类型,只要遵循如下图所示的原则:低级高级byteshortcharintlongfloatdoubleJavaJava复合数据类型复合数据类型§Java语言中除8种基本数据类型以外的数据类型称为复合数据类型复合数据类型§§复合数据类型复合数据类型数据以对象的形式存在§§复合数据类型复合数据类型变量的值是某个对象的句柄(引用),而不是对象本身§声明复合数据类型复合数据类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象复合数据类型•复合数据类型包括(1)类:如HelloWorld,Student,String,System等…..(2)接口:如Connection,Runnable等……(3)数组:Stringargs[];publicvoidmyMethod(Stringa[]){….}Stringm[]={“you”,”me”,”she”};myMethod(m);JavaJava复合数据类型应用举例复合数据类型应用举例publicclassMyDate{–privateintday=12;//注意这里已经给了初始值–privateintmonth=6;–privateintyear=1900;–publicMyDate(intd,intm,inty){–year=y;–month=m;–day=d;–}–publicvoiddisplay(){–System.out.println(year+/+month+/+day);–}–publicstaticvoidmain(String[]args){–MyDatem;–m=newMyDate(22,9,2001);–m.display();–}}对象的构造和初始化对象的构造和初始化(1)(1)§为引用类型变量分配引用空间MyDatem;§创建新对象--首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化newMyDate(22,9,2001);nullnullm000daymonthyearm对象的构造和初始化对象的构造和初始化(2)(2)§Java引用类型成员变量默认初始化原则null所有引用类型falseboolean0.0Ddouble0.0Ffloat'\u0000'char0int0Llong0short0byte取值成员变量类型对象的构造和初始化对象的构造和初始化(3)(3)§进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分privateintday=12;–privateintmonth=6;–privateintyear=1900;nullm1261900daymonthyear对象的构造和初始化对象的构造和初始化(4)(4)§执行构造方法体中的语句–publicMydate(inty,intm,intd){–year=y;–month=m;–day=d;–}nullm2292001daymonthyear对象的构造和初始化对象的构造和初始化(5)(5)§为引用类型变量m赋值–m=newMyDate(22,9,2001);0x3a478bm2292001daymonthyear0x3a478bJava注释(3-1)•Java语言中定义了三种注释形式://单行注释----注释到行尾/*单行或多行注释*//**可以用于文档化处理的单行或多行注释*/•JDK中提供了一个文档自动生成工具javadoc,在自定义类中属性、方法前以/**…*/形式加入的注释内容均可被自动提取到生成的说明文档中。用法:javadocsource.java•Javadoc只处理源文件在类/接口、方法、属性、构造方法之前的注释,忽略其他地方的注释Javadoc注释•常常在javadoc注释中加入一个以“@”开头的标记,结合javadoc指令的参数,可以在生成的API文档中产生特定的标记•常用的javadoc标记–@author:作者–@version:版本–@docroot:表示产生文档的根路径–@deprecated:不推荐使用的方法–@param:方法的参数类型–@return:方法的返回类型–@see:参见,用于指定参考的内容–@exception:抛出的异常–@throws:抛出的异常,和exception同义–EG3-2Java注释(3-1)/***javadoc演示程序--bJavaDoc/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);}}Javadoc注释•javadoc注释可以用于生成API文档•注释格式/***@version1.0该方法完成价格的计算*/publicdoublegetPrice(){…………………………}–EG3-2javadoc命令•Javadoc命令格式:–javadoc[options][packagenames][sourcefiles][@files]–[option]:–-public:只显示公有类以及成员–-protected:只显示受保护的和公共的类以及成员。缺省默认选项–-package:只显示包、受保护的和公共的类以及成员–-private:显示所有的类和成员–Example:–Javac–privateStudent.java总结§掌握Java文档化工具的使用§掌握类、变量、方法的命名§熟悉常用的关键字§掌握Java基本数据类型§理解复合数据类型下次课的内容•成员变量/局部变量•方法调用时值传递•Java编码规范