Java 变量是计算机内存中保留的一个空间,用于存储数据值。您可以为每个内存位置分配一个特定的名称,但必须遵循命名约定。
通常,Java 程序从变量声明开始,因为变量存储了 Java 程序执行任务所需的信息。这些信息或数据可以是任何东西,比如简单的文本、代码、数字,甚至是简单的预定义计算。因此,存储数据的变量具有特定的数据类型,您将在下一个教程——Java 中的数据类型中详细学习。
public class Student {
public static void main(String[] args) {
String name;
int age;
}
}
在上面的代码中,name 是一个字符串数据类型的变量,而 age 是另一个整数数据类型的变量。
尽管 Java 提供了根据您的意愿和方便使用变量名的自由,但您必须遵守某些规则。
下面的表格为您提供了有效和无效变量名的概念。
| 有效变量名 | 无效变量名 |
|---|---|
| age, _age, $age | 17age |
| num, NUM | int, float, for, while |
| stud1, stud_2 | Stud#, Stud@2, Stud 1 |
除此之外,Java 还有一些命名约定,虽然不是必须遵守,但许多 Java 开发人员都在实践中遵循,以保持 Java 代码的专业性。遵循这些约定可以提高代码的可读性。下面列出了一些命名约定:
age、name 等。studName、studAge、studFatherName 等。EXCHANGE_RATE。与其他编程语言一样,在 Java 中,程序中将要使用的所有变量都必须先声明。这有两个原因:
变量声明语法包括两个重要部分,如下所示:一个是数据类型,另一个是变量名。变量声明必须始终以分号结尾,否则编译器将引发终止错误。此外,如果多个变量具有相同的数据类型,Java 允许在单行中声明它们。
语法:
datatype variable_name;
例如,
int num1;
int num 2;
float f1,f2;
在这里,int 表示整数,float 表示小数。int 和 float 是数据类型,num1、num2、f1、f2 是标识符(变量名)。一旦变量声明了特定的数据类型,它将只接受该特定数据类型的值。在这里,num 只能接受整数值,如果我们尝试将任何其他值(如字符)存储到 num 中,则会引发错误。
声明完成后,您可以根据需要自由使用分配的空间(即变量)。这个已声明的变量最初包含垃圾值,即未定义的值。如果您希望初始分配一些值,可以使用赋值运算符“=”来完成。变量初始化可以在声明时进行,也可以稍后赋值。
语法:
datatype variable_name = value;
下面是一些变量初始化的示例
int num1 = 4;
float f1 ;
f1 = 2.5;
变量总是在其空间中分配最新的值,除非它用关键字 final 声明。请看下面的例子,
public class Student {
public static void main(String[] args) {
String name = "TOM";
int age = 17;
age = 20;
System.out.println("Name:" + name);
System.out.println("Age:" + age);
}
}
输出
Name:TOM Age:20
在上面的示例中,变量 age 最初存储值 17,但随着程序的执行,它发现 age 被赋予了一个新值 20。因此,新值 20 覆盖了之前的值 17,因为该变量没有用关键字 final 声明。因此,它将 age 显示为 20。
如果您将变量声明为 final 并尝试为其分配另一个值,结果将是错误。
现在,为了在 Java 中显示变量,我们可以使用 println() 方法。让我们通过一个例子来理解这一点。
public class Sum {
public static void main(String[] args) {
int num1 = 4;
int num2 = 5;
System.out.println("First number is : " + num1);
System.out.println("Second number is : " + num2);
int sum = num1 + num2;
System.out.println("Sum is " + sum);
}
}
在这里,变量 num1 和 num2 分别存储整数值 4 和 5。变量 sum 包含 num1 和 num2 的相加值。使用 println() 方法,显示存储在变量中的值。要将文本与变量组合,我们可以使用 + 字符。
输出
First number is : 4 Second number is : 5 Sum is 9
Java 描述了 4 种类型的变量。它们如下所列:
局部变量是在方法、构造函数或代码块内部定义的变量。该变量的作用域仅限于该方法或代码块。因此,我们可以说这种类型的变量只有局部作用域,这意味着该变量在进入代码块或被方法调用时创建,并在退出该代码块或方法返回时销毁。
void method()
{
int num = 5; // Local Variable
}
在这里,变量 num 绑定到函数 method()。
实例变量是在类内部但在方法、构造函数或代码块外部定义的变量,并且没有使用关键字 static 作为前缀。这意味着实例变量是非静态字段变量。
实例变量属于一个对象,而对象又是类的一个实例,因此我们可以换句话说,“实例变量是类的一个实例”。每当使用关键字 new 创建类的对象时,就会创建一个实例变量。这意味着实例变量对其对象是唯一的。
Class Employee{
String employee_Name;
int employee_Id;
在上面的示例中,创建了 Employee 类的两个实例(emp1 和 emp2)。
如果一个变量以关键字 static 为前缀,则称其为静态变量。Java 中的静态变量定义在类内部,但在方法或代码块外部。静态变量也称为类变量,因为它们属于类而不是对象(实例)。因此,静态变量对于类的所有实例都是共有的,无论实例化了多少次。换句话说,声明为静态的变量在类的所有对象之间共享。下面的代码片段将说明静态变量的工作方式。
Class Employee{
String employee_Name;
int employee_Id;
static String company_Name= “ABC”; //Static
参数是与方法关联的变量。当调用方法时,参数用于将信息传递给方法。参数的作用域在声明该参数的方法内部。
public class ParamEx {
static void MethodDisp(String fname) {
System.out.println("Hai " + fname + " Welcome to LearneTutorials!!!");
}
public static void main(String[] args) {
MethodDisp("Tom");
MethodDisp("Jerry");
}
}
本例中,ParamEx 是一个类,其中有一个名为 MethodDisp() 的方法。此方法的目的是显示消息“Hai (name) Welcome to Learnetutorials!!!”。在这里,name 作为字符串参数 fname 在方法调用时传递给 MethodDisp()。
现在不要为参数烦恼。您肯定会在未来的教程中学到。目前只需记住,变量也可以以参数的形式出现。