Java变量和数据类型的基本语法

冬敏君_2190

冬敏君_2190

2026-01-14

766人浏览

原创

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

java变量和数据类型的基本语法

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 成员变量的区别在哪

局部变量定义在方法、构造器或语句块内,必须显式初始化才能使用;成员变量(字段)属于类,有默认初始值,且受访问修饰符控制。

java-api-doc-generator
java-api-doc-generator

分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。

下载
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 值是否被允许必须提前确认。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2215

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3542

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1176

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

4079

7

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.31

3231

5

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

2025.10.31

554

9

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

2026.02.12

542

19

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

2024.04.28

7107

8

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

2025.10.23

824

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习