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

作者:心皿月 时间:2023-08-10 08:33:37 

1.数据类型的分类

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

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

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

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

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

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

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

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

注意事项:

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

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

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

2.基本数据类型转换

(1)自动类型转换

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

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

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

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

注: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

②示例:

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

注意事项:

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

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

例:

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

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

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

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

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

(2)强制类型转换 

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

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

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

①示例

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

 ②底层实现原理

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

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

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

来源:https://blog.csdn.net/qq_49129184/article/details/125951154

标签:Java,数据,类型,分类,转换
0
投稿

猜你喜欢

  • Java 的可变参数方法详述

    2022-06-03 19:12:34
  • Android获取和读取短信验证码的实现方法

    2021-09-06 07:29:17
  • Java实现学生管理系统(控制台版本)

    2023-04-11 04:12:05
  • Android简单实现弹幕效果

    2022-08-12 01:24:08
  • Java SpringBoot整合shiro-spring-boot-starterqi项目报错解决

    2022-11-07 03:27:02
  • MyBatis关闭一级缓存的两种方式(分注解和xml两种方式)

    2023-09-02 10:18:59
  • java10下编译lombok注解代码分享

    2023-06-06 11:02:35
  • Java Fluent Mybatis实战之构建项目与代码生成篇下

    2023-11-24 10:59:52
  • Android自定义实现图片加文字功能

    2022-08-03 22:05:49
  • c# 使用模式匹配以及 is 和 as 运算符安全地进行强制转换

    2022-11-23 09:47:51
  • C#自定义针对URL地址的处理类实例

    2022-09-12 16:54:02
  • Android提高之MediaPlayer音视频播放

    2021-05-29 08:44:37
  • java数据结构算法稀疏数组示例详解

    2021-09-30 11:47:28
  • WinForm导出文件为Word、Excel、文本文件的方法

    2022-07-08 20:07:16
  • Java VisualVM监控远程JVM(详解)

    2022-07-10 15:59:15
  • android保存Bitmap图片到指定文件夹示例

    2022-10-11 22:59:14
  • DirectInfo.GetFiles返回数组的默认排序示例

    2022-11-15 14:45:02
  • java模拟hibernate一级缓存示例分享

    2023-06-18 08:43:55
  • Android 中TextView中跑马灯效果的实现方法

    2023-08-07 01:39:46
  • java实现读取、删除文件夹下的文件

    2021-12-06 20:07:48
  • asp之家 软件编程 m.aspxhome.com