Java是种强类型语言必须显示规定数据类型.ppt

上传人:人*** 文档编号:571088436 上传时间:2024-08-08 格式:PPT 页数:12 大小:275.37KB
返回 下载 相关 举报
Java是种强类型语言必须显示规定数据类型.ppt_第1页
第1页 / 共12页
Java是种强类型语言必须显示规定数据类型.ppt_第2页
第2页 / 共12页
Java是种强类型语言必须显示规定数据类型.ppt_第3页
第3页 / 共12页
Java是种强类型语言必须显示规定数据类型.ppt_第4页
第4页 / 共12页
Java是种强类型语言必须显示规定数据类型.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Java是种强类型语言必须显示规定数据类型.ppt》由会员分享,可在线阅读,更多相关《Java是种强类型语言必须显示规定数据类型.ppt(12页珍藏版)》请在金锄头文库上搜索。

1、ProgrammingwithTypesnJava是种强类型语言必须显示规定数据类型n使用基本类型可以大大地改善系统的特性,但是它不具有对象的特性,也不能满足很多特殊的需要。所以要用包装类来包装基本类型,使它变成对象类型。n几乎所有的基本类型(e.g.int,float,boolean)都有一个类或称“包装器类”与其对应,Class类则是表示类和接口的类型。n这些类具有三个优点:(1)、特定类型的有用静态方法具有逻辑的和统一的归宿。Forexample,把字符串转化为float的方法是Float类型类的静态方法(2)、描述性的方法和域也有逻辑归宿。常数MIN_VALUE和MAX_VALUE存在

2、于任一数值基本类型的类中,描述一个super类的方法存在于它的Class对象中。(3)、对于基本类型,可以创建包装器对象保存它们的值,然后这些对象可以应用。(-所以基本类型的类叫做包装器类(wrapperclass)。)这些类型的层次关系载入类Java的威力:能从对应用程序有意义的地方载入类。说明载入类的功能:游戏如果开发一个游戏,使得玩家可以利用他自己选择的任何策略编写类来玩游戏,需要提供一个抽象类Player,玩家继承它并实现自己的策略。当玩家准备尝试自己的策略时,他们往系统发送编译过的字节码。字节码被载入游戏,经过运算,把得分返回给玩家。n让人感兴趣的部分是:如何使游戏程序载入编译过的字

3、节码使用类载入器(classloader)n通过继承抽象的ClassLoader并实现它的loadClass()方法定义类载入器nloadClass方法:protectedabstractClassloadClass(Stringname,booleanresolve)throwsClassNotFoundException/如果resolve为true,它必须调用resolveClass以确保这个类引用的所有类都载入了包装器类概述n大部分基本语言类型都有表示它的类,叫做包装器类。n包装器类具有2个基本功能:1、为与这个类型相关的方法和变量(e.g.字符串转换和取值范围常数)提供一个归宿。下面

4、的实例检验到底是可以在一个特定的值上进行较快的float运算,还是这个值需要比float所能提供的更大范围:if(value=Float.MIN_VALUE&value=Float.MAX_VALUE)returnfasterFloatCal(float)value);elsereturnslowerDoubleCal(value);2、为那些只知道处理Object引用的通用类创建保存特定的基本类型值的对象。例如:Hashtable对象只能保存Object引用,不能保存基本类型.为了在Hashtable对象中把int作为keyvalue(explainit),必须创建保存这个值的Integer

5、对象:IntegerkeyObj=newInteger(key);map.put(keyObj,value);一些对所有的包装器类公用的方法1、构造函数,以基本类型为自变量,创建相应类型的一个对象(e.g.Character(char);)2、构造函数,解码一个简单的String参数,得到对象的初始值(Integer(String)3、toString()方法:得到对象类型的字符串形式4、typeValue():得到基本类型值,e.g.Character.charValue,Boolean.booleanValue;5、equals():比较同类型的类对象是否相等(区分大小写)6、hashCo

6、de():返回一个散列表的基于值的散列码利用包装器类进行类型转化的常用办法(以Integer为例,其他类类似)1、用包装器类来包装基本类型,使它变成对象类型。用其ConstructorSummary:Integer(intvalue),Integer(Strings)分别接受int和String。2、把一个包装类变成基本类型:有三种常用的方法:a.intValue():返回的是int其它的类型也有这方法:#Value()返回的是#。b.parseInt(Strings):这是一个static方法,用类名.parseInt(Strings)返回的是int,不用实例化一个类。要注意它传入的是Str

7、ing。其它的类型也有这方法parse#(String)返回的是#。c.valueOf(Strings):这是一个static方法,用类名.valueOf(Strings)但它返回的是Integer,是对象类型,可以与a方法一起用-就可以返回int。其它的类型也有这方法valueOf(Strings)返回的是#对象类型。3、最常用的方法:String(bytebytes,intoffset,intlength)bytebuf=newbyte100;intlen=bis.read(buf);System.out.println(newString(buf,0,en);/(explainit)具体

8、的对象类型(其中的一些常用方法)1、Boolean:不管其中大小写字母如何混杂,上页中提到的ConstructorSummary只把“true”当作true,其他字符串都解释为false2、Character:除提供常数MIN_VALUE和MAX_VALUE外,还提供常数MIN_RADIX和MAX_RADIX(字符数字和整数之间互译的方法所能理解的最小和最大基数(explainit))publicstaticintdigit(charch,intradix):返回指定基数上的数字ch的数值。若给定的字符不是合法数字,返回-1publicstaticcharforDigit(intdigit,i

9、ntradix):返回给定数字在指定的基数上的字符值。若给定的数字在指定的基数上非法,返回字符u0000publicstaticbooleanisLowercase(charch):如果ch是个小写字母,返回true(Uppercase同理)publicstaticbooleanisDigit(charch)publicstaticbooleanisLetter(charch)publicstaticbooleanisLetterOfDigit(charch)publicstaticbooleanisJavaLetter(charch)/是否可以作为Java标识/符的第一个字母aletter|

10、_|$publicstaticbooleanisJavaLetterOrDigit(charch)publicstaticbooleanisSpace(charch)/,t,n,f,rPS:部分转义符意义列表nf新页符(FF)nr回车(R)nb回格(Backspace,BS)nt水平制表符(HT)nn换行符(LF)n”双引号(“)n单引号()n反斜杠()3、一些Number类的共同的常用方法前面已列出,故不再赘述补充说明:除标准的Number方法,Float和Double支持以下方法(以Float和float为例,Double和Double类似)publicfinalstaticfloatPOSITIVE_INFINITY/+的值publicfinalstaticfloatNEGATIVE_INFINITY/-的值publicfinalstaticbooleanisNaN(floatval)/(explainNaN)publicfinalstaticbooleanisInfinite(floatval)/isnMoremethodsrefertoJavaDoc

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号