1:取模运算%:结果的符号与被模数一致,m%n结果的正负符号与m一致。
2:自增1与自减1不会改变本身数据类型,-=,+=不会改变本身的数据类型。byte b =127; b++ ; 结果b=-128 : 二进制 01111111(127)+1=10000000(-128);
3:位运算符(操作的是整型数据int),直接对二进制数的操作。经典的面试题,最高效的方式计算2*8,2<<3。
右移:最高位用原来最高位补
无符号位移:最高位用0补
&,|,^用二进制的0,1来匹配
4:交换两个变量的值:
方式1:定义临时变量
方式2:数值型的变量a ,b 需要交换;a=a+b;b=a-b;a=a-b
方式3:使用位运算符,了解
5:三元运算符一定能改为if else ,反之不行:因为if else输出结果多样性
6:流程控制:指的是顺序结构,循环结构,分支语句while ,do while ,for ,if else ,switch
7:计数器的思想
8:100000以内的质数:flag标志变量思想,或者计数器思想。同时,循环过程一定要考虑到时间复杂度问题,保持这种思想!
1:需要提前跳出循环,标志变量满足条件
2:条件优化,内层循环最大值去根号i
9:continue,break默认对包裹关键字最近的一层循坏操作;可以通过标签来对指定的循环操作。
10:衡量代码的优劣:
1.正确的
2.可读性
3.健壮性
4.高效率与低储存(舍弃空间求时间)