刚好把今天(其实就是昨天啦!)课后老师步骤的题目贡献出来
7:对两个整数变量的值进行互换。(这种题没讲过,没思路的可以先放下)
提示:
第一种:使用第三方变量
第二种:不需要第三方变量,思考下异或运输符的特点。
class HomeworkDay02_07
{
public static void main(String[] args)
{
//第一种:使用第三方变量
int temp;
int a=12;
int b=34;
System.out.println("互换前:a="+a);
System.out.println("互换前:b="+b);
temp=a;
a=b;
b=temp;
System.out.println("互换后:a="+a);
System.out.println("互换后:b="+b);
System.out.println("******************************");
//不需要第三方变量
int i=56;
int j=78;
System.out.println("互换前:i="+i);
System.out.println("互换前:j="+j);
i=i+j;
j=i-j;//相当于 j = (i+j)-j=i
i=i-j;//相当于 i = (i+j)-i=j
System.out.println("互换后:i="+i);
System.out.println("互换后:j="+j);
System.out.println("******************************");
//使用^异或,一个数异或同一个数两次,结果还是原来那个数
int x=321;
int y=123;
System.out.println("互换前:x="+x);
System.out.println("互换前:y="+y);
x=x^y;
y=x^y;//相当于 y = (x^y)^y
x=y^x;//相当于 x = x^(x^y)
System.out.println("互换后:x="+x);
System.out.println("互换后:y="+y);
}
}
|