Summary of Java data types

Java 数据类型总结

Java 语言是强类型语言 (strongly typed language)。其含义在于:

  • 变量必须先声明再使用
  • 指定类型的变量只能接受与其类型匹配的值
    这就意味着,变量和表达式在编译时就都有一个确定的类型,这个类型限制了变量能被赋的值、限制了表达式可以产生的值。

编程的本质就是对内存中数据的访问和修改。程序所用的数据都会保存在内存中,程序对变量赋值,实际上就是把数据装入该变量所代表的内存区的过程,程序读取变量的值,实际上就是从该变量所代表的内存区取值的过程。每个变量都代表了某一小块内存,它相当于一个有名字的容器。

类型分类

基本类型

  • boolean类型
  • 数值类型(整数类型 \ 浮点类型
    整数类型: byte short int long char
    浮点类型:float double
    【char 代表字符类型,实际上字符型也是一种整数类型,相当于无符号整数类型】

引用类型

  • 接口
  • 数组
    【所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是 Java 语言里不再使用指针这个说法。】
  • 空类型(null type)实际开发可以忽略这种类型,此处不做介绍。

##############################################################################################
详细介绍

  • byte: 内存中占 8 位,表数范围: -128 ~ 127,最高位为符号位。
  • short: 内存中占 16 位,表数范围: -32768 ~ 32767,最高位为符号位。
  • int: 内存中占 32 位,表数范围: -2147483648 ~ 2147483647,最高位为符号位。
  • long: 内存中占 64 位,表数范围: -2e63 ~ 2e63 - 1,最高位为符号位。
  • char: 相当于一个 16 位无符号整数,表数范围:0 ~ 65535
  • float: 代表单精度浮点数。内存中占 32 位。第1 位是符号位,接下来 8 位表示指数,再接下来 23 位表示尾数。
  • double: 代表双精度浮点数。内存中占 64 位。第 1 位是符号位,接下来 11 位表示指数,再接下来 52 位表示尾数。
  • boolean: Java 规范没有强制指定 boolean 类型的变量所占的内存空间。由于大部分计算机在分配内存时允许分配的最小内存单元是 8 位 1 字节,因此 大部分时候实际是占用 8 位的。

【Java 语言的浮点类型默认是 double 类型,如果希望 Java 把一个浮点类型值当成 float 类型处理,应该在这个浮点类型值后紧跟f或F,个人建议最好用大写F。同理用d或者 D 强制指定 double 类型,但通常没必要。】

PS: Java 还提供了三个特殊的浮点数值:正无穷大(POSITIVE_INFINITY)、负无穷大(NEGATIVE_INFINITY)、非数(NaN),用于表示溢出和出错。
需要注意,所有的正无穷大数值都是相等的,所有的负无穷大数值都是相等的,而 NaN 不与任何数值相等,甚至和 NaN 都不相等。

其他:
数值中使用下划线分隔
为了避免数值位数太多,让人看起来眼花,Java7 中引入了一个新功能:允许在数值中使用下划线,不管是整数类型还是浮点数类型,都可以使用

public class UnderscoreTest
{
	public static void main(String[] args){
		int binValue = 0B1000_0000_0000_0000_0000_00001;
		double pi = 3.14_1592_6535;
		double x = 1234_67.89;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值