【当年笔记】流程控制和运算符

1.运算符““++” 、"--" 

自增和自减  
* `++i` 先自加再赋值 * `i++` 先赋值再自加 。++/-- 是非线程安全的,多线程下可能会引发混乱。因为 ++ 操作对于底层操作系统来说,并不是一条 CPU 操作指令,而是三条 CPU操作指令——取值、累加、存储,因此无法保证原子性,如取值时上个操作的累加还未完成等,所以会存在误差。

2 如何避免 ++/-- 操作在多线程下的“误差”?

* 方法一:++/-- 操作放在同步块 synchronized 中。
* 方法二:CAS算法,++/-- 之前比较一下数值,如数值不符则更新数值后再对数进行操作。
* 方法三:使用 AtomicInteger 类型替代 int 类型。

3 条件运算符(?:)也叫“三元运算符”。

语法:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true,则返回 表达式 1 的值,否则返回 表达式 2 的值。

4 流程控制

if、while、 do/while、for、switch(每个选项最末尾必须加break)


 
posted @ 2022-05-27 17:31  正文儿  阅读(49)  评论(0编辑  收藏  举报