共计 1040 个字符,预计需要花费 3 分钟才能阅读完成。
java 中的数据类型:
变量
Java 作为一种强类型语言,其中的每一个变量在编译前,都必须声明类型!
分为两种:
在 Java 的领域里 ,基本数据类型变量 存的是 数据本身 ,而 引用类型变量 存的是保存 数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。
需要注意的是 java 中 float 类型与 double 类型,和 C 语言有所不同。
默认 是double 类型 。如果一定要 使用 float 类型 ,在 数字后加 F 后缀 。
整数 默认 int 类型,使用 long 类型时, 数字后加个 L 后缀 。
并且 char 占两个 byte,C 语言中 char 占一个 byte。
数据类型可以转化:
自动类型转换(隐式)
1. 特点:代码不需要进行特殊处理,自动完成
2. 规则:数据范围从小到大
int –> long, float –> double;
long –> float/double
float 变量名 = 变量值 L;
double 变量名 =(double)变量值;
强制类型转换(显式)
1. 代码需要进行特殊的格式处理,不能自动完成。
2. 格式:
范围小的类型 范围小的变量名 =(范围小的类型)原本范围大的数据
PS:
强制类型转换不推荐使用,有可能发生数据溢出、精度损失。
byte/short/char 都可以发生数学运算,eg:“+”
char zifu = 'A';
System.out.println(zifu); // 输出 A
System.out.println(zifu + 1);
// 把 A 当作 65 进行处理,再 + 1,即输出 66
byte/char/short 这三种类型在运算时,首先被提升为 int 类型,然后再计算。
byte num1 = 40;
byte num2 = 50;
short num3 = 60;
byte result = num1 + num2; //Error!!!
//byte + byte --> int + int --> int
故:int result = num1 + num2; // 输出 90
或者://short + byte --> int + int --> int -->short
// 强制类型转换为 short,前提是本身范围没有超过 short 才行
short result2 = (short)num1 + num 3; // 输出 100
boolean 类型不能发生数据类型转换!!
常量
常量被赋值后,不允许被改变!
通常使用 final 对常量进行定义。
final DataType 常量名 = 常量值;
Tips:常量的命名规范与普通变量有所不同,要将每个字母大写并用下划线字符分隔每个单词。