Java 变量与基本数据类型

笔记/Java/Java基础/Java基础语法/Java 变量与基本数据类型

背景与动机#

变量是程序保存数据的名字,类型决定这个变量能保存什么值、能参与哪些操作。

Java 是静态类型语言,变量在使用前必须先声明类型。这样做的好处是编译期能提前发现很多类型错误,代价是写代码时需要更明确地表达数据形态。

核心原理拆解#

1. 变量声明#

变量声明的基本格式是:

类型 变量名 = 初始值;

例如:

int age = 18;
String name = "Tom";

局部变量必须先赋值再使用,否则编译器会报错。

命名规则:

  • 只能包含字母、数字、_和$符,并且不能以数字开头
  • 严格区分大小写
  • 不能使用关键字
  • 可以中文命名,但不建议

建议”英文的见名知意”、“驼峰命名法”

2. Java 的 8 种基本数据类型#

Java 基本类型分为 4 类:

  • 整数:byteshortintlong
  • 浮点数:floatdouble
  • 字符:char
  • 布尔:boolean

常用默认选择:

  • 整数优先用 int
  • 长整数用 long
  • 小数优先用 double
  • 判断条件用 boolean

生成图片 1
生成图片 1

3. 基本类型和引用类型#

基本类型变量直接保存值,例如:

int n = 10;

引用类型变量保存对象的引用,例如:

String text = "hello";

可以先粗略理解为:基本类型更像“值本身”,引用类型更像“指向对象的入口”。

img
img

4. 常量使用 final#

Java 使用 final 声明不可重新赋值的变量:

final int MAX_RETRY = 3;

final 修饰变量后,只能赋值一次。常量名通常使用大写字母和下划线。

5. 成员变量有默认值,局部变量没有可用默认值#

类的成员变量如果没有显式赋值,会有默认值:

  • 数值类型默认 0
  • boolean 默认 false
  • char 默认空字符
  • 引用类型默认 null

但方法内部的局部变量必须先赋值才能使用。

最小可运行代码示例#

public class VariableDemo {
public static void main(String[] args) {
int age = 18;
long total = 10000000000L;
double price = 19.9;
char level = 'A';
boolean active = true;
final int MAX_RETRY = 3;
System.out.println(age);
System.out.println(total);
System.out.println(price);
System.out.println(level);
System.out.println(active);
System.out.println(MAX_RETRY);
}
}

常见陷阱与错误示例#

1. long 字面量忘记加 L#

错误示例:

long n = 10000000000;

整数默认按 int 处理,超出范围会报错。应写成:

long n = 10000000000L;

2. float 字面量忘记加 F#

错误示例:

float price = 19.9;

小数字面量默认是 double。如果要赋给 float,应写成:

float price = 19.9F;

3. 局部变量未初始化就使用#

错误示例:

int count;
System.out.println(count);

局部变量没有可直接读取的默认值,必须先赋值。

面试高频问题#

1. Java 有哪些基本数据类型#

Java 有 8 种基本类型:byteshortintlongfloatdoublecharboolean

2. final 修饰变量是什么意思#

final 修饰变量表示该变量只能赋值一次,之后不能重新指向新值或新对象。

3. 基本类型和引用类型有什么区别#

基本类型保存具体值,引用类型保存对象引用。引用类型变量可能为 null,基本类型变量不能为 null

一句话总结#

Java 变量的核心是“先声明类型,再保存数据”:基本类型保存值,引用类型保存对象引用,常量用 final 约束不可重新赋值。

文章目录

文章目录