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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【2月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!

在这里插入图片描述


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


@[toc]

前言

  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 代码块内部,无法在外部访问。

代码示例

定义变量

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

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。

在这里插入图片描述

代码解析:

  这段代码演示了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

在这里插入图片描述

代码解析:

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

执行结果如下:

在这里插入图片描述

代码解析:

  这段代码展示了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电子书籍、简历模板等海量资料。


目录
相关文章
|
12天前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
1月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
|
19天前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
28天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
29天前
|
安全 Java
java BigDecimal 的赋值一个常量
在 Java 中,`BigDecimal` 是一个用于精确计算的类,特别适合处理需要高精度和小数点运算的场景。如果你需要给 `BigDecimal` 赋值一个常量,可以使用其静态方法 `valueOf` 或者直接通过字符串构造函数。 以下是几种常见的方法来给 `BigDecimal` 赋值一个常量: ### 使用 `BigDecimal.valueOf` 这是推荐的方式,因为它可以避免潜在的精度问题。 ```java import java.math.BigDecimal; public class BigDecimalExample { public static void
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
1月前
|
Java
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
本文探讨了在Java中,当父类的方法返回`this`对象或变量时,子类调用该方法的行为,以及`this`关键字在不同类中调用方法时的指向问题。
16 0
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
|
2月前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
81 5
|
3月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
29 5
|
6月前
|
存储 安全 Java
Java中的变量与数据类型——基本数据类型与引用数据类型深入剖析
Java中的变量与数据类型——基本数据类型与引用数据类型深入剖析
95 1