Java基本数据类型共8种,分整型、浮点型、字符型、布尔型四类,声明格式为“类型 变量名;”或“类型 变量名 = 初始值;”,变量须先声明后使用,且遵循命名规则与作用域约束。

Java中基本数据类型和变量声明怎么写
Java变量必须先声明后使用,基本数据类型共8种,分四类:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。它们是值类型,直接存数据,不涉及对象引用。
声明语法统一为:类型 变量名; 或 类型 变量名 = 初始值;
int age = 25; double price = 19.99; char grade = 'A'; boolean isActive = true;
-
int最常用,范围 -2³¹ ~ 2³¹−1;long需加后缀L(如10000000000L),否则可能溢出报错 -
float必须显式加F或f(如3.14f),否则默认是double,赋值会编译失败 -
char用单引号,只能放一个 Unicode 字符(如'\u03B1'或'中'),不能写空字符串"" -
boolean只能是true或false,不可用0/1或null替代
变量命名规则和常见错误
变量名必须以字母、$ 或 _ 开头,后续可跟字母、数字、$、_;严格区分大小写;不能是 Java 关键字(如 class、if、return)。
- 合法:
userName、_count、$value - 非法:
2ndPlace(开头数字)、my-name(含减号)、int(关键字)、user name(含空格) -
编译错误示例:
error: not a statement通常因变量名含非法字符或漏写分号 - IDE 常提示
Cannot resolve symbol,大概率是拼写错误或作用域问题(比如在 if 块内声明却在外部访问)
局部变量 vs 成员变量的区别在哪
局部变量定义在方法、构造器或语句块内,必须显式初始化才能使用;成员变量(字段)属于类,有默认初始值,且受访问修饰符控制。
PHP是一种功能强大的网络程序设计语言,而且易学易用,移植性和可扩展性也都非常优秀,本书将为读者详细介绍PHP编程。 全书分为预备篇、开始篇和加速篇三大部分,共9章。预备篇主要介绍一些学习PHP语言的预备知识以及PHP运行平台的架设;开始篇则较为详细地向读者介绍PKP语言的基本语法和常用函数,以及用PHP如何对MySQL数据库进行操作;加速篇则通过对典型实例的介绍来使读者全面掌握PHP。 本书
立即学习“Java免费学习笔记(深入)”;
public class Example {
int count; // 成员变量:默认为 0
String name; // 成员变量:默认为 null
void method() {
int x; // 局部变量:未初始化,直接使用会编译报错
// System.out.println(x); // error: variable x might not have been initialized
x = 10;
System.out.println(x); // OK
}
}
- 成员变量自动初始化:
int/long→0,boolean→false,char→'\u0000',引用类型→null - 局部变量不自动初始化,哪怕在 for 循环里声明也一样——JVM 要求所有路径都明确赋值才允许读取
- 同名时,局部变量会遮蔽(shadow)成员变量,需用
this.name显式访问成员变量
为什么 int 和 Integer 不能混用?
int 是基本类型,Integer 是其包装类(引用类型),二者内存模型和行为完全不同。自动装箱/拆箱只在特定上下文生效,容易引发空指针或比较陷阱。
- 直接比较
==:两个Integer在 -128~127 范围内可能相等(缓存复用),超出则不等;而int == Integer总是按值比较 -
Integer a = null;后执行int b = a;会抛NullPointerException(自动拆箱失败) - 泛型、集合(如
ArrayList)、反射、方法重载等场景强制要求引用类型,此时不能传int - 性能敏感代码(如循环内大量计算)应优先用
int,避免无谓装箱开销
基本类型和包装类的边界模糊处最容易出 runtime 错误,尤其在从 JSON 解析、数据库映射或旧代码迁移时,null 值是否被允许必须提前确认。









