zoukankan      html  css  js  c++  java
  • Java基本数据类型、关键字

    Java基本数据类型、关键字

    一、Java基本数据类型

    Java有8中基本数据类型:bytechar short intfloatdoublelongoolean
    在说明每种类型大小前需要明确下面两个概念:

    • 字节=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
      修饰变量即编译时类型。
      修饰类即抽象类不可实例化
      抽象类就相当于一个类的半成品,需要子类继承并覆盖其中的抽象方法,这时子类才又创建实例的能力,如果子类没有实现父类的抽象方法,那么子类也要为抽象类。
      修饰方法变成抽象方法,也就是只有声明而没有实现,实现部分以”;”代替,需要子类继承实现。
      有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。
  • 相关阅读:
    图->存储结构->十字链表
    图->存储结构->邻接表
    P2278-[HNOI2003]操作系统
    P1801-黑匣子_NOI导刊2010提高(06)
    P1197-[JSOI2008]星球大战
    P2024- [NOI2001]食物链
    P1111-修复公路
    ACM模板——二分图匹配
    P2055-[ZJOI2009]假期的宿舍
    ACM模板——强连通分量
  • 原文地址:https://www.cnblogs.com/Robin132929/p/13690954.html
Copyright © 2011-2022 走看看