Java中最基本的存储单元之变量基础教程

 更新时间:2025年12月18日 11:34:19   作者:QuienFun  
变量相当于内存中一个数据存储空间的表示,类似与门牌号与房间的关系—变量看作门牌号,通过门牌号可以找到房间,而通过变量名可以访问到变量,这篇文章主要介绍了Java中最基本的存储单元之变量基础教程的相关资料,需要的朋友可以参考下

前言:

变量是什么?变量就是可以变化的量!本文包含对变量的介绍,基本语法,变量的三要素,以及变量的作用域和特殊的常量,最后进行一定拓展。希望这篇文章能够帮助你快速掌握变量和使用。

变量是什么?

前言中有提到变量就是可以变化的量,那具体变量是什么呢?

在Java中,变量是最基本的存储单元,用于存储数据值,变量就像一个容器,在程序运行期间可以改变它的值。

而Java是一种强类型语言,所以每个变量都需要声明其类型。

变量的本质

  • 计算机内存被分为许多个小单元,每个单元都有地址。
  • 而变量就是这些内存的地址的容易看懂的别名,方便给人使用
  • 变量的值可以在程序执行过程中改变(除非声明为常量及final)

一个变量有哪三个要素?

  1. 数据类型(可以存什么类型的数据以及会占用多少内存)例如:int、double、String、boolean等
  2. 变量名(必须是合法标识符)
  3. 值(存储的具体内容)

变量的使用

声明变量:

//数据类型 变量名;
int age;
String name;

声明并初始化:

//数据类型 变量名 = 值;
//语法:type varName [=Value] [{,VarName[=value]}]

int age = 100;
String name = "CSDN"

之前讲过Java的数据类型分为基本数据类型(8种)还有引用数据类型以及它们所占用的大小

基本类型

整型

byte b = 10;        // 1字节,-128 ~ 127
short s = 1000;     // 2字节,-32768 ~ 32767
int i = 100000;     // 4字节,最常用
long l = 100000L;   // 8字节,后缀加L或l

浮点型

float f = 3.14f;    // 4字节,后缀加F或f
double d = 3.14159; // 8字节,默认浮点类型

字符型

char c1 = 'A';      // 2字节,单个字符
char c2 = '\u0041'; // Unicode字符
char c3 = 65;       // ASCII码

布尔型

boolean flag1 = true;
boolean flag2 = false;

变量可以是基本类型 那就也可以是引用类型

引用类型

// 类类型
String str = "Hello";
Scanner input = new Scanner(System.in);

// 数组类型
int[] arr = new int[5];
String[] names = {"张三", "李四"};

// 接口类型
List<String> list = new ArrayList<>();

之前讲过变量的命名规则这里就不讲了,变量声明是一个完整的语句,所以每个声明都必须以分号结尾

变量的命名建议使用驼峰命名法

变量的作用域

  • 类变量
  • 实例变量
  • 局部变量
  • 参数变量
public class Variable {
    static int allClicks = 0;    // 类变量
    String str = "HelloWorld";   // 实例变量
    
    public static void main(String[] args) {
        int localVar = 10;       // 局部变量
    }
    
    public int add(int a, int b) {   // a, b 是参数变量
        return a + b;
    }
}
public class Demo {
    public static void main(String[] args) {
        // System.out.println(str1);   报错
        String str1 = "CSDN";
        System.out.println(str1);
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
        }
        // System.out.println(i);  报错
    }
}

常量

有可以改变的量,那就是有不能改变的量喽?

是的,在Java中,常量是指程序运行过程中值不能被修改的量,它是固定不变的。

常量的核心特征是「一旦初始化,就无法被重新赋值」,可以用来定义固定的、通用的值。

常量的使用

使用final定义常量:

public class Constant {
    public static void main(String[] args) {
        final double PI = 3.14159;
        final int MAX_SIZE = 100;
    }
}

常量的命名使用全大写,单词之间使用下划线_分隔

拓展

修饰符不存在先后顺序 static final 等

static final double PI = 3.14;
final static double PI = 3.14;
static public double PI = 3.14;
// 以上都可以

可以使用_分隔数字

int money = 10_0000_0000;
System.out.println("数字之间的下划线不显示" + money);
// 输出: 数字之间的下划线不显示:1000000000

命名变量时可以写在一行(不推荐)

int a,b,c;
int a=1,b=2,c=3;

实例变量如果不初始化会有默认值

public class Demo {
    String name;
    int age;
    double PI;
    public static void main(String[] args) {
        Demo demo = new Demo();
        System.out.println(demo.name);
        // 输出 null
        System.out.println(demo.age);
        // 输出 0
        System.out.println(demo.PI);
        // 输出 0.0
    }
}

结尾

到此这篇关于Java中最基本的存储单元之变量基础教程的文章就介绍到这了,更多相关Java存储单元变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一个简单的类加载器URLClassLoader案例

    一个简单的类加载器URLClassLoader案例

    这篇文章主要介绍了一个简单的类加载器URLClassLoader案例,这里写了一个小 demo,来加深对于反射的理解,需要的朋友可以参考下
    2023-04-04
  • springboot中如何通过main方法调用service或dao

    springboot中如何通过main方法调用service或dao

    这篇文章主要介绍了springboot中如何通过main方法调用service或dao,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Mybatis 如何开启控制台打印sql语句

    Mybatis 如何开启控制台打印sql语句

    这篇文章主要介绍了Mybatis 如何开启控制台打印sql语句问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • JAVA Calendar类使用方面实例

    JAVA Calendar类使用方面实例

    这篇文章主要介绍了JAVA Calendar类使用方面实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • mybatis-plus之自动映射字段(typeHandler)的注意点及说明

    mybatis-plus之自动映射字段(typeHandler)的注意点及说明

    这篇文章主要介绍了mybatis-plus之自动映射字段(typeHandler)的注意点及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • SpringBoot项目中的favicon.ico图标无法显示问题及解决

    SpringBoot项目中的favicon.ico图标无法显示问题及解决

    这篇文章主要介绍了SpringBoot项目中的favicon.ico图标无法显示问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 将Java程序包打包为.exe文件的操作步骤

    将Java程序包打包为.exe文件的操作步骤

    将Java程序打包为为.exe文件分为俩个步骤:将Java程序打包成Jar包和打包为.exe文件,文中通过图文结合的方式给大家讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-06-06
  • springmvc限流拦截器的示例代码

    springmvc限流拦截器的示例代码

    本篇文章主要介绍了springmvc限流拦截器的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Java使用SLF4J记录不同级别日志的示例详解

    Java使用SLF4J记录不同级别日志的示例详解

    SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下
    2025-04-04
  • java编译器和JVM的区别

    java编译器和JVM的区别

    在本篇文章里小编给大家整理的是一篇关于java编译器和JVM的区别的相关内容,有兴趣的朋友们可以学习下。
    2020-12-12

最新评论