今天完成 Java 第三课的学习,本节课主要学习 if 分支选择结构。因为之前系统学过 C、C++,基础语法层面常见的低级失误基本不会出现,不用再花费精力纠结括号遗漏、符号写错这类基础问题,可以把重心放在 Java 独有的规则上。
课堂上掌握了 if、if-else 以及多分支 if 语句的使用,终于不再是单纯的数据运算,代码能够依靠条件判断走向不同分支,程序开始具备基础逻辑。虽然分支思想和 C/C++ 大体相通,但两者细节上存在不少差异。
练习过程里遇到的问题,大多不是语法笔误,而是 Java 强类型带来的限制。最明显的一点,if 的条件括号里只能放布尔值 true/false,不能直接写入数字。在 C++ 中非 0 数值代表真,0 代表假,可以直接写if(num),这套写法放到 Java 中直接编译报错,这是我调试时踩的主要坑。
对比 C/C++ 来看,二者逻辑思路相通,但 Java 约束更加严苛。C++ 给程序员很高的自由度,很多写法灵活宽松;Java 层层限制,杜绝很多不规范的写法,从根源规避隐患。
有 C 系语言基础确实上手更快,但也容易产生惯性思维,下意识套用 C++ 的编码习惯,一不小心就写出不符合 Java 规范的代码。听懂知识点远远不够,需要刻意改掉旧习惯,适应 Java 的语法体系。
后续我会多加练习分支案例,区分两种语言的用法差异,巩固今天所学,为之后 switch 语句、循环结构的学习做好铺垫
