一、运算符:运算完成必须有结果,true或false。
1、逻辑运算符(关系):用于连接两个boolean类型的符号 ,它们主要有&,|(或),^(异或:只有异判断为true),&&(与&不同在于,若第一个为假,直接为假,不判断后面),||(与|不同在于第一个为真,直接为真)。
2、二进制位的运算(转化为二进制后运算和结果都用0为假,1为真):运算符主要有&,|,^,<<,>>。如6&3的运算:0110 & 0011=0010=2。| 和^的运算原理与&一样。对于^只需记住一个数同时异或一个数两次,结果不变(6^3^3=6),所以^可以用来解决两个数交换(面试的时候用,利用一个数异或一个数两次还是他本身)。a=a^b , b=a^b , a=a^b;
至于<< , >> 。它们都是2的运算,如<<:3<<2,意思是3向左移两位,即011变成01100=12(0补上移出来的空位),而左移几位实质上是该数据乘以2的几次方,可以完成2的次幂运算。而>>则是除以2的几次方。
3、三元运算符、如y=(x>1)?100:200;意思就是x>1,y=100;x<=1,y=200。其实它就是if else语句的简化格式。
4、if和switch的应用:
if:a、对具体的值进行判断。b、对区间进行判断。c、对运算结果是boolean类型的表达式进行判断。
switch:a、对具体的值进行判断。b、值的个数通常是固定且有限的
对于固定的值判断,用switch好点,因为switch语句会将具体的答案都加载进内存,效率相对更高。
二、循环
1、while和do while;:do while;至少执行一次,while可能一次都不执行。
2、for循环:for(初始化表达式;循环条件;循环后操作表达式)。for和while可以互换,但是,如果循环后变量还需进一步运算,就要用while,因为for用完了变量会被释放。
3、什么时候用循环结构:
a、当对某些代码执行很多次时,使用循环。b、当对一个条件进行一次判断,用if。c、当对一个条件进行多次判断,用while。
4、注意:
a、在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。b、循环通常要定义条件,需要控制次数。