07变量类型

上传人:小** 文档编号:45731304 上传时间:2018-06-18 格式:PPT 页数:16 大小:157KB
返回 下载 相关 举报
07变量类型_第1页
第1页 / 共16页
07变量类型_第2页
第2页 / 共16页
07变量类型_第3页
第3页 / 共16页
07变量类型_第4页
第4页 / 共16页
07变量类型_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《07变量类型》由会员分享,可在线阅读,更多相关《07变量类型(16页珍藏版)》请在金锄头文库上搜索。

1、第7章 类型、数值、变量 w类型(types)与数值(values) wJava程序语言是一种强固类型化(strongly typed)语言。意思是每 一个变量(variable)和表达式(expression)都有一种在编译时期 所认知的类型。类型限制了变量所持有的数值或表达式( operation)所产生之数值(value),也限制了这些数值的运算, 并决定了这些运算结果的意义。强固类型化有助于编译时期的错 误检测。在Java程序里,每一个变量和每一个表达式都需要有一 个在编译时期能被决定的类型 。 w编译时期类型 (compile time type) w执行时期类型 (run-time

2、 type) 类型常被用到的地方 1.程序开头的声明 (declaration): public class ChartDemo extends java.applet.Applet static final intVER = 0; static final int HORI= 1; intorientation; Stringtitlebar; FonttitleFont; FontMetricstitleFontMetrics; inttitleHeight = 15; intcolumns; intvalues; Objectcolors; Objectlabels; 2.局部变量 pu

3、blic void init() URL codebase = getCodeBase();System.out.println(“codebase=“+codebase); 3.方法的回传值 public String getParameterInfo() return null;简单类(Primitive type ) Java程序语言的类型分作两大类:简单类(primitive type)及引用类 (reference type)。简单类又包含了布尔(boolean)类型及数字( numeric)类型。引用类包含了类(class)类型、接口类型( interface)及数组(array)

4、类型。另外还有一种特别的类型 null 。 简单类(Primitive type) 位数 值域( range of values 布尔 boolean true,false 整型 byte 8 -128127 short 16 -32768+32767 int 32 -2147483648+2147483647 数字 long 64 -9223372036854775808+9223372036854775807 char 16 “u0000” “uFFFF?0 65535)” 浮点数 float 32 1.40239846E-453.40282347E+38 double 64 4.9406

5、5645841246544E-324 1.79769313486231570E+308 数值包装类( numeric wrapper class) 在java.lang包中有各种简单类相对应的类,称作数值包装类( numeric wrapper class)。这些类的名称,大部分均以各简单类类 型第一个字母换成大写的方式来命名 。 boolean= Boolean byte= Byte short= Short int= Integer long= Long char= Character float= Float double= DoubleNumber类 而这些类有一个共同的抽象超类:Nu

6、mber。这 个类提供了一些可转成各种简单类数值的方法 ,并且由数值包装类所继承 : byte byteValue() abstract double doubleValue() abstract float floatValue() abstract int intValue() abstract long longValue() short shortValue() 引用类引用类包含了类(class)类型、接口类 型(interface)及数组(array)类型。引 用(references)是一个指到某对象的指 针(pointer),而null引用,是没有指到 任何对象 。 类类型 类类

7、型是Java程序设计的基本单元(Unit)。它包含了数据字段 (data field)构造函数(constructor)以及方法(method),另外 还有内部类(Inner class)。在Java包中的每一个类,均可以当作 一种类型。若包需用import语句引入者,其中所定义的类类型称 作引入类型 (imported types)。 在Java里面,一个对象(object),就是一个类的实例(instance)或 者是一个数组。换句话说,每一个对象都属于某一特定的类类型 ,而在程序开始时的声明里,一个变量或表达式所声明的类型称 为编译时期类型(compile time type)。编译时期

8、类型限制了一个变量所持有或表达式所产生的可能数值 ,而一个变量或表达式若在执行时期(run-time)非为null时,我 们说它有执行时期类型(run-time type),意即此变量对象(或数 组)有一种类,当然此类必定兼容于(compatible)编译时期类型 。接口类型 接口是Java为着解决多重继承问题所产生的。 虽然一个变量或表达式可被声明为某接口类型 ,但它们却不是此接口的实例。接口没有实例 可言。一个被声明为某接口类型的变量或表达 式,可以引用到任何实现(implement)此接口 的对象 。数组类型 数组(array)是一种数据结构(data structure),可提供存储同

9、一类 型的一群变量。而这些变量可用同一名称被引用到。数组被视为 一种对象,其名称所代表的是一个引用 。 一维数组 数组的声明,可用两种方式 : 数据类型 数组名; 或数据类型 数组名 ; 例如 String args; 或 String args ; 数组声明完后,可藉new 运算符来产生真正的内存空间配置。但 数组大小声明后不能再被改变 。数组名new 数据类型数组大小 一维数组 如float tax=new float5; 数组被声明后,其数组大小值会被放在所分配内存 区的第一个地址,并以length作此地址的引用。 所以我们可用tax.length来取得此数组的大小值 。 数组被设置数值

10、的方法如下: tax06786.5 tax18763.79 多维数组 数组也可以用“数组的数组”方式来产生多维数组 。 例如: int number=new int33; number00=1; number01=2; number02=3; number00=4; number01=5; number02=6; number00=7; number01=8; number02=9;若要简化上面的设置,可用一组嵌套式大括号来完成 。 int number=1,2,3,4,5,6,7,8,9;类型转换(type conversion) Java允许数据类型间的转换,但在下列限制之 下 : 1.简

11、单类与引用类彼此间不能转换。只限简单类 间的转换,或引用类间的转换 。 2.简单类中的布尔类型也与数字类型不能互相转 换,也就是说,布尔类型是所有类型中唯一不 能与其它类型转换的 。 转换的方法为: (数据类型)表达式 简单类转换 类型转换基本上有两种方式:放大转换(widening conversion)与 缩小转换 (narrowing conversion)。所谓放大转换意思是转换后的类型之值域变大了,反之,缩小转换是变小了 。 整型 位 浮点数 byte 8 char (16) short (16) 放大 缩小 int (32) float long (64) double 引用类转换

12、 引用类转换包含了类类型间的转换与数组类型间的转换。类类型间 的转换有一个限制,那就是若两对象间若没有在类层级(class hierarchy,第3章)中的上下类关系,就不能转换,例如在java.lang 包中的String与Character类因无上下关系,就无法转换。 而对象的类类型被转成超类类型,就是放大转换。若转成下类类 型,就是缩小转换 。 至于数组类型因为每一种数组类型都不同,所以不能转换。例如 long不能转成int 。 但因所有数组都可视为一种Object的实例,故可与Object做放大缩 小的转换 。 例如: Object object=new float45.5f,467.

13、84f,765.89f;放大转换 float abc=(float) object;缩小转换 变量 (variables) w变量是一个存储地址(storage location),而且有其相关类型,有时也称 为编译时期类型(compile-time type)。变量的类型包括简单类与引用类 ,而变量的种类有下列几种 : w类变量 (class variables) w实例变量 (instance variables) w局部变量 (local variables) w方法参数 (method parameters) w构造函数参数 (constructors parameters) w异常处

14、理者参数 (exception-handler parameters) w数组组件 (array components) w最终变量 (final variables) w最终变量是被声明成final的变量。最终变量只能被指定(assigned)一次 。如果最终变量再被指定一次,则会产生编译错误。除非它在被指定前 被声明未指定 (unassigned)。 变量的作用范围(scope) w变量在程序区块中的 应用范围称作变量作 用范围(scope)。 每一种变量有其特定 的作用范围,也就是 有其特定的有效范围 。 public class AClass类变量声明 实例变量声明 .public void oneMethod(方法参数行)局部变量声明try.catch(异常处理者参数).成员变量的 视野方法或构造函数参数 的视野局部变量的视 野异常处理者参数的 视野

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

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

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