☰
字面量、变量
2026/9/28 21:18:58 网站建设 项目流程

一、字面量

字面量:程序中直接写出来、固定不变的数据,写在代码里直接就能使用。

各类字面量

字面量类型写法示例说明
整数字面量20、0、‑88不带小数点数字
浮点 (小数) 字面量2.5、‑3.14带小数点
字符字面量'A'、'5'、'中'单引号包裹,只能 1 个字符
字符串字面量"Java"、"你好"双引号包裹,可以 0 个、多个字符
布尔字面量true、false只有这两个,代表真、假
null 字面量null代表空值,用于引用类型

代码演示

public class Demo1Literal { public static void main(String[] args) { // 直接输出各类字面量 System.out.println(666); // 整数字面量 System.out.println(2.718); // 小数字面量 System.out.println('Z'); // 字符字面量,单引号 System.out.println("Java初学者"); // 字符串字面量,双引号 System.out.println(true); // 布尔字面量 } }

⚠易错:字符只能单引号,只能写一个;字符串只能双引号。'abc'是错误写法。

二、变量的定义

变量:内存中存储数据的容器,里面的值在程序运行时可以修改。

1、完整语法格式

格式 1:先声明,再赋值

数据类型 变量名; 变量名 = 值;

格式 2:声明同时直接赋值(最常用)

数据类型 变量名 = 值;

2、代码示例

public class Demo2Variable { public static void main(String[] args) { // 方式1:定义变量直接赋值 int age = 19; double height = 175.5; // 方式2:先定义,后赋值 String name; name = "小李"; // 修改变量存储的值,覆盖旧数据 age = 20; System.out.println(name); System.out.println(age); System.out.println(height); } }

3、变量使用注意事项

  1. 变量必须赋值之后才能读取使用,只声明不赋值直接打印会编译报错。
  2. 在同一个大括号内,不能定义同名变量。
  3. 变量赋值的数据必须和定义的数据类型匹配。
//错误示范 /* int num; System.out.println(num); //报错,没有赋值 int num = 100; //报错,重复定义同名变量 */

三、变量的数据类型

Java 属于强类型语言,每一个变量都必须指定数据类型。 数据类型分为两大类:8 种基本数据类型、引用数据类型。

3.1 八种基本数据类型

类型字节大小取值范围
byte1 字节-128 ~ 127
short2 字节-32768 ~ 32767
int4 字节-2147483648 ~ 2147483647(整数默认 int)
long8 字节超大整数,书写数值末尾加L
float4 字节单精度浮点数,数值末尾加F
double8 字节双精度浮点数,小数默认 double
char2 字节存储单个字符 0~65535
boolean1 字节只有true/false

代码演示

public class Demo3DataType { public static void main(String[] args) { byte b = 120; short s = 30000; int i = 100000; long l = 9999999999L; // long类型末尾必须加L float f = 3.14F; // float末尾必须加F double d = 5.66; char ch = '王'; boolean flag = false; System.out.println(b); System.out.println(l); System.out.println(f); System.out.println(ch); System.out.println(flag); } }

重点:整数默认int;小数默认double;写 long 要加 L,写 float 要加 F。

3.2 引用数据类型

String字符串就是最常用引用类型,类、数组都属于引用类型。

String str = "我是字符串";

四、变量的类型转换

分为自动类型转换(隐式)、强制类型转换(显式)。

4.1 自动类型转换

条件:小范围类型 → 大范围类型,自动完成,不会丢失数据。 从小到大顺序:byte→short→int→long→float→double

public class Demo4Convert { public static void main(String[] args) { int a = 50; double b = a; // int自动转double System.out.println(b); //输出50.0 short num1 = 200; int num2 = num1; // short自动转int System.out.println(num2); } }

4.2 强制类型转换

条件:大范围转小范围,必须手动写代码,可能丢失精度、数据溢出。 语法:目标类型 变量 = (目标类型)原数据;

public class Demo4Convert { public static void main(String[] args) { double pi = 3.99; //强制把double转为int,直接舍弃小数部分 int num = (int) pi; System.out.println(num); //输出3,小数直接丢掉 long bigNum = 10000; int smallNum = (int) bigNum; System.out.println(smallNum); } }

⚠警告:强制转换有风险,数值超出目标类型范围会得到错误数据。

五、变量的作用域

作用域:变量能够生效、可以被访问到的代码范围,由大括号{}决定。出了所属大括号,变量直接失效,不能再使用。

1. 局部变量

定义在方法内部的变量,属于局部变量。 作用域:从定义行开始,到它所在的大括号结束为止。

public class Demo5Scope { public static void main(String[] args) { //局部变量,在main方法大括号内 int a = 10; if(true){ int b = 20; System.out.println(a); //a可以访问,外层变量对内层可见 System.out.println(b); } // System.out.println(b); //报错!b属于if的大括号,出括号失效 } }

2. 成员变量

写在类里面、方法外面的变量。 作用域:整个类,类中所有方法都可以访问。

public class Demo5Scope { //成员变量,类里面,方法外面 static int memberVar = 888; public static void main(String[] args) { System.out.println(memberVar); //可以直接使用成员变量 } }

核心口诀:变量属于哪个大括号,就只能在那个大括号里面用。

本章小结

  1. 字面量:代码直接写的固定数据,区分单引号字符、双引号字符串。
  2. 变量:存储可变数据,定义必须写类型,使用前要赋值。
  3. 8 种基本数据类型,记住字节大小;long 加 L,float 加 F。
  4. 自动转换小转大;强制转换大转小,会丢失精度。
  5. 作用域由大括号控制,出括号变量失效。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询