📅  最后修改于: 2020-02-12 14:50:09             🧑  作者: Mango
变量是赋予存储位置的名称,它是程序中存储的基本单位。
如何声明变量?
我们可以在Java中声明变量,如下所示:type:可以存储在此变量中的数据类型。name:给变量的名称。 这样,只能将名称赋予存储位置。可以通过两种方式为它分配值:
如何初始化变量?
datatype:可以存储在此变量中的数据类型。
variable_name:赋予变量的名称。
value:它是存储在变量中的初始值。
例子
float simpleInterest; //声明float变量
int time = 10, speed = 20;//声明和初始化整数变量
char var = 'h'; //声明和初始化字符变量
变量类型
Java中有三种类型的变量:
现在让我们详细了解这些变量中的每一个。
示例程序1:
public class StudentDetails {
public void StudentAge()
{
// 局部变量age
int age = 0;
age = age + 5;
System.out.println("学生年龄 : " + age);
}
public static void main(String args[])
{
StudentDetails obj = new StudentDetails();
obj.StudentAge();
}
}
输出:
学生年龄 : 5
在以上程序中,变量age是函数StudentAge()的局部变量。如果我们在StudentAge()函数外部使用变量age,编译器将产生一个错误,如下面的程序所示。
示例程序2:
public class StudentDetails {
public void StudentAge()
{ // 局部变量age
int age = 0;
age = age + 5;
}
public static void main(String args[])
{
// 在age外部调用age
System.out.println("学生年龄 : " + age);
}
}
输出:
Compilation Error in Java code :-
prog.Java:12: error: cannot find symbol
System.out.println("Student age is : " + age);
^
symbol: variable age
location: class StudentDetails
1 error
示例程序:
import java.io.*;
class Marks {
// 创建实例变量
int engMarks;
int mathsMarks;
int phyMarks;
}
class MarksDemo {
public static void main(String args[])
{
// 第一个实例
Marks obj1 = new Marks();
obj1.engMarks = 50;
obj1.mathsMarks = 80;
obj1.phyMarks = 90;
// 第二个实例
Marks obj2 = new Marks();
obj2.engMarks = 80;
obj2.mathsMarks = 60;
obj2.phyMarks = 85;
// 第一个实例的mark
System.out.println("第一个实例的mark:");
System.out.println(obj1.engMarks);
System.out.println(obj1.mathsMarks);
System.out.println(obj1.phyMarks);
// 第二个实例的mark
System.out.println("第二个实例的mark:");
System.out.println(obj2.engMarks);
System.out.println(obj2.mathsMarks);
System.out.println(obj2.phyMarks);
}
}
输出:
第一个实例的mark:
50
80
90
第二个实例的mark:
80
60
85
正如您在上面的程序中看到的那样,变量engMarks,mathsMarks和phyMarks是实例变量。如果上面的程序中有多个对象,则每个对象将拥有自己的实例变量副本。从上面的输出中可以清楚地看到,每个对象都有自己的实例变量副本。
要访问静态变量,我们不需要创建该类的对象,我们可以简单地以以下方式访问变量:
class_name.variable_name;
示例程序:
import java.io.*;
class Emp {
// 静态变量
public static double salary;
public static String name = "logan";
}
public class EmpDemo {
public static void main(String args[])
{
// 访问实例变量,无实例创建
Emp.salary = 1000;
System.out.println(Emp.name + "的平均工资:"
+ Emp.salary);
}
}
输出:
logan的平均工资:1000.0
实例变量Vs静态变量
class Example
{
static int a; // 静态变量
int b; // 实例变量
}