变量&常量&标识符 Day5

1. 变量

1.1 变量的概念

  • 变量是计算机内存中的一块存储单元,是存储数据的基本单元
  • 变量的组成包括:数据类型、变量名、值,后文会具体描述
  • 变量的本质作用就是去记录数据的,比如说记录一个人的身高、体重、年龄,就需要去程序中记录数据,而不同的数据使用不同的数据类型去存储,后文会具体描述

1.2 变量的定义

变量的定义有三种方法

  • 直接声明
  • 先声明后赋值
  • 多个同类型变量声明与赋值

代码举例:

public class VariableDefine {
    public static void main(String[] args) {
        int age;                //第一种方法:变量的声明
        age = 21;
        int number = 12345;     //第二种方法:先声明后赋值
        int a,b,c = 100,d=123;  //第三种方法:多个同类型变量声明与赋值

        System.out.println("age = " + age);
        System.out.println("number = " + number);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
    }
}

  • 以上代码可以清晰看到三种变量的定义方法

  • 输出结果:
    在这里插入图片描述

    • 要实现 age = 21这种效果,只需要在输出时,用字符串 + 变量就可以了,如上输出,其中,+只做文字拼接,不做加法计算

    • 注意如果只是单纯输出变量的值,不需要双引号,如

      System.out.println(age);	//输出变量的值,不需要加双引号
      System.out.println("age");	//如果加了双引号,那么输出的是字符age,既不是变量age也不是变量的值。
      

      输出结果
      在这里插入图片描述

注意事项:

  • 未赋值的变量是不能使用的,当我们注释掉了age,此时age就没有赋值,可以看到没有赋值是直接报错了
    在这里插入图片描述

  • 第三种定义变量的方法,不推荐使用,因为代码可读性不高,不便于阅读

1.3 变量概念解析

有了变量的定义,用以上代码解析一下变量的概念

  • 变量是计算机内存中的一块存储单元,是存储数据的基本单元
    • 当我们声明一个变量age,int age;那么在内存当中就会开辟一个int字节的空间,这块空间的名称叫做age,我们可以通过age来访问到这一块空间
      在这里插入图片描述

此时里面还没有数据,我们只需要赋值age = 21;就把数据存到内存当中
在这里插入图片描述

  • 变量的组成包括:数据类型、变量名、值
    • 比如说:int number = 12345;,其中int是整数类型,变量名为number,值为12345,这三个部分组成了一个number变量

1.4 局部变量

  • 定义位置

    • 定义在方法内

      • 比如说定义在main方法以内

        public class VariableDefine {
            public static void main(String[] args) {
                int a = 10;
                System.out.println(a);
            }
        }
        
  • 作用范围

    • 当前变量最近的大括号内

      public class VariableDefine {
          public static void main(String[] args) {
              int a = 10;
              System.out.println(a);
              if(a == 10){
                  int b = 20;
                  int c = 30;
                  System.out.println(c);
              }
              System.out.println(b);
          }
      }
      

      运行结果
      在这里插入图片描述

      可以看见c在作用范围内,而b已经不在作用范围内 所以无法使用

  • 重名

    • 重名的作用范围内不能出现重名

      public class VariableDefine {
          public static void main(String[] args) {
              int a = 10;
              System.out.println(a);
              if(a == 10){
                  int b = 20;
                  int b = 30;
                  System.out.println(b);
              }
          }
      }
      

      印证结论
      在这里插入图片描述

  • 默认值

    • 局部变量必须先赋值后使用,没有默认值

      public class VariableDefine {
          public static void main(String[] args) {
              int a = 10;
              int b;
              System.out.println(b);
          }
      }
      
      

      验证结论
      在这里插入图片描述

  • 生命周期

    • 随着方法的入栈而生效,随着方法的出栈而死亡
  • 存储文章

    • 基本数据类型存在栈区中,引用数据类型 变量名在栈区 而值在堆区

2. 常量

无法改变的数据叫做常量

public class ConstantTest {
    public static void main(String[] args) {
        System.out.println(100);    //100为整型常量
        System.out.println(3.14);   //3.14为浮点型常量
        System.out.println('a');    //a为字符常量
        System.out.println(true);   //true为布尔常量
        System.out.println("true"); //"true"为字符串常量
    }
}

3. 标识符

标识符
只要是需要自定义名称的内容,都属于标识符
标识符名称不能与Java关键字、保留字冲突
可以以字母、下划线、美元符号、人民币符号,可以包含数字但不能以数字开头
类名:由一个或多个单词组成,每个单词字母开头大写,满足大驼峰
变量名:由一个或多个单词组成,第一个单词字母开头小写,其余每个单词大写,满足小驼峰
定义变量居然做到见名知义,尽量使用单词定义,最好不要中英文混用,或者是中文拼音,不便于阅读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鹤言o 0 O

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

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

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

打赏作者

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

抵扣说明:

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

余额充值