Java基础知识总结篇

8种基本类型和运算

类型int   4字节  -2147483648,2147483647  包装类Integer

类型char   2字节  Unicode 0,65535    包装类Character

基本的数据类型在声明之后就会立刻在栈上分配内存空间。

注意:Java中所有的数值类型都是有符号的.

基本数据类型和包装类的区别:

在java面向对象编程的思想体系下,基本数据类型不能作为类的实例对象完成一些操作,必需把这些基本数据类型包装成类的对象进行使用。

  1. 数据类型和类
  2. 包装类可以使用new去创建,也可以直接赋值,而基本数据类型直接赋值
  3. 包装类实际是对象的引用,当new一个对象时,实际上是生成一个指针指向此对象,而基本数据类型是直接存储,基本数据类型在传递参数时按值传递,包装类是按引用传递
  4. 默认值不同  包装类是null 而基本数据类型和类型有关

注意:new Integer(1) 和Integer a = 1不同,前者会创建对象,存储在堆中,而后者因为在-128到127的范围内,不会创建新的对象,而是从IntegerCache中获取的。那么Integer a = 128, 大于该范围的话才会直接通过new Integer(128)创建对象,进行装箱。

特殊的null

编译器并没有为其分配内存。

对象是一个内存地址,内存地址不像基本类型可以给初始值,所以只能给null,代表引用目前不指向任何内存。

成员变量和局部变量的区别:

不可变类:

Java基础知识总结篇

静态块在类被加载时就会被调用,可先于main方法执行。

程序执行顺序:父类静态代码块,父类非静态代码块,父类构造函数。

2019/12/21

字节流和字符流

字节流:8bit为单位,包含两个抽象类InputStream和OutputStream

字符流:16个bit为单位,包含Reader与Writer

流的作用主要是为了改善程序性能并且使用方便。