- 1. 为什么需要变量
- 2. 变量的介绍
- 3. 自动类型转换
- 4. 强制类型转换
- 5. 基本数据类型和String类型的转换
变量是程序的基本组成单位
2. 变量的介绍- 概念:
变量相等于内存中一个数据存储空间的表示,你可以把变量看做一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量的值。
- 内存中的一个存储区域
- 该区域的数据可以在同一数据类型范围内部断变化
- 变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值。
-
变量的基本使用步骤:
变量声明:int a
变量赋值:a = 60
使用变量:System.out.println(a) -
使用变量注意:
- Java 中每个变量必须先声明,后使用
- 使用变量名来访问这块区域的数据
- 变量的作用域:其定义所在的一对 {} 内
- 变量值有在其作用域内才有效
- 同一个作用域内,不能定义重名的变量
- 变量的类型:
注意:
- Java 整数型常量默认为 int ,当声明 long 型变量时,若所赋值超过 int 型,需要在末尾加一个 ’ l ’ 或 ’ L ’
- Java 浮点型常量默认为 double ,当声明 float 常量时,需要加 ’ f ‘,’ F ’
当容量(精度)小的数据类型变量和容量(精度)大的数据类型变量做运算时,结果自动向容量(精度)大的数据类型转换
byte、char、short->int->long->float->double
自动类型转换的细节:
- 有多种类型的数据混合运算时,系统首先将所有数据转换成容量最大的那种数据类型,然后再进行运算。
- 当我们把精度(容量)的的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。
- 特别的当 byte、char、short 三者做运算时,不会进行自动类型转换,结果是 int
- boolean 不参与转换
- 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型
自动转换的逆操作
1.需要使用强转符 ()
2.注意点:强制类型转换,可能会导致精度损失(不是四舍五入,截断操作)
强制类型转换的细节:
- 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
int x = (int)10 * 3.5 + 6 * 1.5; int y = (int)(10 * 3.5 + 6 * 1.5);
- char 类型可以保存 int 的常量值,但不能保存 int 的变量值,需要强转
char c1 = 100; int m = 100; char c2 = m; char c3 = (char)m;
- byte 和 short 类型在进行运算时,当 int 类型处理
- 基本类型转换成String类型
语法:基本数据类型 + “” - String类型转换为基本数据类型
语法: 通过基本类型的包装类调用parseXX方法即可
基本数据类型和String类型的转换细节
- 在将String类型转换成基本数据类型时,要保证String类型能转换成有效的数据,比如可以把"123"转换成一个整数,但是不能将"hello word"转换成一个整数
- 如果格式不正确,就会抛出异常,程序就会终止



