变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

变量声明格式

type varName [=value][,varName[=value]…]; //[ ]中的内容为可选项,即可有可无
数据类型 变量名 [=初始值] [,变量名 [=初始值]…];
案例:
int age = 19 , age2 = 90 ;
int age,age2;

变量的声明

  1. 如果你只定义一个变量,没有给变量进行赋值的话,那么其实这个变量相当于没有定义。

image.png

  1. 变量如果没有进行赋值的话,那么使用的时候会出错,告诉你:尚未初始化变量。

image.png

变量的赋值

image.png

变量的使用

  1. 变量的值可以更改

    1. public class TestVar01{
    2. public static void main(String[] args){
    3. //变量的声明(定义变量)(以年龄为案例讲解)
    4. //java是一个强类型的语言,只要声明变量就必须定义类型:定义整数类型
    5. int age ; //定义一个整数类型的变量,变量名字为age
    6. //对变量进行赋值操作:
    7. age = 10; //变量名字为age,具体的值为10
    8. age = 12;
    9. age = 20;
    10. age = age + 4;
    11. age = 9;
    12. age = 9;
    13. System.out.println(age);
    14. }
    15. }
  2. 变量不可以重复定义

image.png

  1. 程序执行的过程

image.png

变量的内存

变量的内存只占用一块内存存储空间
image.png

变量的作用域

作用域指的就是作用范围,变量在什么范围中有效
作用范围就是离它最近的{}
备注:一会我们写的代码,不要去运行,会出错

  1. /*
  2. 局部变量:定义在方法中
  3. 成员变量:定义在类中,方法外
  4. */
  5. public class TestVar04{
  6. int b = 20;
  7. public static void main(String[] args){
  8. System.out.println(a);//no
  9. int a = 10;
  10. System.out.println(a);//yes
  11. System.out.println(b);//yes
  12. {
  13. int c = 40;
  14. System.out.println(c);//yes
  15. int a = 50;//属于变量的重复定义
  16. }
  17. System.out.println(c);//no
  18. }
  19. public void eat(){
  20. System.out.println(b);//yes
  21. System.out.println(a);//no
  22. int a = 30;//不是变量的重复定义
  23. System.out.println(a);//yes
  24. }
  25. }