关于包装类和基本类型的一些知识
-
byte 1字节 -128~127 Byte (对应的包装类)
-
short 2字节 -215~215-1 Short(对应的包装类)
-
int 4字节 -2^31 ~ 2^31-1 Integer(对应的包装类)
-
long 8字节 -263~263-1 Long(对应的包装类)
-
float 4字节 一位正负号8位指数 23位尾数 Float(对应的包装类)
-
double 8字节 1位正负号11位指数 52位尾数 Double(对应的包装类)
-
boolean 1字节 0 false 非0 true Boolean (对应的包装类)
-
char 2字节 ASCLL 码 character(对应的包装类)
提示 float和double 这两种数据类型 只能用于存储,不能用于计算。
BigDecimal 来代替 float 和double 进行运算
八种基本类型 对应着8种 包装类 包装类的作用??
-
泛型中 不能使用基本类型
-
类中的属性不能使用基本类 需要用包装类
包装类 能不能用 == 号直接判断? 不能
8位以内 会指向常量池的相同地址 8位以上不会
-128~127之间用双等号来判断 是会直接判断内容的
判断之前先做拆箱
引用类型
类 把具备相同属性的事物抽象出来 形成类 如果类和类之间又有了相同属性可以进行二次抽象
接口 规范了子类必须具备某些方法
数组 在堆区定义了一个连续的内存空间来储存多个变量
定义数组的方式
int[] a =new int[5];
int[] b = new int[]{1,2,3,4,5};
int[] c ={1,2,3,4,5};
数组的缺点
长度一旦定义无法更改
假如我们定义了一个10个长度的数组,那么我们就只能放10个元素,如果有第11个元素的话就无法放进去
要解决这一问题,急需要手动进行扩容了 方法 创建一个更大的数组,把原来的数组复制过来 然后继续想后添加元素。
由于数组直接使用不太方便所以扩展出 一个东西 Collection 集合
Collection 下包含两个子接口
List 列表(常用的)
ArrayList
LinkedList
Vector
ArrayList 底层就是一个数组 elementData 为存放元素的一个数组
一个参数的构造
如果参数大于0 则把参数作为初始值
如果参数等于0 那么赋值为EMPTY_ELEMENTDATA 长度为0的数组
如果小于0抛出一个异常
无参构造
赋值为DEFAUL TCAPACITY EMPTY ELEMENTDATA
长度为0的数组
set 集合
合理使用数据类型 减小内存开销
运算符
1. 数学运算符 用来对数字进行计算
-
+ - * / % ++ --
2.关系运算符 用于比较 结果为Boolean
> < == != >= <=
3.逻辑运算符 用于对boolean进行计算 结果还是boolean
&& & || | !
4.位运算 2进制底层运算 速度最快
& | ^ << >> >>>