Java 变量总结

举报
cloud昵称bbs 发表于 2021/08/02 13:47:13 2021/08/02
【摘要】 Java 变量总结,成员变量与局部变量比较

常量

常量,程序执行过程中,其值不发生改变的量
包括字面值常量和自定义常量

字面值常量包括:字符串常量、整数常量、小数常量、字符常量、布尔常量(truefalse)、空常量(null

自定义常量:用 final 关键字修饰的量

变量

在程序执行的过程中,其值可以在某个范围内发生改变的量

变量的本质,是内存中的一小块区域

定义格式:

数据类型 变量名 = 初始化值;

数据类型的分类:

数据类型就是变量的变化范围,包括 基本数据类型(四类八种)、引用数据类型(对象类型)

  • 基本数据类型

四类:整数类、小数类、字符类、布尔类
八种:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)、float(4个字节)、double(8个字节)、char(2个字节)、boolean(1个字节)

  • 引用数据类型

主要包括三类:类、接口和数组

数据类型的转换:

  • 自动(隐式)类型转换:
    小类型转大类型,自动提升为大类型,运算结果是大类型

  • 强制(显示)类型转换:
    手动将大类型转换为小类型,运算结果是小类型
    转换格式:小类型 变量名 = (小类型)大类型数据;

当且仅当大类型数据可以转换为小类型数据时,才进行转换,否则会造成精度损失

成员变量与局部变量的区别

  • 成员变量: 有默认初始值

    • 定义位置: 类中、方法外

    • 作用范围: 类中

    • 内存中位置: 堆内存

    • 生命周期:随着对象的创建而存在,随着对象的消失而消失

  • 局部变量: 无默认初始值,必须先赋值再使用

    • 定义位置: 方法中,或者形式参数

    • 作用范围: 方法中

    • 内存中位置: 栈内存

    • 生命周期:随着方法的调用而存在,随着方法调用的结束而消失

  • Java 中使用变量的规则:

    使用变量(变量重名)遵循 “就近原则”,如果局部位置有,就使用;没有就去本类的成员位置寻找,有就使用,没有就会去父类中寻找,父类中存在,则使用父类中的成员,父类中不存在,则会报错

成员变量的默认值:

boolean:falsebyte:0short:0char:int:0long:0float:0.0double:0.0String:nullString[]:null

char 类型变量后面什么也没有输出。不过,这并不是 char 类型变量没有默认值,而是 默认值为 “空字符”,也就是 ‘\u0000’,数值为 0
证明见下面代码

public class CharDefaultValue {
    static char c;
    public static void main(String[] args) {
        System.out.println((int) c);    // 0
        System.out.println(c == '\u0000');  // true
    }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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