java的基本数据类型详解

整型

类型大小取值范围
int4字节[-2^31, 2^31-1]
short2字节[-32 768 ,32 767]
long8字节[-9 223 372 036 854 775, 9 223 372 036 854 775 807]
byte1字节[-128,127]

与c++/c程序不同的是,java的整型大小与运行java的机器无关,此外,java也没有任何无符号形式的int、long、short、或byte类型

浮点类型

类型大小取值范围
float4字节大约 ±3.402 823 47E+38F(有效位数6~7位)
double8字节大约 ±1.797 693 134 862 315 70E+308(有效位数为15位)

double的有效位数大约是float的两倍(故称之为双精度数值)。

float类型的数值有一个F或f后缀,没有该后缀的数总是默认为double类型,double类型的数值会有后缀D或d。 通常情况下,float类型的精度不足以满足需求,double更加常用。

所有浮点数值的计算都遵循IEEE754规范,java提供了3个特殊数值表示浮点运算中溢出和出错情况

  • 正无穷大 Double.POSITIVE_INFINITY
  • 负无穷大 Double.NEGATIVE_INFINITY
  • Double.NaN 不是一个数字
    注意, 判断一个非数值不能使用if(x == Double.NaN) //始终为false
    应当使用if(Double.isNaN(x))

Unicode和char类型

首先引入码点概念:码点(code point)是指某个字符在编码表中对应的代码值。在Unicode标准中,码点采用16进制表示,并在其代码值前加上前缀U+,如U+0041是A的码点。

Unicode的所有码点被分为17个部分,每个部分的正规叫法是代码平面。通俗来讲,就是把码点的取值范围划分为17个部分。其中U+0000到U+FFFF称为第一个代码平面,叫做基本多语言平面,而其余的16个代码平面的码点的取值范围为U+10000到U+10FFFF。

在基本多语言平面中,每个字符用16位表示(4位16进制),通常称作代码单元。对于辅助字符(无法用输入法打出来的字符),用两个代码单元表示。
在java中,char类型描述了UTF-16编码中的一个代码单元,即char类型占2个字节
强烈建议在程序中尽量使用String代替char,除法确实需要使用char类型来处理UTF-16代码单元

布尔类型

boolean类型只有两个值:true和false,与c和c++不同的是,在java中,整型值和布尔值之间不能强制转换,即while(1)这种用法在java中将会报错

常量与变量

变量
在声明一个变量后必须对其进行显式的初始化后,才能使用

int v;
System.out.println(v);

java编译器会认为上述代码是错误的。

变量的声明尽量靠近变量第一次使用的地方,这是一个良好的编程习惯。

从java10开始,对于局部变量,如果可以从变量的初始值推断出它的类型,便可不需要声明类型,只需要使用关键字var

var v=12    //v是一个整型
var c="hello world"   //c是一个字符串

常量
在java中, 利用关键字final指示常量
用final修饰的变量只能被赋值一次,此后不会被修改,常量名一般大写

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值