【Java基础知识】字面量与变量

发布时间:2026/11/5 8:44:19
【Java基础知识】字面量与变量

文章目录

  • 一、字面量的定义
  • 二、变量的定义与核心要素
  • 三、变量的特点
    • 1. 变量值的可变性
    • 2. 变量值的更新方式
      • ①直接赋值:用新值覆盖旧值
      • ② 运算赋值:基于变量当前值进行计算后再赋值
      • ③ 复合赋值运算符:简化运算赋值的写法
      • ④ 自增 / 自减运算符:专门用于变量值加 1 或减 1
  • 四、变量的使用规范

摘要:本文面向 Java 初学者,系统讲解字面量与变量两大基础概念。先介绍字面量的定义及整数、小数、字符串、布尔四种常用类型,再说明变量的定义、声明与初始化方式及其三要素(数据类型、变量名、存储值),随后通过对比示例演示变量值的可变性与四种更新方式(直接赋值、运算赋值、复合赋值、自增自减),最后总结变量命名与使用规范,并给出一个完整的综合示例代码。


一、字面量的定义

在 Java 中,字面量(Literal)是指在程序代码中直接书写的、固定不变的值。
常用的有四种:

  • 整数:100
  • 小数:3.14
  • 字符串(文字):Hello
  • 布尔(真假):true/false


二、变量的定义与核心要素

在 Java 中,变量(Variable)是程序运行过程中用于存储和操作数据的内存空间容器,它就像一个带名字的盒子,专门用来存放上面提到的字面量。
变量的声明与初始化:

数据类型 变量名=初始值;// 声明并初始化变量
  • 数据类型:决定变量能存储的数据种类(如整数、小数、字符等)和取值范围
  • 变量名:标识变量的唯一名称,遵循 Java 标识符命名规则
  • 存储值:变量中存放的具体数据,其类型必须与变量声明的类型一致

代码演示:

inta=10;// 定义了一个整数变量,名字叫 a,里面装了 10doublescore=90.5;// 定义了一个小数变量,名字叫 score,里面装了90.5


三、变量的特点

变量最显著的特点是其存储的值可以在程序运行过程中动态修改,这使得程序能够灵活地处理各种变化的数据。

1. 变量值的可变性

对比使用变量和直接使用字面量的差异:

// 使用变量存储成绩doublescore=90.5;// 只需修改这里,所有输出都会改变System.out.println(score);System.out.println(score);// 不使用变量,直接打印字面量,若要修改成绩,需逐行修改System.out.println(90.5);System.out.println(90.5);

2. 变量值的更新方式

①直接赋值:用新值覆盖旧值

intb=20;b=30;// 将变量b的值更新为30

② 运算赋值:基于变量当前值进行计算后再赋值

b=b+1;// 先计算b+1,再将结果赋给b(此时b=31)

③ 复合赋值运算符:简化运算赋值的写法

b+=2;// 等价于 b = b + 2(此时b=33)b*=2;// 等价于 b = b * 2(此时b=66)

④ 自增 / 自减运算符:专门用于变量值加 1 或减 1

b++;// 等价于 b = b + 1(此时b=67)++b;// 等价于 b = b + 1(此时b=68)b--;// 等价于 b = b - 1(此时b=67)

单独一行:++b 和 b++ 没有区别,都是让变量加 1
参与运算或赋值:++b → 先加后用,b++ → 先用后加


四、变量的使用规范

  1. 遵循命名规范:使用驼峰命名法(如myAge),见名知意
  2. 先声明后使用:Java 是强类型语言,变量必须先定义才能用
  3. 避免变量名冲突:同一作用域内不能有同名变量
  4. 初始化变量:声明变量时尽量同时初始化
// 变量使用示例publicclassVariableDemo{publicstaticvoidmain(String[]args){// 1. 定义变量(数据类型 变量名 = 字面量)intmyAge=22;doublemyScore=98.9;StringmyName="张三";// 2. 打印看看System.out.println("姓名:"+myName);System.out.println("年龄:"+myAge);System.out.println("成绩:"+myScore);// 3. 体验变量的改变myAge=23;// 直接赋值myScore+=1;// 成绩加了 1myAge++;// 年龄又长了一岁// 4. 再次打印,看看是不是变了System.out.println("一年后,年龄变成了:"+myAge);System.out.println("学习后,成绩变成了:"+myScore);}}