Java语言的基本数据类型

Java语言的基本数据类型共八种,也可称为内置类型,分别具有对应的包装类。字符型char,布尔型boolean以及数值型byte、short、int、long、float、double。数值型又可以分为整形(byte、short、int(默认类型)、long)与浮点型(float、double(默认类型))。它们的取值范围是固定的,不会随着机器硬件环境或软件环境的改变而改变。固定的存储空间正是Java可移植性、跨平台的原因之一。以上八种数据类型不存在“引用”的概念,其都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间中,而复杂数据类型,其“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上。

整数类型 

              byte 包装类 java.lang.Byte 其占1个字节 8位  默认初始值 0 取值范围 -2^(8-1)~2^(8-1)-1

              short 包装类 java.lang.Short 其占2个字节 16位 默认初始值 0 取值范围 -2^(16-1)~2^(16-1)-1

              int  包装类 java.lang.Integer  其占4个字节 32位 默认初始值 0 取值范围  -2^(32-1)~2^(32-1)-1 默认类型

              long 包装类 java.lang.Long 其占8个字节 64位 默认初始值 0 取值范围 -2^(64-1)~2^(64-1)-1

实数类型

              float 包装类 java.lang.Float 其占4个字节 32位 默认初始值  0.0

              double 包装类 java.lang.Double 其占8个字节 64位 默认初始值 0.0  默认类型

字符型

               char 包装类 java.lang.Character 其占2个字节 16位 默认初始值空格字符 取值范围 0 ~ 2^(16-1)-1  

布尔类型

              boolean 包装类 java.lang.Boolean 其占一位0或1  默认初始值false  取值 true false

 

当变量在方法中得初始化,在类中当属性时可以不用。

 

基本类型数据转型分为两种:自动转型和强制转型

           自动转型:当一个数据类型较“小”的数据和一个数据类型较”大“的数据一起运行时,系统会自动将较”小“的转换为较“大”的类型。

           在方法的调用中,如果实际参数类型较“小“,而函数的形参比较”大“时,除非有匹配的方法,否则会直接使用较”大”的形参函数进行使用。因为实参类型可自动的转为函数形参类型。

          强制装换:恰恰相反,将数据类型”大“的转换为“小”的时候,用强制转换不过这时有可能会出现精度损失。转换方法例如int num = (nt)3.14 ; 后num为3;不四舍五入

 byte  short (char)  int (默认类型) long float double 自动转换类型顺序 强制则反过来 。

 

常见问题:

               各种基本数据类型进行混合运算,结果会是表达能力最强的那种。如:int和long运算,结果是long,整型和浮点型运算结果是浮点型。特殊的一点是:只要类型比int小(如char、byte、short),那么在运算之前,这些值会自动地转换成int。

例子:
             byte b1 = 12;
             byte b2 = b1 + 1; //在编译时出错了!因为b1+1已经是int型了!切记! 系统自动转型了! (byte) (b + 1)

             float f = 1.3 ; //错的 因为 默认是 double类型 而且double类型高于float类型  解决的办法就是 float f = 1.3f; 或者是强转成float型。

             long l = 1L ; long l1 = 2l; 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值