Java数据类型分类与基本数据类型转换
作者:心皿月 发布时间:2023-08-10 08:33:37
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
注意事项: 强制类型转换可能造成数据(丢失)溢出浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
来源:https://blog.csdn.net/qq_49129184/article/details/125951154
猜你喜欢
- 前言:在Java项目中,有两个主要的构建系统:Gradle和Maven。构建系统主要管理潜在的复杂依赖关系并正确编译项目。还可以将已编译的项
- 本文实例介绍了C 语言实现线程池,支持动态拓展和销毁,分享给大家供大家参考,具体内容如下实现功能1.初始化指定个数的线程2.使用链表来管理任
- 定义:/** * @author Administrator * @project: TestOne * @package: PACKAGE
- java控制台输出图书馆管理系统(只用java代码不用数据库和GUI,java入门的新手秒懂)在个项目中,我只用数组保存数据,和只用for循
- 本文讲述了Android自定义横向滑动菜单的实现。分享给大家供大家参考,具体如下:前言 开发安卓过程中,经常会用到标题栏的样式,有
- 一、概述一共两个线程,一个线程生产产品,一个线程消费产品,使用同步代码块方法,同步两个线程。当产品没有时,通知生产者生产,生产者生产后,通知
- 前言本文主要给大家介绍了关于Java读取二进制文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。读Hex写CS
- 平时在开发时经常会用到 const,readonly,static 关键字,可以肯定这些关键词是完全不同的概念,但有时候他们在用法上很相似以
- 对于简单的场景来讲,在MEF中导入依赖模块非常简单,只要用ImportAttribute标记依赖的成员,MEF模块会自动找到并创建该模块。但
- 首先对图片进行UUID 防止图片被覆盖以及爬图UUID的生成规则:日期时间,MAC地址,HashCode,随机数(多种之一)开发上传接口,两
- SqlMapConfig.xml的约束,也就是Mybatis主配置文件的约束<?xml version="1.0"
- 一、代码先上代码(以下这段代码会有多种执行结果)@Testpublic void test_interrupted_thread() thr
- Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入
- String 不是简单类型,而是一个类,它被用来表示字符序列。字符本身符合 Unicode 标准,其初始化方式有两种。如:String gr
- Android 消息分发使用EventBus的实例详解1. AndroidStudio使用dependencies {//最新版本 &nbs
- 一、WebRequestMethods.Ftp类:表示可与 FTP 请求一起使用的 FTP 协议方法的类型。AppendFile:表示要用于
- 1. 引入jar包pom.xml文件<?xml version="1.0" encoding="UTF-
- 直接上代码:public class WeiXinFilter implements Filter{private static Logge
- 从相册或拍照更换图片功能的实现:(取图无裁剪功能)获取图片方式: (类似更换头像的效果)1、手机拍照 选择图片;2、相册选取图片;本文只是简
- @AutoConfiguration读取所有jar包下的 /META-INF/spring.factories 并追加到一个 LinkedM