Java数据类型及变量的新理解

本文深入探讨Java数据类型的两大类:基本数据类型与引用数据类型,并详细解析成员变量、局部变量与静态变量的区别,帮助读者更好地理解Java编程的基础概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java数据类型及变量的新理解

在刚接触java时,对这些只有模糊的概念,虽然不影响使用,但一定会限制你的上限,当回过头学习JVM的时候,发现基础的重要性,这里把阅读的几篇优秀博客,和个人笔记整合在了一起,简短、易懂,希望阅读后能有所收获,欢迎补充。
要做优秀的程序员,一定不要做API调用员。

数据类型
Java的数据类型分为两大类:
-基本数据类型:包括 整数、浮点数、字符、布尔。
-引用数据类型:包括 类、数组、接口。

基本数据类型
在这里插入图片描述
变量

变量:在程序中可以变化的量称为变量,而常量是固定不变的数据。

  • 成员变量
  • 局部变量
  • 静态变量(全局变量)

成员变量
成员变量也成为属性,直接定义在类中,在方法之外。
面向对象三大思想之一,封装的思想,封装一个实体类的时候其实我们就是在使用成员变量,只不过我们没有在意细节。

SL_World博客中:

   我们来研究一个事物:

           属性:外在特征;例如人的身高,体重

           行为:能够做什么;例如人有说话,打球等行为。

   而在Java语言中,最基本的单位是类,类就是用来体现事物的。

   用类class来描述事物也是如此:

           属性:对应类中的成员变量

           行为:对应类中的成员函数

例如下面例子中type和probability就是成员变量

public class Gender {
    
    private String type;
    private int probability;
    
    ...
}

局部变量
定义在方法中的变量
下面例子中,定义了4个局部变量,解析字节码文件,我们来看局部变量表在这里插入图片描述

    public static void main(String[] args) {
        int i = 10;
        int j = 20;
        String c = "hello world";
    }

静态变量
static修饰的变量,也就是全局变量。

static String s = "hello world";

静态变量和成员变量的区别:

A:所属不同

静态变量:属于类,类变量

成员变量:属于对象,对象变量,实例变量

B:内存位置不同

静态变量:方法区的静态区

成员变量:堆内存

C:生命周期不同

静态变量:静态变量是随着类的加载而加载,随着类的消失而消失

成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失

D:调用不同

静态变量:可以通过对象名调用,也可以通过类名调用

成员变量:只能通过对象名调用

成员变量和局部变量的区别:

A:在类中的位置不同

成员变量:在类中方法外

局部变量:在方法定义中或者方法声明上

B:在内存中的位置不同

成员变量:在堆内存

局部变量:在栈内存

C:生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

D:初始化值不同

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

局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

注意事项:

局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

参考1. Java三种变量的区别

  1. 浅谈静态变量、成员变量、局部变量三者的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值