Java基本数据类型、关键字

Java基本数据类型、关键字

一、Java基本数据类型

Java有8中基本数据类型:byte\char \short \int\float\double\long\boolean
在说明每种类型大小前需要明确下面两个概念:

  • 字节=byte,是由8位带符号的二进制数表示的。

  • 字符=char,是由Unicode编码表示

    下面是每种类型的大小

  • byte 1字节 取值范围 -128至127

  • char 2字节

  • short 2字节

  • int 4字节

  • float 4字节

  • double 8字节

  • long 8字节

  • boolean 2字节

    关于byte取值范围补充下面文章:
    详解java中的byte类型 - 进击的石头—GO! - 博客园

    总结来说就是Java采用的是有符号数即区别正负数,每个类型的二级制表示的首位是符号位0表示整数,1表示负数。负数转换为正常的十进制数是由二进制数取反再加一得到。
    因此我们在进行类型转换(特别是高精度转低精度)要注意因为精度变化导致的截断。

二、Java常用关键字

  • this
    表示当前对象,需要注意的是静态变量和方法并不适用

  • super
    表示父类对象 不能与this同时使用

  • instanceof
    判断某个对象是否是某个特定类的对象

  • transient
    被该关键字修饰的变量在进行序列化的时候不会被序列化

  • static
    修饰属性则该属性是类共享的,即被该类所有对象共享,在内存中只有一个副本,当且仅当类初次加载时被初始化。
    修饰方法则该方法是类共享的。要注意的是类的静态方法不能调用非静态方法,但是本类的非静态方法可以访问类的静态方法。

    静态代码块在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件读入JVM(java虚拟机),这个过程称为类的加载。JVM会通过类路径(CLASSPATH)来找字节码文件。需要的时候才会进行类加载,生成对象时是先加载后构造。类变量,会在加载时自动初始化,初始化规则和实例变量相同。类中的实例变量是在创建对象时被初始化的。
Static修饰的属性,是在类加载时被创建并进行初始化,类加载的过程只进行一次,也就是类变量只会被创建一次。
初始代码块就叫做静态初始代码块,这个代码块只在类加载时被执行一次。
动态初始代码块,写在类体中的“{}”,这个代码块是在生成对象时运行,这种代码块叫动态初始代码

  • final
    修饰变量,变量赋值后不可再改变此时即为常量,常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值。静态常量只能在初始化时直接赋值
    修饰方法将不能被其子类覆盖,保持方法的稳定不被覆盖
    Final修饰的类将不能被继承,final类中的方法也都是final的
  • abstract
    修饰变量即编译时类型。
    修饰类即抽象类不可实例化
    抽象类就相当于一个类的半成品,需要子类继承并覆盖其中的抽象方法,这时子类才又创建实例的能力,如果子类没有实现父类的抽象方法,那么子类也要为抽象类。
    修饰方法变成抽象方法,也就是只有声明而没有实现,实现部分以”;”代替,需要子类继承实现。
    有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。
posted @ 2020-09-18 14:04  Robin132929  阅读(549)  评论(0编辑  收藏  举报