Java 拾遗补阙 ----- 数据类型

前言:

1)、byte是整型。

2)、整数字面量默认都为 int 类型

3)、浮点数字面量默认都为 double 类型

一、Java基本数据类型。

 

Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型、1种用于表示Unicode编码的字符单元的数据类型char和一种用于表示真值的boolean类型。、

 

1)四种整数类型(byte、short、int、long):

    byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 

    short:16 位,很少用,-32768 ~ 32767

    int:32 位、最常用,-2^31-1~2^31  (21 亿)

    long:64 位、次常用  

    注意事项:    int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。    整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。    小于 32 位数的变量,都按 int 结果计算。

    强转符比数学运算符优先级高。见常量与变量中的例子。

 

2)两种浮点数类型(float、double):

    float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。

    double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾

    注意事项:

    二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)  

  尾数:  . 1010100010   指数:1010   基数:2    

浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;

double 类型可不写后缀,但在小数计算中一定要写 D 或 X.X    float  的精度没有 long 高,有效位数(尾数)短。

    float  的范围大于 long  指数可以很大。    浮点数是不精确的,不能对浮点数进行精确比较。在实际中用 BigDecimal来进行金额计算。

 

3)一种字符类型(char):

    char:16 位,是整数类型,2个字节。用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。

    注意事项:    不能为 0个字符。在Java程序中能不用char型就不要用。

    转义字符:\n  换行  \r  回车  \t Tab 字符  \" 双引号  \\ 表示一个\    两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

 

4)一种布尔类型(boolean):

true 真  和 false 假。

 

二、数据类型之间的转换

基本类型大小对应的包装类最小值最大值
byte8-bitJava.lang.Byte-128+127
short2Byte= 16bitJava.lang.Short-32768+32767
int4Byte= 32bitJava.lang.Integer-2^31+2^31-1
long8Byte= 64bitJava.lang.Long-2^63+2^63-1
float4Byte= 32bitJava.lang.Float1.4e-453.40e38
double8Byte= 64bitJava.lang.Double4.9e-3241.79e308
char2Byte=16bitJava.lang.Character065535
boolean-Java.lang.Boolean--

1、基本数据类型之间的转换

但在实际应用中,经常需要在不同类型的值之间进行操作,这时就需要进行数据类型的转换。 

 

数据类型转换有两种: 

1. 自动类型转换:

编译器自动完成类型转换,不需要在程序中编写代码; 
规则:从存储范围小的类型到存储范围大的类型。 
具体规则:byte→short(char)→int→long→float→double. 


2. 强制类型转换:

强制编译器进行类型转换,必须在程序中编写代码。该类型转换很可能存在精度的损失。 
规则:从存储范围大的类型到存储范围小的类型。 
具体规则:double→float→long→int→short(char)→byte. 
 

2、基本数据类型和包装类之间的转换

  1. 通过向对应的包装器传入参数来完成基本变量包装成包装类对象;

  2. 利用包装类提供的xxxValue()方法将包装类对象转化成基本类型变量。 

如int和Integer之间的转换: 
Int转Integer:
Integer integer = new Integer(int); 
 
Integer转int:
int i = integer.intValue(); 
 
Double转double:
double b = Double.doubleValue(); 
 
Float转float:
float c = Float.floatValue(); 
……
 

3、基本类型变量和字符串之间的转换

1. 除Character外,所有的包装类提供parseXXX()方法将特定的字符串转换成基本类型变量

 

2. String类提供了valueOf()方法将基本类型转换成字符串。 

 String iStr = “123”;
        int testInt = Interger.parseInt(iStr); //将String类型的“123”转为了基本类型int的123.
        String nStr = String.valueOf(100.234); //将double类型的100.234转为了String类型的“100.234”.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值