前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >滚雪球学Java(08):深入理解Java变量、常量及其作用域

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

原创
作者头像
bug菌
发布2024-04-26 19:27:53
880
发布2024-04-26 19:27:53
举报
文章被收录于专栏:滚雪球学Java滚雪球学Java

??咦咦咦,各位小可爱,我是你们的好伙伴——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 零基础系列学习内容,?打造全网精品硬核专栏,带你直线超车;欢迎大家订阅持续学习。功不唐捐,久久为功!

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

??建议/推荐你

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

??码字不易,如果这篇文章对你有所帮助,帮忙给bugj菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。 ??同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

?关于我

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


--End

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 摘要
  • 正文
    • 变量
      • 常量
        • 作用域
          • 代码示例
            • 定义变量
            • 定义常量
            • 作用域示例
          • 代码方法介绍
            • 测试用例
              • 变量测试用例
              • 常量测试用例
              • 作用域测试用例
            • 小结
            • ??建议/推荐你
            • ?关于我
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com