Java基础复习—(数组,数据类型)

来源:互联网 发布:多处理器编程的艺术 编辑:程序博客网 时间:2024/05/16 06:45

  1.  数组  

    1.1  数组特征:   长度固定,  类型一样,  地址连续。
    数组扩容的算法,一般是扩为 原来的1.5倍。

    1.2  一般要注意的问题:
    *  容量
    *  长度/大小
     使用前初始化大小(容量)


    1.3 层次由低到高:
    数组  ——>
    链表  ——>  二叉树 ——>  树 ——> 森林 ——>  图 ——> 向量 

    1.4 内存的示意图

    三个部分一般存放的东西:
    栈: 对象的引用,基本数据类型(一个对象占 8 个字节)
    堆: 对象, 引用型数据
    静态区: 方法, 或者用 “static” 修饰的东西

    1.5  变量: 内存中的一块空间。

    //final修饰后,变量只能赋值一次
    final  int y = 1;
    y = 2;                //错误,


  2. 数据类型

    引用型  <—— 数据类型 ——> 基本类型
2.1 运算顺序:
算数运算 参与 关系运算;  关系运算 参与 逻辑运算 ; 位运算 在 逻辑 运算 之前。
一般运算是由左到右。下面给出  从右到左的运算:

自增,自减:

三位运算:
(a > b) ? c : d   表示
先判断括号里a > b是否成立,如果 a > b 成立的话,取值为 c ,否则取值为 d 。

不存在 短路运算的两种例子:
a & b   如果 a 为 false, 会继续运算 b
a |  b   如果 a 为 true, 会继续运算 b

2.2 位运算符
"<<" 左移一位表示除以2;  "a << 3"   左移三位表示 除以 2^3 ,即就是除以8
">>" 反之同理与左移

补码原理:  按位取反 再加 1
以 -5 为例:   byte  a =  - 5 ;

5 —> 0 0 0 0  0 1 0 1
     

   !5 —> 1 1 1 1  1 0 1 0

  !5 + 1 —> 1 1 1 1  1 0 1 1