在这篇文章中,我们将研究 Java 编程中的变量。这是一个重要的主题,它将深入了解用户如何存储和处理计算机内存中的数据以有效地使用它。
因此,我们将涵盖从定义到声明以及 java 中不同类型的变量的所有内容。
在 Java 中,变量只不过是一个命名的内存位置。java中的变量在程序执行时存储元素的值。对变量执行的所有操作都会影响内存位置。
简而言之,变量有助于程序员处理程序在执行期间可以操作的数据。java中的变量是 强类型的;因此它们都必须有一个数据类型,后跟一个标识符。
每个变量都有一个特定的 数据类型,它定义了变量内存的大小和布局。
如何声明一个变量?
我们可以如下声明一个变量:
data_type variable_name = value;
这是示例:
💡你知道吗? 在声明变量时赋值是可选的。您可以稍后在程序中声明变量并为其赋值。
💡你知道吗?
在声明变量时赋值是可选的。您可以稍后在程序中声明变量并为其赋值。
变量有一个用于识别它的名称。变量的名称称为变量的标识符。
在声明变量时,您需要遵循一些命名约定。
A to Z
a to z
0 to 9.
$
_
例子:
int age; String person_name;
您可以像这样在组中声明变量:
int age,weight; String person_name,gender;
每个变量都包含一些它所描述的数据。我们使用=运算符为变量赋值。
=
int age=30,weight=60; String person_name = "John";
如果值与变量的数据类型不匹配,编译器将给出编译时错误。 例如: 您不能将字符串文字分配给 int 数据类型。
// Compilation error int age= "NA"
让我们借助简单的程序来理解它:
package org.arpit.java2blog; public class VariableDemo { int a; // Instance variable static int b=20; // static variable public void print() { int c=10; // local variable System.out.println("Method local variable: "+c); } public static void main(String args[]) { VariableDemo demo=new VariableDemo(); System.out.println("Instance variable: "+demo.a); // Printing Instance variable System.out.println("Static variable: "+b); // Printing static variable demo.print(); //Printing local variable using print method. } }
当您运行上述程序时,您将获得以下输出:
Instance variable: 0 Static variable: 20 Method local variable: 10
Java编程中主要使用三种Types of Variables。
Types of Variables
让我们通过一些示例详细了解每种类型。
在 方法 或 块 中声明的变量称为局部变量。在 Java 中,局部变量也可以在大括号包围的方法内的块中声明;此类变量称为 块级局部变量。
在这种情况下,变量的范围,无论是就其访问和内存中变量的存在而言,都将仅在整个块中有效,而不是在整个程序中有效。我们将通过一个例子来理解这一点。
Note:必须初始化局部变量;否则,编译器会抛出一个错误。此外,我们不能Keywords像公共的、私有的、静态的那样与局部变量相关联。
Note:
Keywords
public class LocalVariablesDemo { public static void main(String args[]) { int x = 10; // Method Level Local Variable { int y = 20; // Block Level Local Variable System.out.println("Block Level Local Varibale y: "+y); } System.out.println("Method Level Local Variable x: "+x); } }
输出:
在类级别声明但在方法或块之外的变量是实例变量。初始化实例变量不是强制性的。相反,Java 中的 Instance 变量在创建类或对象的实例时被初始化 。
默认情况下,所有实例变量都将由 JVM 初始化。在为对象分配空间的同时,还会为每个实例变量创建一个槽。因此,我们可以说实例变量在对象的生命周期之前一直存在于内存中,并且对类中的所有方法和块都是可见的。
我们可以使用带有实例变量的关键字和访问修饰符来限制变量的可见性。让我们通过示例了解实例变量的使用。
public class InstanceDemo { int g; // Instance Variable with Default Value 0 public static void main(String args[]) { InstanceDemo obj=new InstanceDemo(); System.out.println("Instance variable g: "+obj.g); } }
要访问 main 方法中的值,我们必须创建 Class InstanceDemo 的对象或实例;然后,我们使用带有对象名称的点运算符来访问变量。
如果我们在不创建对象的情况下直接访问它,编译器会抛出一个错误:non-static variable g cannot be referenced from a static context. 这个错误意味着主方法是静态的,我们不能从静态方法访问非静态变量。在这种情况下,必须实例化类。
non-static variable g cannot be referenced from a static context
声明为静态并引用所有类对象的共享属性的变量称为静态变量。静态变量也是类级别的变量,可以在方法中声明,但只能在 静态方法中。我们不能在静态块中声明静态变量。
Java中的静态变量使程序内存高效,因为静态变量在类加载期间仅获得一次内存分配。简单来说,一个类的所有对象都将共享相同的静态变量或属性。
即使我们创建多个对象或实例,静态成员也只会创建一次。static 关键字表示属性属于整个类而不是方法。与实例变量一样,静态成员也默认由 JVM 初始化。让我们通过一个例子来了解静态变量的使用。
public class StaticDemo { static int g; // Static Variable with Default Value 0 public static void main(String args[]) { System.out.println("Static Variable g: "+g); //Accesing static variable of another class using Class Name System.out.println("Static Variable of Class Demo: "+ Demo.f); } } class Demo { static int f; // static variable in another class. }
在这里,我们打印类的静态变量的值:StaticDemo 和 Demo。有趣的是,我们不需要实例化类 Demo 来访问它的静态变量,我们只需使用类名和带有变量名的点运算符即可访问它。
假设我们正在尝试存储与 Student 对象相关的信息。现在,我们知道每个学生的姓名和卷号对他们来说都是唯一的并且是不同的,所以我们可以使用 实例变量 来存储这类信息。
假设我们想要为所有学生对象存储相同的信息,例如他们的学校名称,那么在这种情况下,我们可以使用 静态变量 ,以便每个对象共享相同的变量。如果我们想为任何操作临时存储与对象相关的任何值,我们可以使用 局部变量。
以上就是Java编程中的变量,你可以在你的编译器中尝试上面的例子来更好地理解。
原文链接:https://codingdict.com/