滚雪球学Java(08):深入理解Java变量、常量及其作用域

2024-04-26 19:27:53 浏览数 (1)

  咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~

代码语言:js复制
环境说明:Windows 10   IntelliJ IDEA 2021.3.2   Jdk 1.8

前言

  Java 是一种面向对象编程语言,它通过变量和常量来处理数据类型。本文将介绍 Java 中的变量、常量及其作用域以及如何使用它们。

摘要

  本文将介绍 Java 中的变量、常量及其作用域。我们将讨论变量和常量的含义、如何定义和使用它们,以及作用域的概念和限制。我们还将提供代码示例和测试用例来帮助您理解这些概念。

正文

变量

  Java 变量是用于存储数据值的容器。变量可以是不同的数据类型,如整数、浮点数、布尔值等。在 Java 中,变量必须先声明,然后才能使用。变量的声明通常包括类型和名称。

代码语言:java复制
        int number_1;  // 声明一个整数类型的变量
        number_1 = 10; // 定义一个整数为 10 的变量

Java 中,可以在声明变量的同时进行初始化:

代码语言:java复制
        int number_2 = 10;  // 声明一个整数为 10 的变量

变量还可以通过赋值来更新:

代码语言:java复制
        number_2 = 20;// 更新变量的值

  变量名必须符合 Java 的命名规则,只能包含字母、数字、下划线和美元符号,并且不能以数字开头。变量名也应该具有描述性,以便在代码中易于理解。

完整代码如下:

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java变量
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 17:56
 */
public class JavaVariable {

    public static void main(String[] args) {
        int number_1;  // 声明一个整数类型的变量
        number_1 = 10; // 定义一个整数为 10 的变量

        int number_2 = 10;  // 声明一个整数为 10 的变量
        number_2 = 20;// 更新变量的值
    }
}

常量

  Java 常量是一个固定值,一旦声明,其值就无法更改。常量可用于存储不希望更改的信息,如数学常数和程序特征。

  在 Java 中,常量通常使用关键字 final 来声明,常量的名称通常使用大写字母。例如:

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java如何定义常量
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 17:58
 */
public class JavaConstant {
    final int MAX_NUMBER = 100; // 声明一个名称为 MAX_NUMBER 的常量,值为 100
}

  定义常量时必须先初始化,而且初始化后就不能更改。如果尝试更改常量的值,Java 编译器将会发出错误提示。

作用域

  在 Java 中,每个变量都有其作用域,即变量的可访问性。在变量声明后,可以在同一代码块中或更小的代码块中使用该变量。在外部代码块无法访问内部代码块中的变量。

以下是代码块的示例,其中展示了作用域的概念:

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java的作用域
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 18:00
 */
public class JavaScope {

    public static void main(String[] args) {
        int number = 10; // 声明一个整数类型的变量
        if (number == 10) { // 在 if 代码块中声明一个字符串类型的变量
            String message = "Number is equal to 10!"; // 声明一个字符串类型的变量
            System.out.println(message); // 输出 message 的值
        }
        // 在 if 代码块之外,无法访问 message 变量
        // System.out.println(message); // 编译错误
    }
}

  在以上示例代码中,number 变量的作用域是整个 main 方法。message 变量的作用域是 if 代码块内部,无法在外部访问。

代码示例

定义变量

以下是定义一个整数变量的示例:

代码语言:java复制
int number = 10; // 声明一个整数为 10 的变量

定义常量

以下是定义一个常量的示例:

代码语言:java复制
final int MAX_NUMBER = 100; // 声明一个名称为 MAX_NUMBER 的常量,值为 100

作用域示例

以下示例演示了变量的作用域:

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java的作用域
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 18:00
 */
public class JavaScope {

    public static void main(String[] args) {
        int number = 10; // 声明一个整数类型的变量
        if (number == 10) { // 在 if 代码块中声明一个字符串类型的变量
            String message = "Number is equal to 10!"; // 声明一个字符串类型的变量
            System.out.println(message); // 输出 message 的值
        }
        // 在 if 代码块之外,无法访问 message 变量
        // System.out.println(message); // 编译错误
    }
}

代码解析:

  代码中声明了一个Java类JavaScope,其中的main方法是程序的入口点。

  在main方法中,首先声明一个整数类型的变量number,并且赋值为10。然后在if代码块中,判断number是否等于10,如果是,则声明一个字符串类型的变量message,并且赋值为"Number is equal to 10!"。接下来,使用System.out.println方法输出message的值。

  需要注意的是,message变量的作用域仅限于if代码块内部。在if代码块之外,无法访问message变量。因此,尝试在if代码块外部调用System.out.println方法输出message的值会导致编译错误。

代码方法介绍

  本文的代码示例已经涵盖了变量、常量和作用域的基本使用。如果您需要更多的代码实现,您可以查看 Java 官方文档。

测试用例

以下是一些测试用例,可用于验证变量和常量的使用情况。

变量测试用例

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java如何定义变量
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 17:56
 */
public class JavaVariable {

    public static void main(String[] args) {
        int number_1;  // 声明一个整数类型的变量
        number_1 = 10; // 定义一个整数为 10 的变量
        System.out.println(number_1); // 输出变量值,结果为10


        int number_2 = 10;  // 声明一个整数为 10 的变量
        number_2 = 20;// 更新变量的值

        System.out.println(number_2); // 输出变量值,结果为20
    }
}

这样,在执行该程序时,会在控制台输出结果10和20。

代码解析:

  这段代码演示了Java中的变量声明和初始化。

  首先,我们声明了一个整数类型的变量number_1,然后将其赋值为10。接着,使用System.out.println()方法输出number_1的值,结果为10。

  接下来,我们使用更简洁的方式,声明并初始化了一个整数类型的变量number_2,它的初始值也是10。然后,我们将其更新为20。最后,再次使用System.out.println()方法输出number_2的值,结果为20。

  总结:Java中的变量可以使用关键字"int"声明,并且可以在声明时进行初始化。变量可以随时更新其值。使用System.out.println()方法可以将变量的值输出到控制台。

常量测试用例

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java如何定义常量
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 17:58
 */
public class JavaConstant {

    public static void main(String[] args) {

        final int MAX_NUMBER = 100; // 声明一个名称为 MAX_NUMBER 的常量,值为 100

        System.out.println(MAX_NUMBER);

        // MAX_NUMBER = 200; // 编译错误,常量不能更改
    }
}

运行结果为:

100

代码解析:

  这个Java程序定义了一个名为JavaConstant的公共类。在main函数中,声明了一个名为MAX_NUMBER的常量,其值为100。程序打印出MAX_NUMBER的值,然后尝试将其值更改为200,但这行代码会导致编译错误,因为常量的值不能更改。

作用域测试用例

代码语言:java复制
package com.demo.javase.day08;

/**
 * 演示Java的作用域
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 18:00
 */
public class JavaScope {

    public static void main(String[] args) {
        int number = 10; // 声明一个整数类型的变量
        if (number == 10) { // 在 if 代码块中声明一个字符串类型的变量
            String message = "Number is equal to 10!"; // 声明一个字符串类型的变量
            System.out.println(message); // 输出 message 的值
        }
        // 在 if 代码块之外,无法访问 message 变量
        // System.out.println(message); // 编译错误
    }
}

执行结果如下:

代码解析:

  这段代码展示了Java中的作用域规则。在代码中,一个变量的作用域(也称为可见性)是指在哪些区域内可以访问该变量。

  在这个例子中,变量number的作用域是整个main方法。因此,它可以在整个main方法内部访问。变量number的类型是整数型,初始值为10。

  在if代码块内部,我们声明了一个字符串类型的变量message,并将其赋值为"Number is equal to 10!"。在if代码块内,我们可以访问和使用message变量。

  然而,一旦代码流离开了if代码块,变量message就超出了其作用域,无法再被访问。所以,在if代码块之外的System.out.println(message);会导致编译错误。

  这个例子强调了作用域的重要性,以及在程序中如何正确使用变量的作用域。在编写代码时,确保将变量声明在适当的作用域内,并正确处理变量的可见性是非常重要的。

小结

  本文介绍了 Java 中的变量、常量及其作用域。我们学习了如何定义和使用变量、常量,并了解了作用域的概念和限制。我们还提供了代码示例和测试用例来帮助您理解这些概念。

  ... ...

  好啦,这期的内容就基本接近尾声啦,若你想学习更多,你可以看看专栏的导读篇《「滚雪球学Java」教程导航帖》,本专栏致力打造最硬核 Java 零基础系列学习内容,

0 人点赞