Java基础知识总结篇
8种基本类型和运算
类型int 4字节 -2147483648,2147483647 包装类Integer
类型char 2字节 Unicode 0,65535 包装类Character
基本的数据类型在声明之后就会立刻在栈上分配内存空间。
注意:Java中所有的数值类型都是有符号的.
基本数据类型和包装类的区别:
在java面向对象编程的思想体系下,基本数据类型不能作为类的实例对象完成一些操作,必需把这些基本数据类型包装成类的对象进行使用。
- 数据类型和类
- 包装类可以使用new去创建,也可以直接赋值,而基本数据类型直接赋值
- 包装类实际是对象的引用,当new一个对象时,实际上是生成一个指针指向此对象,而基本数据类型是直接存储,基本数据类型在传递参数时按值传递,包装类是按引用传递
- 默认值不同 包装类是null 而基本数据类型和类型有关
注意:new Integer(1) 和Integer a = 1不同,前者会创建对象,存储在堆中,而后者因为在-128到127的范围内,不会创建新的对象,而是从IntegerCache中获取的。那么Integer a = 128, 大于该范围的话才会直接通过new Integer(128)创建对象,进行装箱。
特殊的null
编译器并没有为其分配内存。
对象是一个内存地址,内存地址不像基本类型可以给初始值,所以只能给null,代表引用目前不指向任何内存。
成员变量和局部变量的区别:
不可变类:
静态块在类被加载时就会被调用,可先于main方法执行。
程序执行顺序:父类静态代码块,父类非静态代码块,父类构造函数。
2019/12/21
字节流和字符流
字节流:8bit为单位,包含两个抽象类InputStream和OutputStream
字符流:16个bit为单位,包含Reader与Writer
流的作用主要是为了改善程序性能并且使用方便。