- 2
- 0
- 约4.54千字
- 约 28页
- 2019-07-17 发布于辽宁
- 举报
SISE Java语言程序设计实用教程 Java语言程序设计实用教程 第3章 类型与运算符 * 本章学习要点: 理解Java的数据类型 掌握Java一维、二维数组的使用 掌握Java的运算符使用 * 数据类型 数据是程序操作的对象,具有名称、类型和作用域等特性。 数据由标识符命名; 数据的类型表示数据的性质、占用内存多少以及存放格式,不同的数据类型执行不同的操作; 数据的作用域表示数据在程序中可以使用的范围。 Java语言的数据类型分为两类:原始数据类型(基本数据类型)和引用数据类型(复合数据类型)。 数据类型的分类 数据类型的分类如下所示: 数据类型 基本数据类型 复合数据类型 数值型 字符型:char 布尔型:boolean 整型:byte,short,int,long 实型:float,double 类:class 数组和字符串 接口:interface * 基本数据类型的说明( P53页,表3-1 ) 所有基本数据类型的大、小(所占用的字节数)都已明确规定好,在各种不同的平台上都保持一致,这一特性有助于提高Java程序的可移植性。 长度 类型 范围 8 bits byte -27(128) ... 27 -1 16 bits short -215(32728) ... 215 –1 32 bit int -231(21亿) ... 231 –1 64 bits long -263(900亿亿) ... 263 –1 注:还可以用java.math包中的两个类: BigInteger,可以操作任意长度的整数运算。 BigDecimal,可以操作任意长度的浮点数运算 浮点值 缺省为double 浮点文字包括小数点或下列各项之一 E或e (增加指数值),F或f (float),D或d (double) 例如: 3.14 一个简单的double值 4.02E23 一个大的double值 2.718F 一个简单的float值 三种特殊的浮点值: 最大值:Double.MAX_VALUE ((2-2-52)·21023) 最小值:Double.MIN_VALUE (2-1074) 正无穷大:Double.POSITIVE_INFINITY 负无穷大:Double.NEGATIVE_INFINITY 非数字:Double.NaN 无穷大表示溢出,如0除任何数。 非数字表示出错,如0/0或负数开方。 浮点变量类型及范围 长度 类型 范围 32 bits float 约±3+38F (有效小数6-7位) 64 bits double 约±1.797693134862317E+308 (有效小数15位) 注意:浮点变量之间注意= =运算符的使用。应该用如下形式: double x, y; x = … ; y = … ; /*错误的用法*/ if (x = = y) {} /*正确的用法*/ if( Math.abs(x-y) 0.00001 ) {} 其中,0.00001表示需要的计算精度要求。 数据类型的转换有自动转变和强制转换两种形式 自动类型转换 整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。 要实现自动类型转变,需要同时满足两个条件,第一是两种类型彼此兼容,第二是目标类型的取值范围大于源类型。 例如,当byte型向int型转换时,由于int型的取值范围大于byte型,就会发生自动转换。 数据类型的转换(一) 不同类型数据间的优先关系如下: 低------------------------------------------------------高 byte,short,char- int - long - float - double 强制类型转换 当两种类型彼此不兼容,或者目标类型的取值范围小于源类型,自动转换无法进行,这时就需要进行强制类型转换。强制类型转换的通用格式如下: 目标类型 变量=(目标类型)值; 高级数据要转换成低级数据,需用到强制类型转换 表达式数据类型的自动提升 如果在JAVA应用程序表达式中出现数据类型不一致的情形,那么JAVA运行时系统首先自动将低优先级类型的数据转换成高优先级类型的数据,然后才进行表达式值的计算。 数据类型的转换(二) 数据类型之间的逻辑转换 int char byte short long float double
原创力文档

文档评论(0)