Java 变量
本文介绍 Java 中的变量,变量类型,展示声明变量的示例以及变量命名约定的最佳实践。
本文介绍 Java 中的变量,变量类型,展示声明变量的示例以及变量命名约定的最佳实践。
Java 编程语言使用“属性”和“变量”作为其术语的一部分。属性引用在方法外部声明的变量,而变量引用在方法内部的声明,包括方法参数。
1. 什么是变量
顾名思义,变量的值在运行时可以变化。在 Java 中,变量是对存储变量值的存储区的命名引用。
1.1 变量声明语法
变量声明具有以下语法:
[data_type] [variable_name] = [variable_value];
data_type –
指存储在存储区中的信息的类型。variable_name –
引用变量的名称。variable_value –
引用要存储在存储区中的值。
例如,以下语句是 Java 中声明变量的几种方式。
int i = 10; //Variable of int type
String str = "howtodoinjava.com"; //Variable of string type
Object obj = new Object(); //Variable of object type
int[] scores = [1,2,3,4,5,6,7,8,9]; //Variable of int type
1.2 Java 变量示例
int i = 10;
int j = 10;
int sum = i + j;
System.out.println( sum );
程序输出。
20
2. 类型扩大和缩小
2.1 类型扩大
当较小的原始类型值自动容纳在较大/较宽的原始数据类型中时,这称为变量扩展。在下面的示例中,将 int
类型变量分配给 long
类型变量,不会有任何数据丢失或错误。
int i = 10;
long j = i;
System.out.println( i );
System.out.println( j );
程序输出。
10
10
2.2 类型缩小
当较大的原始类型值分配给较小的原始数据类型时,这称为变量的变窄。由于可用于存储数据的位数较少,可能会导致某些数据丢失。它需要显式类型转换为所需的数据类型。
在给定的示例中,将int类型变量分配给具有数据丢失的字节类型变量。
int i=198;
byte j=(byte)i;
System.out.println( i );
System.out.println( j );
程序输出
198
-58
3. 变量类型
在 Java 中,有四种类型的变量。这些变量可以是原始类型,类类型或数组类型。
所有变量均根据可访问变量的范围进行划分。
-
实例变量
在类中声明的没有
static
关键字的变量。非静态字段也称为实例变量,因为它们的值对于类的每个实例都是唯一的。它们也称为_状态变量_。public class VariableExample { int counter = 20; //1 - Instance variable }
-
静态变量
也称为_类变量_。它是用
static
修饰符声明的任何字段。这意味着无论实例被实例化多少次,该变量都存在一个副本。public class VariableExample { static float PI = 3.14f; //2 - Class variable }
在 Java 中,可以将声明为 “公共静态” 的变量视为全局变量。
-
局部变量
这些在方法内部使用,因为在方法执行期间存在临时变量。声明局部变量的语法类似于声明字段。局部变量仅对声明它们的方法可见;类上的方法无法访问其他方法中的变量。
public class VariableExample { public static void main( String[] args ) { int age = 30; //3 - Local variable (inside method body) } }
-
方法参数
参数是在调用方法时传递给方法的变量。尽管在调用方法时会为其分配值,但参数也只能在声明它们的方法内部访问。
public class VariableExample { public static void main( String[] args ) { print( 40 ); } public static void print ( int param ) { //4 - Method Argument System.out.println ( param ); } }
4. 实例变量与类变量
-
实例变量(非静态字段)对于类的每个实例都是唯一的。
-
类变量(静态字段)是使用
static
修饰符声明的字段;无论实例已被实例化多少次,类变量都只有一个副本。 -
要访问实例变量,必须创建一个新的 class 实例。类变量可通过类引用进行访问,并且不需要创建对象实例。
举个例子,我们有一个具有一个实例变量和一个类变量的
Data
类。public class Data { int counter = 20; static float PI = 3.14f; }
我们可以以给定的方式访问两个变量。
public class Main { public static void main(String[] args) { Data dataInstance = new Data(); //Need new instance System.out.println( dataInstance.counter ); //20 //Can access using class reference System.out.println( Data.PI ); //3.14 } }
5. Java 变量命名约定
关于如何定义变量名,有一些规则和约定。
- Java 变量名称区分大小写。变量名称
employee
与Employee
或EMPLOYEE
不是相同的变量 。 - Java 变量名称必须以字母或
$
或_
字符开头。 - 在 Java 变量名的第一个字符后,这个名字也可以包含数字,
$
或_
字符。 - 变量名称不能是 Java 中的保留关键字,例如
break
或continue
是 Java 中的保留字,因此,您不能为它们命名变量。 - 变量名应小写。例如
variable
或apple
。 - 如果变量名由多个单词组成,则遵循驼峰表示法。例如
deptName
或firstName
。 - 静态最终字段(常量)的命名的所有字母都应该大写,通常使用
_
分隔名称中的单词。例如LOGGER
或INTEREST_RATE
。