(基本数据类型数据转换)程序讲解基本数据类型赋值的时以及数据转换需要注意的事情,主要是long和float

本文详细介绍了Java中基本数据类型的取值范围,强调了long和float在赋值时需要注意的问题。long类型赋值需在数字后加L,以避免数据过大导致错误,而float类型赋值需加F以防止数据类型不兼容。同时,文章提到了数据类型的自动转换和强制转换,以及转换可能带来的精度损失。
摘要由CSDN通过智能技术生成

一基本数据类型的取值范围以及long和double类型赋值时候的注意事项


基本数据类型的取值范围

在这里插入图片描述

可以观察下面的代码

public class dealWithChuFa {


    /*
      程序讲解基本数据类型的数据赋值问题

      主要就是long类型和float在赋值的时候容易出现问:
      1.整型数据右边默认是int类型的数据,浮点型数据右边默认是double类型的数据
      2.Long类型在赋值的时候为了防止数据过大,要在右边的数字后面加上L
      3.float类型在赋值的时候为了反之数据类型不兼容,要在右边的数字后面加上F
      4.大概记住int的范围是21亿,long的范围是2的63次方-1

     */
    public static void main(String[] args) {

     byte a = 10 ;
     System.out.println("byte a = "+a);

     short b = 100 ;
     System.out.println("short b = "+b);

     int c = 10000 ;
     System.out.println("int c  = "+c);

     int cc = 'A';
     System.out.println("int cc = "+cc);

     double d = 13.14 ;
     System.out.println("double b = "+d);

     char e = 'e';
     System.out.println("char e = "+e);


     long l = 10000000000L;
      //  long l = 10000000000;  这样写就会报错
     //在这里输入100亿就直接报错了但是long类型的最大值是2的64次方完全够用的
        //因为你只是在左边声明了一下long类型,右边没有声明所以系统默认右边还是int类型
        //但是int类型的数据是2的63次方-1大概是21亿这里是100亿所以就错了  所以编译过不去
        //解决方法右边数字末尾加一个l
     System.out.println("long l = "+l);

     //定义一个float类型的数据
        //注意double 和 float数据类型数据的取值范围基本上就是无穷了
        float f  = 13.14f;
        //float f  = 13.14;  这样就会报错
        //这里直接就会报错说不兼容的类型,double无法转为float,
        // 因为只有左边声明了是float类型的据,右边默认是是double类型的数据
        //解决方法就是在右边加一个f

    }

}

主要就是long类型和float在赋值的时候容易出现问:
1.整型数据右边默认是int类型的数据,浮点型数据右边默认是double类型的数据
2.Long类型在赋值的时候为了防止数据过大,要在右边的数字后面加上L
3.float类型在赋值的时候为了反之数据类型不兼容,要在右边的数字后面加上F
4.大概记住int的范围是21亿,long的范围是2的63次方</>

二数据的转换(自动转换,强制转换)

根据上面的表格我们可以得出基本数据类之间的大小关系,如下图

在这里插入图片描述

范围小的数据类型转换为范围大的数据类型 -----> 自动转换

如 double d = 10 ; 就是 int -->double 不过输出的就是10.0

范围大的数据类型转换为范围小的数据类型 -----> 强制转换 注意强制转换可能会损是精度

如 byte b = 10 ; //小到大自动转换
short s = b ; //小到大自动转换
int i =b ; //小到大自动转换
char c = b ; //报错 ; int 到char 大到小属于强转换,可能会丢失精度

强制类型转换:大到小,
格式:目标数据类型 变量名 = (目标数据类型) 值或者变量

列如: int i = (int)88.88 ;
//使用了强制类型转换这时候不会报错,因为我们加了(int),但是输出的是 88 损失了精度。

细心的话你可能会发现有一个 short s = a ;输出s以后我们会得到一个字符a对应的ASCII码的数值,这个就涉及到char类型的使用了,下一节我们讲解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值