1. 变量与常量
    1. 概念:
      1. 内存中的一个存储区域
      2. 该区域有自己的名称(变量名)和类型(数据类型)
      3. 该区域的数据可以在同一类型范围内不断变化
    2. 为什么要定义变量:
      1. 用来存放数据,可以重复使用
    3. 变量的特性:
      1. 初始化值
      2. 作用域:{}内
    4. 定义变量的格式:
      1. 数据类型 变量名=初始化值
    5. 作用:
      1. 记录不确定的数据
  2. 数据类型
    1. Java基础第二遍-02-变量-运算符_内存空间
    2. 数据类型的不同就是在内存中分配的空间不同
  3. 自动类型提升 在进行数值运算的时候
    1. 内存空间小的向内存空间大的提升
    2. 示例
    int a=3;
    byte b=5;
    a=a+b;//ok
    b=a+b;//会丢失精度,丢失的是内存空间中存储的高位数据11111111-1111-0000 会丢失11111111
    
  4. 强制类型转换
    int a=3;
    byte b=5;
    b= (byte) (a+b);
    
  5. Java默认整数类型int
    1. byte中b2和b3是变量,编译器认为数据不可控 可能会超出b1的存储空间 所以需要强转
    2. int中int为默认整数类型 会自动进行数据转换
    byte b1=0;
    byte b2=9;
    byte b3=9;
    b1= (byte) (b2+b3);
    System.out.println(b1);
    
    int c1=0;
    int c2=Integer.MAX_VALUE;
    int c3=1;
    c1=c2+c3;
    System.out.println(c1);
    //-2147483648 丢失最高位 最高位变为1 int类型为默认类型 会自动进行数据转换
    
  6. 算数运算符
    1. %:4%5=4 如果左边小于右边 结果等于左边
    2. +"":连接符:字符串+数 自动拼接为字符串
    3. ++:自增:在原有数据的基础上+1,a=b++; 这里的b要进行其他运算所以先将值存入一个临时空间,b++运算完成之后,再将临时空间中b的值参与其他运算;a=++b;这里的b先自增再赋值给a
    int i=1;
    i=i++;
    System.out.println(i);//i=1
    //内存中的活动:i的值先存入临时变量空间i=1 ,之后执行i++,i==2,再进行赋值操作i=1,这个1是临时变量空间中的i的值
    
    1. --:自减:同自增
  7. 赋值运算符
    1. 赋值运算的特点:会进行自动转换的操作
    short s=3;
    s+=3;//会做自动转换 其本质:s=(short)(s+3);
    s=s+s;//没有做自动转换的动作 会编译失败
    //上面的两个赋值运算有什么区别?
    System.out.print(s);