ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 变量 Java中基本类型一共4类,把这4类展开后共8种基本类型。我们今后编写程序时使用的是这8种基本类型而不是4类,这8种基本类型指定了范围。 ![](https://box.kancloud.cn/79a977fabb00dc9343a8cb6dcd7c50c8_1304x470.jpg) # 常量 前面我们说过100是整数常量,但它是byte、short、int、long中的哪一种呢?下面我们来聊聊这一常量类型的问题。 整数常量可以根据所在范围来确定类型,例如100在-128~127之间,所以他是byte类型;500在-32768~32767之间,所以它是short类型;100000在-2147483648~2147483648之间,所以它是int类型。java中默认的整数类型是int类型 你可能会认为12345678901在-263~263-1之间,所以它是long类型。注意了,这是错误的!!!在Java中整数常量如果不在-2147483648~2147483648之间就必须添加“L”后缀(小写的也可以,但建议使用大写),在-2147483648~2147483648之间的也可以添加“L”后缀。也就是说12345678901不在-2147483648~2147483648之间,所以它在Java中是错误的常量,你必须这样写:12345678901L,这才是正确的常量。所以添加了“L”后缀的整数常量都是long类型的,例如:100L、12345678901L都是long类型的常量。 浮点类型的常量也可使用后缀,在Java中所有没有后缀以及使用“D”后缀(小写也可以,但建议使用大写)的小数都是double类型;float类型常量必须添加“F”后缀(小写也可以,但建议使用大写)java中默认的浮点类型是double类型 * 3.14没有后缀,所以它是double类型; * 5.28D为double类型; * 1.26F为float类型。 # 类型转换 关于数据类型转换有两种方式,我们来学习一下: * 自动类型转换 表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换 自动类型转换格式: 范围大的数据类型 变量 = 范围小的数据类型值; 如: double d = 1000; 或 int i = 100; double d2 = i; * 强制类型转换 表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换 强制类型转换格式: 范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值; 如: int i = (int)6.718; //i的值为6 或 double d = 3.14; int i2 = (int)d; //i2的值为3