day9

今天:三元运算符语法为条件?值 1: 值 2,可替代简单 if-else 分支,而运算符优先级规定了混合运算执行顺序,整体优先级从高到低大致为单目运算、算术运算、关系运算、逻辑运算,三元运算符优先级偏低且为右结合性,书写复杂表达式最好借助括号划定运算顺序,防止逻辑出错。原码、反码、补码是计算机数值存储底层原理,正数三者完全相同,负数原码符号位为 1,反码对数值位取反,补码等于反码加一,计算机实际以补码存放整数,既消除了正负零冗余问题,又能用加法器直接完成减法运算,是位运算的理论根基。最后是流程控制中的顺序结构,作为程序三大基本结构之首,遵循代码从上到下逐行依次执行的规则,没有任何跳转、判断与循环跳转,看似简单却是分支结构、循环结构的执行基础,所有判断语句和循环语句内部的代码块,最终都依托顺序结构完成指令执行,共同搭建起完整的程序执行逻辑,三段内容由表层语法到底层存储再到程序执行逻辑层层递进,夯实编程底层认知。
今天还和朋友出去玩了会剧本杀,看了会《大道至简》。
问题:这三块内容实操中很容易出现各类失误。三元运算符嵌套时常忽略右结合规则,不加括号导致逻辑出错,过度堆砌复杂判断也会降低代码可读性。运算符优先级仅凭直觉书写,算术、逻辑、三元运算符混用不添加括号,执行顺序偏离预期,隐性 bug 很难发现。原反补码容易记错负数转换规则,对符号位错误取反,不清楚计算机以补码存储数值,用原码计算减法出错,同时忽略位数溢出问题。顺序结构看似简单,却常忽视分支、循环会中断自上而下的执行流程,输入输出、变量赋值语句摆放顺序错乱,直接造成程序运行结果异常。
明天:继续学习Java,出去放松心情。