一、数字运算相关
单纯的整数运算会舍去小数
十进制可以除得净的小数也可能出现精度损失(二进制不一定除得净)
自增自减在赋值时a++与++a不同
运算符存在不同优先级、不同结合性(从左到右或从右到左),我们以为的计算顺序可能和实际执行的不一样
二、循环、选择结构相关
if( )后面不加{}的话,默认if( )的下一行语句(到分号截止)为if(true)的执行内容
do...while会先执行一次
switch语句的每个case或者default后面不加break的话,计算机匹配到case之后会一直执行下去,而不是跳出switch
break是跳出整个循环,continue则是跳出当次循环。这两个词默认指离得最近的循环。
三、方法相关
主方法“public static void main(String[] args)“中的”String[] args”意味着以字符串数组的形式按照以空格为分隔符的形式传参进去,这是唯一可以用String[] args替代String... args(可变长参数列表)的地方
方法里的传入的形参是实参的副本(基本数据类型的复制值,引用类型的地址复制值),所以有时候看起来改变了的值其实没改
四、数组、list相关
多维数组的长度指的是最外层数组的长度,此长度必须在声明数组时初始化
数组的index从0开始,到数组长度-1结束,当心数组越界
冒泡排序时要注意有没有彻底排序成功,当心只排序了一部分(用sort方法更方便)
遍历Arraylist时,如果有多次遍历,第一次遍历后对其中的元素进行了增删,下一次遍历时每个元素所对应的序号就可能有所变化
PS:涉及到类与对象、接口、抽象类等的许多问题idea都会在编写程序时直接出现红色下划线,把鼠标移动到红线位置就可以看到相应提示,暂不一一列出其中的可能bug (如果有南方科技大学的同学在看的话,CS109的理论考试备考前强推看一看学长学姐在程序设计互助课堂里整理的复习资【感谢yhgg!!】~重点相当齐全并且和试卷上的考点高度重合,页数不多,讲的也很清楚~)
1208

被折叠的 条评论
为什么被折叠?



