笔记
kangabo
这个作者很懒,什么都没留下…
展开
-
java >>1得意思是二进制右移一位。数被除2不取余
java >>1得意思是二进制右移一位。数被除2不取余比如1的二进制是12得二进制是103的二进制是1110右移一位变成了1。十进制来看就是2除2变成了1。11右移一位也变成了1。十进制来看就是3除2被去掉余数变成了1。在来类比十进制的数。十进制的100右移一位变成10,是被除10。所以二进制右移一位就是被除二同理:八进制右移一位就是除8十六进制右移一位就是除16...原创 2021-08-26 11:19:23 · 4518 阅读 · 0 评论 -
递归是什么?今天的事明天做就是递归
今天的事明天做,对第二天来说也是今天的事明天做,以此类推。然后如果不设置if判断来中止递归的话,会永远递归下去,永无止尽。用if判断,比如if (今天的动力 大于 100) return; 中的return被执行到了。那么代码就会开始尝试执行完还没执行的代码来结束递归。也就是之前每天都推到明天而没有做的事,这个时候 做事的人,或者说参数,会不停的时空穿梭回到今天的前一天,每次把前一天的事做完才继续回到前一天然后再把事做完继续如此重复。直到回到最开始推到明天的那一天,把那一天的事做完代码才完成了对原创 2021-08-21 09:56:42 · 63 阅读 · 0 评论 -
i++先进行等号赋值运算在自增
被赋值的案例:图中if循环体第一次被执行的时候是这样的:nums[0] = nums[i] //先进行等号运算,比如给别的数赋值,在这里是被赋值,nums += 1 //在自增1原创 2021-08-20 12:03:06 · 445 阅读 · 0 评论 -
简单好懂的递归讲解
递归是自己调用自己。递归中参数的赋值:在自定义方法(或者说函数)里自己调用自己,会产生一个新的栈帧,而新的栈帧的参数值就会被赋值了,被在参数被赋值后,不管出栈还是入栈,这个参数的被赋的值都是不变。所以可以直接先对参数值进行标记,用注释来。例子看下图:问参数等于8的时候输出多少。可以先注释上运算过程来方便解题。因为如上面所说每一次递归都会产生栈帧,而在这些不同的栈帧中,每一个栈帧的参数被赋赋的值在入栈出栈的计算中都是不变的。首先会产生5个栈帧,num作为参数的值在这5个栈帧中各自都是固定的。原创 2021-07-27 02:16:29 · 775 阅读 · 0 评论 -
链表基础知识java
注:小白的自我知识点整理1:链表的结构会不会发生变化主要看两点,第一种是new出一个链表。第二种是看等号=左边有没有 节点.next,只要有这个出现,链表结构通常会发生变化。2:如果等号左边是 节点 那么一般是访问其后的节点。3:节点的访问只能 节点.next一个一个来。通常用 节点=节点.next 的方式或者配合forloop循环。用forloop循环更好访问到比较靠后的节点。4:链表里通常有2个属性 val和next,里面还有自定义出来的 add()方法 以及其他方法。...原创 2021-07-10 01:40:51 · 194 阅读 · 0 评论