關於JAVA中String类以形参传递到函数里面,修改后外面引用不能获取到更改后的值
iikikyo:
纠正,String类被final修饰 无法被继承,你说的是values[] 数组是final的 其他的ok 。 java 传引用类型 确实是 对象地址的值传递
二进制中补码计算简单详实的讲解
做而论道_CS:
实际上,任意负数(-X)的补码,都是:0 - X。
你用二进制简单算一下,立刻就能得到结果。
(-128 的 8 位补码,也就是这样求出来的。)
同理,任意正数(+X)的补码,也都是:0 + X。
这还用算?
0 + X,不就是 X 吗?
即,正数的补码,就是 X 本身!
二进制中补码计算简单详实的讲解
做而论道_CS:
补码,没有你写的这么繁琐。
-------------------
用十进制来说,比较容易理解。
限定,只使用 2 位 10 进制数 0~99,
那么,-1 就可以用 +99 代替。
你看看吧:
25 - 1 = 24
25 + 99 = (一百) 24
舍弃进位,只保留 8 位,结果就是正确的。
同时,减法,也就能用加法实现了。
-------------------
补码,其实,就是一个【代替负数】的正数。
(零和正数,不需要代替,必须直接运算。)
使用了补码之后,计算机中就没有负数了!
同时,也就没有了减法运算。
那么,计算机的硬件,就可以简化了。
-------------------
八位二进制是:0000 0000 ~ 1111 1111。
相当于十进制:0 ~ 255。
此时,-1,就可以用 255 代替了。
同理,-2,就要用 254 = 1111 1110 来代替。
。。。
计算实例:12-9 = 3。
0000 1100 = +12
+11 11 0111 =-9
-------------
(1)0000 0011 = + 3
舍弃进位,只保留 8 位,结果就完全正确。
-------------------
所谓的补码,就是 “二进制的补数” 。
而补数,不过就是小学生的知识。
编造出来原码反码取反加一,只能说明:
计算机专家,都没有上过小学,
拿来鞋拔子,当做玉如意!
關於JAVA中String类以形参传递到函数里面,修改后外面引用不能获取到更改后的值
A默苍离:
我来总结一下吧,
string 引用传递,是引用传递传地址没有错,
但是,string每次修改值都会指向一个新的地址,没想到叭
關於JAVA中String类以形参传递到函数里面,修改后外面引用不能获取到更改后的值
A默苍离:
这类名起的只能说,高高高,实在是高