2025年java的基础类型和字节大小

java的基础类型和字节大小基本数据类型的深入了解 有助于我们面对开发不同程序 设计不同方法时进行准确的使用 Java 与其他语言的区别 在 Java 中 所有的数值类型所占据的字节数与平台无关 在 C 和 C 中整型所占据的字节数与目标平台有关 在 8086 的 16 位处理器上整型占据 2 字节 32 位处理器上 long 占 4 字节 64 位处理器上 long 占 8 字节 八大基本数据类型 整型 byte short int long

大家好,我是讯享网,很高兴认识大家。



基本数据类型的深入了解,有助于我们面对开发不同程序、设计不同方法时进行准确的使用

Java与其他语言的区别

在Java中,所有的数值类型所占据的字节数与平台无关;在C和C++中整型所占据的字节数与目标平台有关(在8086的16位处理器上整型占据2字节,32位处理器上long占4字节,64位处理器上long占8字节)


八大基本数据类型

整型:byte 、 short 、int 、long。

浮点型:float 、double。

布尔类型:boolean

字符型:char


整型

byte 1字节  

short 2字节

int 4字节

long 8字节

数据范围计算方法

1字节是8比特位,计算机内部是以二进制编码存储数据,1比特位就是1二进制位,例如 byte 内存中占1字节,故范围为-2^7~2^7-1。

小知识

容量的换算关系


hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">

float 4字节   -3.403E38 ~ 3.403E38

double 8字节 -1.798E308 java的基础类型和字节大小 ~ 1.798E308

1、浮点数只能表示出一个近似数,而不能表示出一个准确的数

2、浮点数的字值的类型是double,如果想表示一个float,应该使用f结尾

正无穷大:Double.POSITIVE_INFINITY

负无穷大:Double.NEGATIVE_INFINITY

不是一个数字:Double.NaN

hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">


用 一对

‘’

引起的单个字符就是字符,字符可以以数字,英文字母,标点符号,还可以表示任何语言的单字 符;例如,中文,法文,俄文,日文;



每个字符存储时,都会转换成与之对应的数字;



字符与数字之间的对应关系就是一种字符集;UTF-8;GBK,GB2312;



char有三种表示方式



1.‘’



2.‘转义字符’ ,例如 '

':换行



3.unicode码; ‘㌱’




hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">



boolean叫布尔



只有两个值,分别是true,false;



通常来说,可以使用boolean来存储一个状态;



是否打开音乐



boolean isMusic=false;




hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">

String为引用型变量,存储数据的地址,该变量在定义时被定义为常量

Java种基本类型几字节 java的基本类型及所占字节_开发语言

那么,有同学就会有疑问,final修饰的变量,值不可更改,那么我们经常用如下,

Java种基本类型几字节 java的基本类型及所占字节_开发语言_02

那么这就跟字符串常量池有关,当我们在创建字符串时,jdk会将字符串的值放在字符串池,当我们改变String值时就会将值赋给它。

另外 字符串和final组合起来又有不同的效果,可以去运行看看。

hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">



两种转换



1.自动转换:低精度向高精度可以自动转换,安全



2.强制转换:高精度向低精度转换时可以采用强制转换,强转可能会造成精度丢失;




数值类的的精度;



byte->short->int->long->float->double;




自动类型转换发生在两种情况



  • 赋值
  • 运算;



  

强制类型转换



高精度向低精度转换时,可使用强转 ,强转的语法是

(数据类型);



例如

long b=6677; int a=(int)b;




hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">

解决了8种基本数据类型不是对象无法被泛型引用的缺陷

8种基本类型按照类型划分:byte,short,int,long,float,double,boolean,char。

8种基本类型的封装类:Byte,Short,Integer,Long,Float,Double,Boolean,Character.

我们来看一下这张图

Java种基本类型几字节 java的基本类型及所占字节_Java种基本类型几字节_03

我们可能会好奇,x与y值相同,test1与test2相同,却执行结果不同。我们来看一下源码

讯享网

从上面我们可以知道给Interger 赋予的int数值在-128 - 127的时候,直接从cache中获取,这些cache引用对Integer对象地址是不变的,但是不在这个范围内的数字,则new Integer(i) 这个地址是新的地址,不可能一样的。

 
 


hr style="background-color: rgb(232, 232, 232); border: 1px solid transparent; margin: 18px 0px;">

小讯
上一篇 2024-12-24 13:18
下一篇 2024-12-29 10:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/9778.html