Java变量声明需显式指定类型并赋值,基本类型转换分自动提升(小→大)和强制转换(大→小),字符串互转依赖包装类静态方法,局部变量须初始化,浮点比较禁用==。

Java原生语法中,变量声明和数据类型转换是编程起点,核心在于明确类型、正确赋值、安全转换。
变量声明:必须指定类型 + 变量名 + 可选初始值
Java是强类型语言,每个变量声明都需显式写出数据类型。基本语法为:
类型名 变量名 = 初始值;
常见基础类型及示例:
- int age = 25; —— 32位整数
- double price = 19.99; —— 双精度浮点数
- char grade = 'A'; —— 单个Unicode字符(单引号)
- boolean isActive = true; —— 布尔值,仅true或false
- String name = "Alice"; —— 字符串(注意:String是引用类型,非基本类型,但使用最频繁)
基本类型间转换:分自动提升与强制转换两类
Java按数据范围大小定义了隐式转换规则。范围小的类型可自动转为范围大的类型(不丢失信息),反之必须强制转换(可能截断或溢出)。
立即学习“Java免费学习笔记(深入)”;
自动类型提升示例(编译通过):
-
int i = 100;
long l = i; → int→long 安全,自动完成 -
byte b = 10;
int j = b; → byte→int 自动拓宽
强制类型转换写法:(目标类型) 表达式,用于缩小转换:
-
double d = 99.7;
int n = (int) d; → 结果为99(直接截去小数,不四舍五入) -
int x = 300;
byte y = (byte) x; → 超出byte范围(-128~127),结果为44(按补码截取低8位)
字符串与其他类型互转:靠包装类或静态方法
String不是基本类型,不能用强制转换。需借助类型对应的包装类(如Integer、Double)提供的静态方法:
- 字符串 → 数字:
int num = Integer.parseInt("123");
double val = Double.parseDouble("3.14"); - 数字 → 字符串:
String s1 = String.valueOf(42);
String s2 = Integer.toString(100);
也可直接拼接:String s3 = "" + 999;(隐式调用toString)
注意:parseXxx方法遇到非法字符串会抛出NumberFormatException,生产环境应加try-catch处理。
避免常见错误的实用提醒
- 声明变量时不赋值,局部变量必须在使用前显式初始化,否则编译报错
- 不要写 int a = "123"; 或 String s = 42; —— Java不支持隐式字符串与数字互转
- 浮点数比较不用==,而用 Math.abs(a - b) 判断近似相等
- long字面量末尾加L(如10000000000L),否则超int范围会编译失败


















