重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
利用异或(a^b)^b 等于a,进行交互,不需要设置临时变量也不会超范围。
创新互联建站专注于滴道企业网站建设,自适应网站建设,商城开发。滴道网站建设公司,为滴道等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
最常用的一种方法是:通过一个中间变量来实现数据之间的交换。
可以利用以下方式:通过异或实现(异或符号为^)关于^:异或的运算法则,相当于不带进位的二进制加法。
最后一行A^B=(111)^(100)=011,二进制,转成十进制即为3,即此时A=A^B=3=原来的B,这样就完成变量交换了。其实也可以这样完成两个变量交换,而不借用第三个变量:A=A+B;B=A-B;A=A-B;//望采纳。
public static void main(String[] args) { //调用这个静态方法传递两个int 型的值就是了。
num1=10;int num2=8;int temp=0 temp=num1;//将num1的值赋给中间变量temp num1=num2;//将num2的值赋给num1;num2=temp;//将temp的值赋给num2,num1和num2的值就互换了。
Java代码加密:这点因为Java是开源的,想达到完全加密,基本是不可能的,因为在反编译的时候,虽然反编译回来的时候可能不是您原来的代码,但是意思是接近的,所以是不行的。
可以使用Virbox Protector Standalone 加壳工具对java的class类进行加密,支持各种开发语言的程序加密。
简单的Java加密算法有:第一种. BASEBase是网络上最常见的用于传输Bit字节代码的编码方式之一,大家可以查看RFC~RFC,上面有MIME的详细规范。Base编码可用于在HTTP环境下传递较长的标识信息。
最后一行A^B=(111)^(100)=011,二进制,转成十进制即为3,即此时A=A^B=3=原来的B,这样就完成变量交换了。其实也可以这样完成两个变量交换,而不借用第三个变量:A=A+B;B=A-B;A=A-B;//望采纳。
利用异或(a^b)^b 等于a,进行交互,不需要设置临时变量也不会超范围。
int num2=8;int temp=0 temp=num1;//将num1的值赋给中间变量temp num1=num2;//将num2的值赋给num1;num2=temp;//将temp的值赋给num2,num1和num2的值就互换了。这个方法是最通用的,记住这个就行了。
public static void main(String[] args) { //调用这个静态方法传递两个int 型的值就是了。
^ 在java中是位运算符,异或运算。你圈的那三行核心代码就是通过异或运算来交换变量A、B的值。