java零基础的坎坷之路【2】

java零基础的坎坷之路【2】
1、byte、short、char类型的变量参与运算时,首先转换为int类型。
        赋值运算符隐含了一个强制类型转换:
        如:short s = 1;
            s += 1;
        编译不会报错,但是 s = s+1; 会报错!
        
    2、异或的面试题:交换两个变量!
        考点:一个变量被另一个变量异或两遍,还是原来的数据。
            方式一、
                a = a ^ b;
                b = a ^ b;
                a = a ^ b;
            方式二、
                a = a + b;
                b = a - b;
                a = a - b;
            方式三、
                b = (a + b) -(a = b);
                
    3、左移<<和右移>>
        左移一位 等价于 乘2
        右移一位 等价于 处2
        
    4、java中的数组必须初始化之后才能用
    
    5、栈内存的数据用完就释放掉了,堆内存的数据用完后会在垃圾回收机制空闲的时候被释放
    
    6、杨辉三角数组的思路:从第三行开始,除去第一个元素和最后一个元素,每一个元素都是上一行的前一列元素+上    一行的该列元素;每一列和最后一列的元素都是1