30.Java简单数据类型

Java有8种简单类型:四种整型,两种浮点型,一种字符型,一种用于表示true/false的布尔类型。

 

其中,整型数据类型:byte short int long

 

浮点型:float double

 

字符型:char

 

布尔型:boolean

 

char也可以看成是整型数据,但它是无符号的(没有负数)。

 

1.布尔类型

 

 布尔类型的数据用于表示逻辑上的“真”或“假”,在Java中,boolean类型的数据只能取值true或false。不能用整型的0或1来替代。同时,boolean类型的数据也不能转换成其他类型的数据。除了布尔类型,其他的几种简单数据类型都可以有相应的方法进行相互转化。

 

例如: boolean b1 = false;

          booealn b2 = true;

 

注意,绝对不要给false或者true用双引号括起来。true和false不是关键字,但是在Java中也不允许用这两个单词做标识符。因为它俩是代表着这两个特殊的布尔值。 

 

2.字符类型

 

字符(char)类型数据用来表示通常意义上“字符”。字符常量是用单引号括起来的单个字符。


Java与众不同的特征之一就是Java对各种字符的支持,这是因为Java中的字符采用16位的Unicode编码格式,Unicode被设计用来表示世界上所有书面语言的字符。Char简单类型保存一个16位的Unicode字符


Unicode字符通常用十六进制编码形式表示,范围是‘\u0000’~‘\uFFFF’,其中前缀‘\u’标志着这是一个Unicode编码字符,其中前256个(‘\u0000’~‘\u00FF’)字符与ASCII码中的字符完全重合。

 

char型数据只能记录单个的字符值,为表述更多的文字信息,java语言还提供了String类型----记录由多个字符组成的字符串。前面已经提醒过了,String不是简单数据类型,是引用类型。

 

char类型的数据用单引号来表示,注意它和String类型数据的区别,例如,‘A’表示的是一个char类型的数据,而“A”表示的是一个String类型的数据,它们的含义是不同的。


Java语言中还允许使用转义字符‘\’来将其后的字符转变为其它的含义,例如,如果需要在java中使用一个绝对路径:c:\tsinghua\java,如果直接在程序中写String path = “c:\test\java”,则不会得到你期望的结果,因为java将“\”当成转义符了,所以你必须用\来转义\。这时候应该这样来写:String path = “c:\\test\\java”;

 

3.整数类型

 

整数类型分为四类:byte、short、int以及long,它们的差别在于它们所占用的内存空间和表数范围不同。

 

byte 1字节  -128 ~ 127
short 2字节  -215 ~ 215-1 (-32768~32767)
int  4字节  -231 ~ 231-1 (-2147483648~2147483647)
long 8字节  -263 ~ 263-1

通常情况下,int是最常用的一种整型数据,它也是Java中整数常量的默认类型。在表示非常巨大的数字时,则需要用到更大范围的long。对于前面三种整数数据类型的数据,只需要直接写出数据就可以了,而对于长整形(long)数据,需要在长整型数据后面加上L或l来表示。但是很显然,l与数字1在阅读的时候是非常容易混淆的,所以为了不必要的麻烦,这里建议用大写L。


整型常量虽然默认为int类型,但在不超过其表数范围的情况下,可以将int类型的数据直接赋给char、byte、short类型的变量。要注意前提,否则编译会提示,超出表数范围,编译报错。而且注意这里包括char型。因为虽然char是字符型,但在进行存储数据时候,存储的是该字符的unicode编码,本质上仍然是整型数据。

 

Java中允许使用三种不同的进制形式表示整型变量:八进制、十进制、十六进制。十六进制数据通过加上前缀0x来表示,八进制数据通过加上前缀0来表示。一旦遇上了这样的代码:

 

int i = 010,千万不要自作聪明的把0去掉。这里010就是8进制数据了,换算出10进制就是8!

 

4.浮点类型 

 

Java浮点类型有两种:float和double。Java浮点类型有固定的表数范围和字段长度。和整数类型一样,在Java中,浮点类型的字段长度和表数范围与机器无关,这点是由Java平台无关性特性决定的。这是与其他的同期的面向对象编程语言的巨大不同。

 

float 4字节  -3.403E38~3.403E38
double 8字节  -1.798E308~1.798E308


double类型的浮点类型数据正如它的名字所揭示的,它表示精度是float的两倍(因此也将double类型的数据称为双精度类型的数据)。表示float类型的数据需要在数字后面加上F,用于和double类型数据相区别。

 

Java语言浮点类型常量有两种表示形式:


 十进制数形式,必须含有小数点,例如3.14、314.0、.314。否则将被当作int型常量处理,例如314。
 科学记数法形式,如3.14e2、3.14E2、314E2。注意,只有浮点类型才能采用科学记数法表示,因此314E2也是浮点型常量,而不是int型。


Java语言的浮点型常量默认为double型,要声明一个常量为float型,则要在它数字的后面加f或F。例如:


3.0表示一个double型常量,占64位内存空间。
3.0f表示一个float型常量,占32位内存空间。

 

另外,有三种特殊的浮点值:正无穷、负无穷以及NaN,用于表示溢出和出错。例如,用一个0去除一个正数,会得到一个正无穷(infinity),而0/0或者对一个负数开平方则会得到一个NaN。NaN是一个非常特殊的值,特殊到什么地步?它甚至和自己都不相等!

 

前面说到了在Java的简单数据类型之间,除了布尔类型之外,其他都可以相互转化,下篇就说说转化的方式和规律。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值