【JavaSE】:数据类型

数据类型

一.总体概论

在Java中数据类型主要分为两类:基本数据类型和引用数据类型

不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节 。

整形和浮点型都是带有符号的。

整型默认为int型,浮点型默认为double 字符串属于引用类型,该中类型后序介绍。

二.java里与c的区别

1.float

在java和c里1.5都被默认认为是double类型,但是c里这个代码是能够通过的,因为它可以发生截断。在java里这个代码是不被允许的,因为java不允许发生截断。

2.char

在c语言里char类型是4个字节(发生截断后变为1个字节,可以看看我的字符和字符串博客),但在java里char被解释成两个字节。例如;它可以存中文。

3.boolen

在c语言中0表示假,非0表示真。但在java中只有true表示真,只有flase表示假。

Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在Oracle公司的虚拟机实现中,boolean占1个字节。

三.类型转换

Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验.

简单来说就是小范围可以隐式转变为大类型,而大类型只能显示强转成小类型。不相干的类型之间不能进行转换。

类型提升

b是long,a是int,当他们进行运算时,a会被提升为long类型,所以用int类型去接收就是大类型转换小类型,在java里是错误的。

byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c,就会出现上述错误.

由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short这种低于 4 个字节的类型, 会先提升成 int, 再参与计算。

四.String类型

java里的字符串没有以/0结尾,它是按照字符个数打印的。

字符串可以直接通过+进行拼接(字符串拼接任何类型都是字符串)。

int转string

string转int

相关推荐
老白干1 小时前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
圆山猫8 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管8 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨8 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡9 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖9 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9859 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室12 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen12 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜13 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine