Java变量分类

本文主要介绍了Java中的变量分类,包括以数据类型划分的8种基本数据类型和3种引用类型,以及以声明位置划分的成员变量(实例变量和类变量)和局部变量(形参、方法局部变量和代码块局部变量)。特别强调了局部变量必须初始化后才能使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇介绍对初入门的java小白很有用。

1.以数据类型为依据划分:

在这里插入图片描述

1.1 8种基本数据类型 (4种整型+2种浮点型+1种字符型+1种逻辑型)

1)四种整型:

byte      1 字节     -128~127 
short     2 字节     -32768~32767 
int       4 字节     -2^31~2^31-1
long      8 字节     -2^63~2^63-1

2)两种浮点型:

float     4 字节     32位IEEE 754单精度(有效位数6~7位)
double    8 字节     64位IEEE 754双精度(有效位数15位)

3)一种字符型:

char      2 字节     整个Unicode字符集

4)一种逻辑型:

boolean   1 字节     true或者false

1.2 3种引用类型 (类class+接口interface+数组array)

2.以声明的位置为依据划分:

在这里插入图片描述

2.1 成员变量 —— 类里定义的变量,但在方法、构造方法和语

### Java变量分类Java 编程语言中,变量可以分为三类:成员变量、静态变量局部变量。每种类型的变量具有不同的作用域、生命周期以及内存分配方式。 #### 1. 成员变量(Instance Variables) 成员变量是在类内部定义但在方法外部声明的变量。它们属于特定的对象实例,并且每个对象都有自己的副本。成员变量的作用域覆盖整个类中的所有方法[^1]。 ```java private int instanceVar; // 这是一个成员变量 ``` 当创建一个新的对象时,JVM会自动为该对象初始化其所有的成员变量,默认值取决于数据类型(例如 `int` 类型默认为 `0`)。如果显式赋值,则使用指定的初始值。 #### 2. 静态变量(Static Variables) 静态变量通过关键字 `static` 声明,它不属于任何单独的对象而是由类本身共享。无论创建多少个对象,静态变量只有一个拷贝存在堆内存中。 ```java private static int staticVar; // 定义了一个静态变量 ``` 访问静态变量不需要实例化类即可完成操作,可以直接通过类名调用。需要注意的是,即使没有任何对象被实例化,只要加载了这个类到 JVM 当中,那么其中所含有的静态字段就会得到初始化处理。 #### 3. 局部变量(Local Variables) 局部变量仅限于某个代码块或者方法体内有效,一旦超出此范围就不能再继续引用这些名字代表的数据项。这类变量必须先赋予初值才能参与运算过程[^2]。 ```java public void method(int paramVar) { int localVar = 10; // 此处定义了一种局部变量 } ``` 另外关于数值型基本数据类型的大小及其表示区间如下所示: | 数据类型 | 所占位数 | 表达范围 | |----------|-----------|-------------------------------------------------------------------------| | byte | 8 | -128 至 127 | | short | 16 | -(2^15) 到 (2^15)-1 | | int | 32 | -(2^31) 到 (2^31)-1 | | long | 64 | -(2^63) 到 (2^63)-1 | | float | 32 | 大约 ±3.40282347E+38F (正负大约十亿五千万) | | double | 64 | 大约±1.79769313486231570E+308 | 布尔类型(boolean),虽然理论上只占用一位(bit),但实际上为了效率考虑通常会被实现成至少一字节(byte)[^4]。 ### 示例程序解析 下面给出一段综合运用以上三种不同种类变量的小例子来加深理解: ```java class VariableExample{ private String memberStr="我是成员字符串"; // 成员变量 public static void main(String []args){ System.out.println("打印静态变量"); StaticVariable sv=new StaticVariable(); sv.printVariables(); LocalVariable lv=new LocalVariable(); lv.showLocalVariable(); } } //演示静态变量 class StaticVariable extends VariableExample{ private static final String STATIC_STRING="我是静态字符串"; @Override public void printVariables(){ super.printVariables(); System.out.println(STATIC_STRING); } } //展示局部变量 class LocalVariable{ public void showLocalVariable(){ String localString="我是局部字符串"; System.out.println(localString); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值