Java 中的变量
在本教程中,我们将学习 Java 变量、各种类型的变量以及理解 Java 变量的代码示例。
什么是变量?
当我们想存储任何信息时,我们把它存储在计算机的一个地址中。我们没有记住存储信息的复杂地址,而是命名了那个地址。地址的命名被称为变量。变量是内存位置的名称。
换句话说,变量是在程序执行期间用来存储任何类型的值的名称。
要在 Java 中声明变量,我们可以使用以下语法
datatype variableName;
这里,数据类型指的是变量的类型,可以是任何类型: int,float 等。变量名称可以是任何类似的: empId、金额、价格等。
Java 编程语言主要定义了三种变量。
- 实例变量
- 静态变量(类变量)
- 局部变量
Java 中的实例变量
实例变量是在类内部声明但在任何方法、构造器或块外部声明的变量。实例变量也是对象变量,通常称为字段或属性。它们被称为对象变量。每个对象都有自己的变量副本,因此,如果一个对象改变了变量的值,它不会影响实例变量。
class Student
{
String name;
int age;
}
Here name and age are instance variable of Student class.
Java 中的静态变量
Static 是用 static 关键字声明的类变量。静态变量只初始化一次。静态变量也与 final 关键字一起用于声明常量。
class Student
{
String name;
int age;
static int instituteCode=1101;
}
这里 instituteCode 是一个静态变量。学生类的每个对象将共享 instituteCode 属性。
静态变量的附加点:
- 静态变量也称为类变量。
- 静态意味着保持不变。
- 在 Java 中,这意味着它对于为该类创建的所有实例都是常量。
- 不需要从对象调用静态变量。
- 由类名. static_variable_name 调用
注意:静态变量永远不能在方法内部定义,即它永远不能是局部变量。
示例:
假设您创建了两个学生类的对象,并且从一个对象更改了静态变量的值。现在,当您从其他对象打印它时,它将显示已更改的值。这是因为它被声明为静态的,也就是说,它对于创建的每个对象都是不变的。
package studytonight;
class Student{
int a;
static int id = 35;
void change(){
System.out.println(id);
}
}
public class StudyTonight {
public static void main(String[] args) {
Student o1 = new Student();
Student o2 = new Student();
o1.change();
Student.id = 1;
o2.change();
}
}
35 1
Java 中的局部变量
局部变量在方法、构造器或块中声明。局部变量在方法、构造器或块开始时初始化,一旦结束将被销毁。局部变量驻留在栈中。局部变量不使用访问修饰符。
float getDiscount(int price)
{
float discount;
discount=price*(20/100);
return discount;
}
Here discount is a local variable.
Java 中的变量范围
变量的范围决定了它在整个程序中的可访问性。正如我们所看到的,变量是不同的类型,因此它们有自己的范围。
局部变量:局部变量的作用域仅限于声明它的块。例如,在函数中声明的变量只能在该函数中访问。
实例变量:实例变量的范围取决于访问修饰符(公共,私有,默认)。如果变量被声明为私有,那么它只能在类内访问。
如果变量被声明为公共,那么所有人和整个应用都可以访问它。
如果变量被声明为缺省值,则可以在同一个包中访问它。
有关可访问性的更多详细信息,您可以参考我们的详细教程。点击此处了解更多可变范围
示例:
在这个例子中,我们创建了两个变量 a 和 i ,第一个在函数内部声明,第二个在循环内部声明。这两个变量都有自己的声明范围,因此在块外访问会报告错误。
public class HelloWorld {
public static void main(String[] args) {
int a = 10;
for(int i = 0; i<5; i++) {
System.out.println(i);
}
System.out.println("a = "+a);
System.out.println("i = "+i); // error
}
}
错误:找不到符号 I