自学JAVA知识点总结 - 初级

编程语言5天前更新 AaronHzy
146 0

数据类型与运算符 - 变量、常量、数据类型

变量(Variables)

  • 变量的本质:变量代表一个“可操作的存储空间”,空间位置、类型、大小是确定的,但空间内的值是不确定的,可以通过变量名访问“对应的储存空间”,从而操作该空间的值。
    如果把“可操作的存储空间”比作“车位”,“储存空间里的数据”比作“不同品牌的车”,那“变量名”就是“车位号”,我们可以直接通过“车位号”找到这个“车位”,“车位”里停什么类型的车、车的大小、车位的位置是固定的,但车位里停什么品牌的车是随机的。
  • 变量的声明:Java是一种强类型语言,每个变量都必须声明其数据类型,变量的数据类型决定了变量占据存储空间的大小(详见下方数据类型)。
    变量作为程序中最基本的存储单元,其要素包括数据类型,变量名和作用域,变量在使用前必须对其“声明”,只有在变量声明以后,才能为其分配相应长度的存储空间。//声明变量格式,声明语句以分号结束
    type varName [=value][,varName[=value]...];
    //[]内容是可选项
    数据类型 变量名 [=初始值] [,变量名 [=初始值]…];
    
    //声明变量例子
    double test; //double类型变量 test
    long earthPopulation; //long类型变量 earthPopulation
    int age,age2; //同时声明2个int类型变量 age 和 age2
    int age=10, age2=12; //同时声明2个int类型变量 age 和 age2,并同时赋值
    int ageTest = 18; //声明int类型的变量 ageTest 的同时初始化值(赋值),不赋值则使用默认值
  • 变量的分类:
    变量类型声明位置从属于生命周期
    局部变量(Local variables)方法内部语句块内部方法语句块从声明位置开始,直到方法或语句块执行完毕,局部变量消失
    成员变量(实例变量)(Member variables)类内部方法外部对象对象的成员,伴随对象始终,创建对象时实例化,对象消失时跟着消失
    静态变量(类变量)(Static variable)类内部static修饰类被加载,静态变量就有效;类被卸载,静态变量消失
  • 局部变量(Local variables)
    //  类Variables
    public class Variables{
      // 方法体 main
      public static void main(String[] args){
        int age = 10; //局部变量 age,在main方法中都可以使用
        System.out.println(age); //输出局部变量 age,该变量属于该方法体,只能在方法内调用
        // 语句块
        {
           String name = "AaronHzy"; //局部变量 name,在该语句块中都可以使用
           System.out.println(name); //输出局部变量 name,该变量属于该语句块,只能在语句块内调用
        }
      }
    }
  • 成员变量(实例变量 Member variables)
    // 类Variables
    public class Variables{
      int abc = 100; //成员变量,创建对象后都可以使用该变量
      // 方法体 main
      public static void main(String[] args){
        System.out.println(abc); //方法中输出成员变量 abc
        //语句块
        {
          System.out.println(abc); //语句块中输出成员变量 abc
        }
      }
    }
  • 静态变量(类变量 Static variable)
    // 类Variables
    public class Variables{
      static int test = 123; //静态变量,使用static修饰,仅能在类的内部使用
      // 方法体 main
      public static void main(String[] args){
        System.out.println(test); //方法中输出静态变量 test
        //语句块
        {
          System.out.println(test); //语句块中输出静态变量 test
        }
      }
    }

常量(Constant)

  • 常量的本质:常量通常指的是一个固定的值,初始化(赋值)后不可被改变,通常利用关键字“final”来定义。
    // 声明常量格式,声明语句以分号结束
    final type varName = value;
    // []内容是可选项
    final 数据类型 变量名 = 初始值;
    // 声明常量例子
    final int age = 18; //double类型常量 age
    final String name = "AaronHzy"; //String类型常量 name

数据类型(Primitive Data Type)

  • 数据类型作用:Java是一种强类型语言,每个变量都必须声明其数据类型。自学JAVA知识点总结 - 初级
  • 局基本数据类型(Primitive Data Type):Java内置的数据类型,拥有六种数值类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔类型。
    // 整数类型(精确的)
    byte a = 127;
    short b = 32767;
    int c = 2147483647;
    long d = 9223372036854775807L; //默认是int类型,要使用long类型需要在末尾加“L”转型
    
    int a = 15; //十进制
    int b = 015; //以0开头的是八进制
    int c = 0x15; //以0x开头的是16进制
    int d = 0b1101; //以0b或0B开头的是二进制
    
    // 浮点类型(不精确的,不可直接用于比较)
    double a1 = 3.14D; //十进制,可以在结尾添加“D”转型到double类型,也可以不加,默认double
    double a2 = 300e2; //科学计数法,e2表示10^2,这里就等于300*10^2=30000
    float a3 = 3.14F; //浮点常量默认是double类型,如要使用float类型必须在结尾加“F”
    long a4 = 9223372036854775807L; //默认是int类型,要使用long类型需要在末尾加“L”转型
    
    // 如果一定要将浮点数进行比较,可使用 java.math包下面的两个类:BigInteger和BigDecimal
    // 这两个类可以处理任意长度的数值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算
    BigDecimal bd = BigDecimal.valueOf(1.0); //设置bd值为0.1
    bd = bd.subtract(BigDecimal.valueOf(0.1)); //bd减去0.1
    bd = bd.subtract(BigDecimal.valueOf(0.1)); //bd减去0.1
    bd = bd.subtract(BigDecimal.valueOf(0.1)); //bd减去0.1
    bd = bd.subtract(BigDecimal.valueOf(0.1)); //bd减去0.1
    bd = bd.subtract(BigDecimal.valueOf(0.1)); //bd减去0.1
    System.out.println("BigInteger计算: " + bd); //输出BigInteger计算的数值
    System.out.println("直接计算: " + (1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1)); //输出直接计算得出的数值,查看差异
    
    // 字符型
    char b1 = 'T'; //可使用Unicode编码支持的字符
    char b2 = '中'; //可使用Unicode编码支持的字符
    char b3 = '\u0061'; //也可直接使用“Unicode编码”
    char b4 = '\\'; //也可直接使用“转义字符”
    
    // 布尔类型
    boolean man = true; //只能为true或false,表示“真”和“假”
    /* 例子,判断是否为man,如果变量man为true,则输出语句“是否为男性:true”
       否则,则输出语句“是否为男性:false” */
    if(man){
      System.out.println("是否为男性:true");
    }else{
      System.out.println("是否为男性:false");
    }
  • 引用数据类型(Reference Data Type):引用类型指向一个对象,类型有类、接口、数组等,所有引用类型的默认值都是“null”。

© 版权声明

相关文章