规律性的东西:
1 运算符的意义
2 运算规则
3 优先级
4 常用套路
其中比较容易错的地方:
一:
自增自减:
a++和++a都表示a=a+1
区别在于对于赋值运算的优先级:”a++”<”=”<”++a”
练习:a =3 b =3
b= a++; 输出a b
b= ++a; 输出a b
预测输出结果:
第一种情况 a=4 b=3(先赋值再自增)
第二种情况 a=4 b=4(先自增再赋值)
在循环里面经常用到a++;其实这时候用++a和a++都一样
但是如果有赋值操作在就要考虑优先级 不要出错
二 类型的隐式转换
这个词儿是我发明的 意思是 有些运算符会导致数据的类型发生变化 但表面又没有强制转换的动作
这里要注意:
第一:x=4270 x/1000*5 =20 因为整型之间的运算结果还是整型
第二:
1 ”5”+5=”55” 因为有字符串的时候 +代表连接
常用套路:a=5
System.out.println(“a=”+a);输出a=5
2 赋值运算符:a+=5的意思是a=a+5 两边之和赋值给左边
当存在int的时候默认计算结果为int 也就是说如果你定义a为short 那么就会编译错误
注意:这个错误当你用a=a+5的形式才会出现 如果使用a+=5就没事儿 因为a=a+5实际上是赋值和加法两次运算 在加法的时候a+5的值的类型已经转变过为int了
但a+=5则是一次运算
三 比较运算符
它们的返回值类型都是boolean
其中最罕见的是instanceof 虽然罕见但也没少用
a instanceof b意思是:a是否是b的一个对象
四逻辑运算符
区分&&和& ||和|
注意:单个符号都是两边都运算
俩符号的则是足以决定最后结果的运算后只运算一边
意思都是一样的只是俩符号的会省一点运算量
异或:
记住:真真为假其余跟或一样
使用数学中集合的方法来理解运算符的意义
五 位运算符:
尖头朝哪儿就往哪儿移
因为是2进制 数值便以2为倍数发生变动
1为真 0为假
波浪线:反码
套路:与15 与255(拿最后4位和8位)
六转义字符
反斜线+某个字符表示某种含义
经典用法:\r\n回车
\t 制表符
在正则表达式中使用转义字符要注意 \总是成对出现
因为按照正则表达式的规则转义一次 之后还要按照java的规则转义一次