Python 官方文档:入门教程 => 点击学习
目录1 前言2 布尔类型3 字符类型4 值类型4.1 byte4.2 short4.3 int4.4 long4.5 float4.6 double5 码农来洞见5.1 类型转换5.
变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。
因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。
Java支持八种基本数据类型,包括一种布尔类型、一种字符类型、一种数值型,包括四种整数类型和两种浮点数类型。
boolean
数据类型表示一位的信息;true
和 false
;true/false
情况;boolean b = true2
char c = 'A';
byte b = 100;
short short s = -10000;
int
数据类型是32位、有符号的以二进制补码表示的整数; int a = 100000;
long
数据类型是 64 位、有符号的以二进制补码表示的整数; long l = 100000L;
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
float
数据类型是单精度、32位、符合IEEE 754标准的浮点数;float
在储存大型浮点数组的时候可节省内存空间; float f1 = 234.5f;
double
数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数; double d5 = 12.9867;
Java允许整数和浮点数之间互相转换。并且,由于每个字符都对应Unicode编码中的一个数字,所以char
与整数和浮点数之间也可以相互转换。事实上,在Java中,boolean类型是唯一一种不能跟其他基本类型相互转换的基本类型。
自动类型转换:
也叫隐式类型转换,其实就是小范围的数据类型向大范围的数据类型转换(byte ->short(char)->int->long->float->double)
。
强制类型转换:
也叫显式类型转换,是从存储范围大的类型到存储范围小的类型(double→float→long→int→short(char)→byte)
。强制类型转换所带来的结果是可能会丢失精度,如果此数值尚在范围较小的类型数值范围内,对于整型变量精度不变,但如果超出范围较小的类型数值范围内,很可能出现一些意外情况。
int i = 223;
byte b = (byte) i;
上面的例子中输出值是-23.
为什么结果是-23?需要从最根本的二进制存储考虑。
233的二进制表示为:24位0 + 11101001,byte型只有8位,于是从高位开始舍弃,截断后剩下:11101001,由于二进制最高位1表示负数,0表示正数,其相应的负数为-23。
数据类型自动提升:
数值类型在内存中直接存储其本身的值,对于不同的数值类型,内存中会分配相应的大小去存储。如:byte类型的变量占用8位,int类型变量占用32位等。相应的,不同的数值类型会有与其存储空间相匹配的取值范围。
在Java中,整数类型(byte/short/int/long)
中,对于未声明数据类型的整型,其默认类型为int型。在浮点类型(float/double
)中,对于未声明数据类型的浮点型,默认为double型。
注意事项1:
如果需要一个占位符来存储数字1000000,那么需要一个int型数,long可以用于存储更大的数字,读者可能问,既然long可以包含比byte和int型数更大的数字,为什么不总是使用long呢?这是因为long需要64位,相比byte
或int,这会占用更多的内存空间。因此,为了节省空间,需要选择合适的基本类型。
注意事项2:
将一个int型的1000赋给一个byte型的变量a,提示出错,但是最后一句:将一个int型的3赋给一个byte型的变量c,居然编译正确,这是为什么呢?
byte b1 = 1000;
byte b2 = 3;
原因在于:JVM
在编译过程中,对于默认为int类型的数值时,当赋给一个比int型数值范围小的数值类型变量,会进行判断,如果此int型数值超过数值类型,那么会直接编译出错。但是如果此int型数值尚在数值类型范围内,jvm会自动进行一次隐式类型转换。
到此这篇关于Java基础-Java基本数据类型的文章就介绍到这了,更多相关Java基本数据类型内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java基础-Java基本数据类型
本文链接: http://www.lsjlt.com/news/162717.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0