Java控制程序流程总结
知识点:
1.赋值:
- 基本类型的赋值: 像a=b,就是把b的内容复制给a,之后修改a不会影响的b的值。
- 对象的赋值:将一个对象赋值给另一个对象,实际上是将引用赋给了它,对象c=d,之后改变c的值会连d的值也改。不过如果只是操作对象中的某一属性,如c.i=d.i。这样两对象就保持独立。
2.逻辑运算:
- “与”(&&)“或”(||)“非”(!)只可以操作布尔值。
- “短路”现象:在关系运算中,当能够明确无误的确定整个表达式的值的时候,不再计算余下的部分。
3.注意“=”和“==”的用法。常犯错误:
while(x=y){....
}
4.有时候加类型转换符让代码更容易理解,如:
int i = 200;
long l = ( long ) i ;
5.移位操作符:>>,<<,>>=,<<=,>>>的意义。
6.优先级“Ulcer Addicts Really Like C A lot.”
Mnemonic(助记符) | Operator type | Operators |
Ulcer | Unary | + - ++-- |
Addicts | Arithmetic (and shift) | * / % + - << >> |
Really | Relational | > < >= <= == != |
Like | Logical (and bitwise) | && || & | ^ |
C | Conditional (ternary) | A > B ? X : Y |
A Lot | Assignment | = (and compound assignment like *=) |
7.java不允许将一个数字作为布尔值使用。即没有:“真为非零,假是零”的说法。
8.逗号操作符:java里面唯一用到逗号操作符的地方是for循环的控制表达式。
9.break和continue的用法:
- 一般continue会退回最内层循环的开头,有标签的到达标签位置。
- 一般break会中断并跳出当前循环,有标签的跳出标签所指循环。
- 重点:java里需要使用标签的唯一理由就是因为有循环嵌套,而且你想从多层嵌套中break或者continue。
10.switch方法中的default语句的用法。