Java数据类型分类与基本数据类型转换

 更新时间:2022年07月26日 15:56:02   作者:心皿月  
这篇文章主要介绍了Java数据类型分类与基本数据类型转换,Java的数据类型主要分为两类,基本数据类型、引用数据类型,下文详细介绍,感兴趣的朋友可以参考一下

1.数据类型的分类

Java的数据类型主要分为两类:基本数据类型引用数据类型

Java中的字符串String属于引用数据类型。因为String是一个类

他们的默认值和字节大小如下:

 byte类型的取值范围为-128~127,因为1个字节=8位,则一个字节的区间为:[-128,127]

 计算机储存有符号的整数时,是用该整数的补码进行存储的。

注意事项:

Java中的整型常量默认是int类型,声明long类型常量需要在数值后面加上“l或L”

Java中的小数默认是double类型,声明float类型常量需要在数值后面加上“f或F”

2.基本数据类型转换

(1)自动类型转换

即隐式类型转换:将小盒子装到大盒子里面,小=>大

类型范围小的变量,可以直接赋值给类型范围大的变量。

①底层实现原理如下图所示:

注:char类型也可以转换为int类型

char类型存放的unicode字符集,字符底层是二进制,二进制也就是数字,并且char占用2个字节,小于int的范围,所以可以转换为int类型。

A的ASCII码是65,a的ASCII码是97;ASCII码表中,一个字母的大小写数值相差32,一般知道大写字母的ASCII码数值,其对应的小写字母的ASCII码数值就算出来了,是大写字母的ASCII码数值“+32”。

0的ASCII码值为48,1的ASCII码值为49

②示例:

注意事项:

在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。

在表达式中,byte、short、char 是直接转换成int类型参与运算的

例:

 此处的i和j在做运算时,被转换为int类型进行计算,所以数据类型应改为int

思考:为什么要将数据类型转换成int进行计算?

因为当两个数都比较小的时候对结果可能没有影响,一旦两个数字都比较大,例如110+120=230,超出了byte的取值范围,所以索性直接转换成int进行计算。

(2)强制类型转换 

类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。

可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

转换格式:  数据类型   变量 =  (数据类型)   变量1

①示例

 ②底层实现原理

 强转成byte类型后只保留一个字节大小的数据,即1101 1100(补码形式),符号位是1说明是负数,将补码转换成原码后为1010 0100,对应的十进制为:-36

注意事项: 强制类型转换可能造成数据(丢失)溢出浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

到此这篇关于Java数据类型分类与基本数据类型转换的文章就介绍到这了,更多相关Java数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现堆排序(Heapsort)实例代码

    Java实现堆排序(Heapsort)实例代码

    这篇文章主要介绍了Java实现堆排序(Heapsort)实例代码,有需要的朋友可以参考一下
    2013-12-12
  • spring boot 测试单元修改数据库不成功的解决

    spring boot 测试单元修改数据库不成功的解决

    这篇文章主要介绍了spring boot 测试单元修改数据库不成功的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • ServletWebServerApplicationContext创建Web容器Tomcat示例

    ServletWebServerApplicationContext创建Web容器Tomcat示例

    这篇文章主要为大家介绍了ServletWebServerApplicationContext创建Web容器Tomcat示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Java设计模式之建造者模式的示例详解

    Java设计模式之建造者模式的示例详解

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2022-02-02
  • Java两大工具库Commons和Guava使用示例详解

    Java两大工具库Commons和Guava使用示例详解

    这篇文章主要为大家介绍了Java两大工具库Commons和Guava使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Java的接口和抽象类深入理解

    Java的接口和抽象类深入理解

    这篇文章主要介绍了Java的接口和抽象类深入理解的相关资料,希望通过本文大家能够理解应用接口与抽象类的使用方法,需要的朋友可以参考下
    2017-09-09
  • Java中的ClassLoader类加载器使用详解

    Java中的ClassLoader类加载器使用详解

    这篇文章主要介绍了Java中的ClassLoader类加载器使用详解,ClassLoader用于将CLASS文件动态加载到JVM中去,是所有类加载器的基类,所有继承自抽象的ClassLoader的加载器,都会优先判断是否被父类加载器加载过,防止多次加载,需要的朋友可以参考下
    2023-10-10
  • java实现下载文件到默认浏览器路径

    java实现下载文件到默认浏览器路径

    这篇文章主要介绍了java实现下载文件到默认浏览器路径,具有很好的参考价值,希望对的大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • spring mvc中直接注入的HttpServletRequst安全吗

    spring mvc中直接注入的HttpServletRequst安全吗

    这篇文章主要给大家介绍了关于spring mvc中直接注入的HttpServletRequst是不是安全的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-04-04
  • 如何使用SpringBoot集成Kafka实现用户数据变更后发送消息

    如何使用SpringBoot集成Kafka实现用户数据变更后发送消息

    Spring Boot集成Kafka实现用户数据变更后,向其他厂商发送消息,我们需要考虑配置Kafka连接、创建Kafka Producer发送消息、监听用户数据变更事件,并将事件转发到Kafka,本文分步骤给大家讲解使用SpringBoot集成Kafka实现用户数据变更后发送消息,感兴趣的朋友一起看看吧
    2024-07-07

最新评论