Day03知识总结:上午:逻辑运算符:就是指的是一种关系,作用:用于连接两个布尔类型的表达式包括以下几种:&:与,特点:两边为真才为真,一边为假则为假|或,特点:一边为真则为真,两边为假才为假!非,特点:非真为假,非假为真^异或特点:同为假,异为真规律:一个数同时异或这个数两次结果还是这个数。用于加密&&双与特点:与&一样,但是有点小区别,在下面单独讨论。||双或特点:与|一样,但是有点小区别,在下面单独讨论。<<:左移规律:左移几位就是该数乘以2的几次方,>>:右移:规律:右移几位就是除以2的几次方注意对于左移和右移中高位的问题,总结为一句话:简单一句话:最高是什么就拿什么补,高位为0就拿0补,高位为1就拿1补;>>>:无符号右移:区别于>>就是高位出现的空位,无论高位原来是什么都用0补;&与&&的区别:共同点:二者都可以作为逻辑与的运算符,表示逻辑与,不同点:&&有短路的功能,如果第一个表达式为false时,不需要进行第二个表达式的运算,当&操作符两边的表达式不是boolean类型时,表示按位与操作。Eg:我们通常使用0x0f来与一个整数进行&运算,获取低四位;|和||的区别:|:无论左边的运算结果是什么,右边都参与运算。||:当左边为真时,右边不参与运算的。练习题:最有效率的方式算出2乘以8等于几?2*8:在内存中的运算0010*1000------0000000000000010-------0010000=16;想要运算变的高效首先2进制位;000000000000000000000000000000102--左移三位对两个整数变量进行互换;不定义三方变量;(用三种方式)inta=3,b=5;a=a+b;//a=3+5;a=8b=a-b;//b=3+5-5;b=3a=a-b;//a=3+5-3;a=5 这种方法不建议用,如果两个整数的数值过大,会超出Int范围,会强制转换,数据会变化a=a^b;//a=3^5b=a^b;//b=(3^5)^5;b=3a=a^b;//a=(3^5)^3;a=5以上方式用于面试第三方变量:=a;a=b;b=c;实际开发中用此种方式;3、对于一个整数的最后一个字节,高四位和低四位进行换位;(画出图) 思路:1、首先用该数与1进行与保证唯一的有效位;0000-00000000-00000000-00001011-01100000-00000000-00000000-00001111-1111----------------------------------------0000-00000000-00000000-00001011-0110再用得到的与&15进行与运算01011100&1111----低位b:00001100用位运算&15取出低四位;01011100&111100000x0f<<4;----------01010000高位c:01010000低位右移4位c>>4;高位左移4位b<<4;最后或运算保留有效位c|b;inta,b(低位),c(高位);a=a&0xFF;b=a&0x0f;c=a&(0xof<<4);b=b<<4;c=c>>>4;a=b|c;用在加密解密当中;三元运算符:特点:只要是运算符就得有结果。三元运算符就是ifelse的简单格式,好处就是简单,但是有局限性:Eg:b=a>1?sop(
黑马程序员java培训就业班笔记:day03总结 来自淘豆网m.daumloan.com转载请标明出处.