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

  咦咦咦,各位小可爱,我是你们的好伙伴 bug菌,今天又来给大家手把手教学Java SE系列知识点啦,赶紧出来哇,别躲起来啊,听我讲干货记得点点赞,赞多了我就更有动力讲得更欢哦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~


🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8

前言

  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 中的变量、常量及其作用域。我们学习了如何定义和使用变量、常量,并了解了作用域的概念和限制。我们还提供了代码示例和测试用例来帮助您理解这些概念。

  … …

  好啦,这期的内容就基本接近尾声啦,若你想学习更多,你可以看看专栏的导读篇《「滚雪球学Java」教程导航帖》,本专栏致力打造最硬核 Java 零基础系列学习内容,🚀打造全网精品硬核专栏,带你直线超车;欢迎大家订阅持续学习。功不唐捐,久久为功!

「赠人玫瑰,手留余香」,咱们下期拜拜~~

附录源码

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

☀️建议/推荐你

  无论你是计算机专业的学生,还是对编程感兴趣的跨专业小白,都建议直接入手「滚雪球学Java」专栏;该专栏不仅免费,bug菌还郑重承诺,只要你学习此专栏,均能入门并理解Java SE,以全网最快速掌握Java语言,每章节源码均同步「Gitee」,你真值得拥有;学习就像滚雪球一样,越滚越大,带你指数级提升。

  码字不易,如果这篇文章对你有所帮助,帮忙给bugj菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。

  同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

📣关于我

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug菌¹

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值