Java 变量 - Java 实例和静态变量

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(371)   2023-06-26 07:54:18

本 Java 教程讨论了什么是变量 以及变量的类型。另外,请查看如何在 Java 中声明变量的示例。我们还将看到一些在 Java 中命名变量的最佳实践。

Java 编程语言同时使用“字段”和“变量”作为其术语的一部分。 字段是指在方法外部声明的变量变量是指方法内部的声明,包括方法参数。

1.什么是变量?

顾名思义,变量是其值可以在运行时变化。在 Java 中,变量是对存储变量值的内存区域的命名引用

Java 变量示例

变量如何工作

1.1.如何声明一个变量?

给定的语法解释了如何在 java 中声明变量

[数据类型] [变量名称] = [变量值];

  • 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.例子

int i = 10;
int j = 10;

int sum = i + j;

System.out.println( sum );  // Prints 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类型变量被赋值给byte类型变量,数据丢失。

int i=198;
byte j=(byte)i;  

System.out.println( i );
System.out.println( j );

程序输出。

198
-58

3. Java 中的变量类型

在 Java 中,有四种类型的变量。这些变量可以是原始类型、类类型或数组类型。所有变量都根据可以访问的变量范围进行划分。

3.1.实例变量

不使用 static 关键字声明的变量(在类中)。非静态字段也称为实例变量,因为它们的值对于类的每个实例都是唯一的。它们也称为状态变量

public class VariableExample
{
    int counter = 20;         //1 - Instance variable
}

3.2.静态变量

也称为类变量。它是使用 static 修饰符声明的任何字段。这意味着无论该类被实例化了多少次,存在该变量的唯一一个副本

public class VariableExample
{
    static float PI = 3.14f;    //2 - Class variable
}

声明为 “public static” 的变量可以被视为 java 中的全局变量。

3.3.局部变量

这些在方法内部使用,因为在方法执行期间存在临时变量。声明局部变量的语法类似于声明字段。局部变量仅对声明它们的方法可见;班上其他人无法访问它们。

public class VariableExample
{
    public static void main( String[] args ) {
 
        int age = 30;     //3 - Local variable (inside method body)
    }
}

3.4.方法参数

参数是调用方法时传递给方法的变量。参数也只能在声明它们的方法内部访问,尽管在​​调用方法时会为它们分配一个值。

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修饰符声明的字段;无论类被实例化多少次,类变量只有一个副本。
  • 要访问实例变量,您必须创建该类的一个新实例。类变量可通过类引用访问,不需要创建对象实例。举个例子。我们有一个 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 变量名区分大小写。变量名 employeeEmployeeEMPLOYEE 不同。
  • Java 变量名必须以字母 $ _ 字符开头。
  • 在 Java 变量名称的第一个字符之后,名称还可以包含数字 $ _ 字符。
  • Java 中的变量名不能是保留关键字。例如,单词 breakcontinue 是 Java 中的保留字。因此,您不能将变量命名为它们。
  • 变量名应以小写书写。例如,variableapple
  • 如果变量名由多个单词组成,则遵循驼峰式 表示法。例如,deptNamefirstName
  • 静态最终字段(常量)应以全部大写命名,通常使用 _ 来分隔名称中的单词。例如 LOGGERINTEREST_RATE

快乐学习!!

地址:https://www.cundage.com/article/java-variables.html

相关阅读

本 Java 教程讨论了什么是变量 以及变量的类型。另外,请查看如何在 Java 中声明变量的示例。我们还将看到一些在 Java 中命名变量的最佳实践。 Java 编程语言同时使用“字段”和“变...
从系统控制台运行 Java 类(例如 Hello world 应用程序)时,我们可能会遇到此错误(无法找到或加载主类)。我们收到此错误是因为我们错误地尝试使用 main() 命令在类中运行 ja...
学习编写一个简单的 Java 程序来将两个整数相加并在控制台中显示它们的和。 1. Java 两个整数相加的例子 在给定的 Java 示例中,我们有三个 int 类型的 variables 即 ...
在上一篇文章中,您学习了如何在基于 Spring security 的 Java 应用程序中启用 Http 基本身份验证
了解有关 Java 注释、Java 注释类型、Javadoc 工具、注释对性能的影响以及要遵循的最佳实践的所有信息。 1、为什么要写评论? 注释,顾名思义,就是我们在程序之间出于各种原因写的注释...
了解如何在 Java 中设置类路径作为环境变量并作为命令行参数传递。在任何 Java 应用程序的运行期间,CLASSPATH 是一个参数,它告诉 JVM 到哪里寻找类和包。 类路径的默认值为“....
在本教程中,我们将学习设置环境变量,例如JAVA_HOME当您没有管理员权限时您的开发机器。在像银行这样对安全性要求很高的公司(比如我的 ?),这是非常常见的情况。 打开“用户帐户”选项 您可以...
Java 中的所有值都分为两类:引用类型 和原始类型。了解所有 Java 中的八种基本数据类型、它们的内存大小、默认值以及最大值和最小值范围。 1. Java 原始类型 原始 数据类型 由 Ja...
这篇文章延续了我在我的My Top Java 9 Features 博文中对 Java9 特性的探索。这里我们在 List、Set 和 Map 接口中试验 Java9 集合静态工厂方法。
Java 实例 operator (also called 类型比较运算符) is used to test whether the specified object is an instanc...