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

举报
bug菌 发表于 2023/12/27 12:43:00 2023/12/27
【摘要】 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 前言  Java 是一种面向对象编程语言,它通过变量和常量来处理数据类型。本文将介绍 Java 中的变量、常量及其作用域以及如何使用它们。 摘要  本文将介绍 Java 中的变量、常量及其作用域。我们将讨论变量和常量的含义、如何定义和使用它们,以...


🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!


前言

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

摘要

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

正文

变量

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

        int number_1;  // 声明一个整数类型的变量
        number_1 = 10; // 定义一个整数为 10 的变量

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

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

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

        number_2 = 20;// 更新变量的值

  变量名必须符合 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 来声明,常量的名称通常使用大写字母。例如:

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

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

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类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的值会导致编译错误。

代码示例

定义变量

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

int number = 10; // 声明一个整数为 10 的变量

定义常量

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

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

作用域示例

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

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 官方文档。

测试用例

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

变量测试用例

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。

image.png

代码解析:

  这段代码演示了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()方法可以将变量的值输出到控制台。

常量测试用例

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

image.png

代码解析:

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

作用域测试用例

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); // 编译错误
    }
}

执行结果如下:

image.png

代码解析:

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

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

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

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

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

小结

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

附录源码

  如上涉及所有源码均已上传同步在Gitee,提供给同学们一对一参考学习,辅助你更迅速的掌握。

总结

  本文对 Java 中的变量、常量及其作用域进行了详细介绍。首先讲解了变量的含义及在 Java 中的定义和使用方式,包括变量类型、声明、初始化和赋值等。接着介绍了常量的定义和使用方式,以及使用 final 关键字声明常量的规则。最后讲解了作用域的概念和限制,包括变量的可访问性、代码块的区分和变量名的作用域等。文章还提供了相应的代码示例和测试用例来帮助读者更好地理解这些概念。

  总体而言,本文详细介绍了 Java 中变量、常量及其作用域的使用方法,对 Java 编程的入门和提升都有很大帮助。读完本文后,读者应该能够熟练使用变量和常量,了解它们的作用域,以及如何运用它们实现程序功能。

☀️建议/推荐你


  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。

  最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。

  同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。

📣关于我

  我是bug菌,CSDN | 掘金 | infoQ | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,华为云 | 阿里云| 腾讯云等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。