Java中的变量

作者 : 慕源网 本文共2190个字,预计阅读时间需要6分钟 发布时间: 2022-05-10 共306人阅读

Java中的变量是在Java保存数据值的数据容器。每个变量都被分配了一个数据类型,该数据类型指定了它可以保存的值的类型和数量。变量是数据的内存位置名称。

变量是赋予内存位置的名称。它是程序中存储的基本单位。

  • 存储在变量中的值可以在程序执行期间更改。
  • 变量只是内存位置的名称,对变量执行的所有操作都会影响该内存位置。
  • 在 Java 中,所有变量都必须在使用前声明。

如何声明变量?

我们可以在 java 中声明变量,如下图所示。

从图中可以看出,在声明一个变量时,我们需要注意两件事:

1. 数据类型:可以存储在此变量中的数据类型。

2. Dataname:给变量命名。

可以通过两种方式为其赋值:

  • 变量初始化
  • 通过输入赋值

如何初始化变量?

可以借助以下 3 个组件:

  • datatype:可以存储在此变量中的数据类型。
  • variable_name:赋予变量的名称。
  • value:它是存储在变量中的初始值。

float simpleInterest; 
// 声明浮点变量
int time = 10, speed = 20; 
// 声明和初始化整型变量

Java中的变量类型

如下所示:

  1. 局部变量
  2. 实例变量
  3. 静态变量

1. 局部变量

在语句块块、方法或构造函数中定义的变量称为局部变量。

  • 局部变量是在执行方法、结构方法或语句块时创建的,执行完成后变量会被销毁;
  • 这些变量的作用域只存在于声明变量的语句块中。即,我们只能在该语句块内访问这些变量。
  • 在定义的范围内使用局部变量之前,必须对其进行初始化。
/*package whatever //do not write package name here */
// Contributed by Shubham Jain
import java.io.*;

class GFG {
	public static void main(String[] args)
	{
		int var = 10; // Declared a Local Variable
		// This variable is local to this main method only
		System.out.println("Local Variable: " + var);
	}
}

输出

Local Variable: 10

2. 实例变量

实例变量是非静态变量,在任何方法、构造函数或外部块之外的类中声明。

  • 由于实例变量是在类中声明的,因此这些变量在创建类的对象时创建,并在对象被销毁时销毁。
  • 与局部变量不同,我们可以对实例变量使用访问说明符。如果我们不指定任何访问说明符,则将使用默认访问说明符。
  • 实例变量的初始化不是强制性的。它的默认值为 0
  • 实例变量只能通过创建对象来访问。
/*package whatever //do not write package name here */

import java.io.*;

class GFG {

	public String geek; // Declared Instance Variable

	public GFG()
	{ // Default Constructor

		this.geek = "Shubham Jain"; // initializing Instance Variable
	}
//Main Method
	public static void main(String[] args)
	{

		// Object Creation
		GFG name = new GFG();
		// Displaying O/P
		System.out.println("Geek name is: " + name.geek);
	}
}

输出

Geek name is: Shubham Jain

3. 静态变量

静态变量也称为类变量。

  • 静态变量的声明方式与实例变量类似。不同之处在于静态变量是使用 static 关键字声明的。
  • 与实例变量不同,无论我们创建了多少对象,每个类只能拥有一个静态变量的副本。
  • 静态变量在程序执行开始时创建,并在执行结束时自动销毁。
  • 静态变量的初始化不是强制性的。它的默认值为 0
  • 如果我们像实例变量一样访问静态变量(通过对象),编译器将显示警告消息,这不会停止程序。编译器会自动将对象名替换为类名。
  • 如果我们在没有类名的情况下访问静态变量,编译器会自动附加类名。
/*package whatever //do not write package name here */

import java.io.*;

class GFG {

public static String geek = "Shubham Jain";		 //Declared static variable

	public static void main (String[] args) {
		
	//geek variable can be accessed withod object creation
	//Displaying O/P
	//GFG.geek --> using the static variable
		System.out.println("Geek Name is : "+GFG.geek);
	}
}

输出

Geek Name is : Shubham Jain

java实例变量和静态变量的区别

  • 存放位置不同,类变量随着类的加载存在于方法区中,实例变量随着对象的建立存在于堆内存中。
  • 生命周期不同,类变量的生命周期最长,随着类的加载而加载,随着类的消失而消失,实例变量随着对象的消失而消失。。
  • 我们可以通过对象引用来访问实例变量,而静态变量可以通过类名直接访问

语法:静态和实例变量

class GFG
{
    // Static variable
    static int a; 
    
    // Instance variable
    int b;        
} 

慕源网 » Java中的变量

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录