public class Main {
public static void main(String[] args) {
//两个变量交换的3种方法
//引入临时变量
change1();
//两个数求和然后相减的方式进行数据交换 缺点是x和y的数值过大的话,超出 int 的值会损失精度
change2();
//利用位运算的方式进行数据的交换,利用的思想原理是:一个数异或同一个数两次,结果还是那个数,而且不会超出int范围
change3();
// 求出每位上的数字
getNumber();
}
private static void getNumber() {
int num = 1234;
//个位数:
int num1 = num % 10;
//十位数:
int num2 = num / 10 % 10;
//百位数:
int num3 = num / 100 % 10;
//千位数:
int num4 = num / 1000;
//3.输出每位上的数字:
System.out.println("个位上的数为:" + num1);
System.out.println("十位上的数为:" + num2);
System.out.println("百位上的数为:" + num3);
System.out.println("千位上的数为:" + num4);
}
private static void change3() {
int x =3,y=4;
x = x^y;
y = x^y;
x = x^y;
System.err.println("x="+x+"==========="+"y="+y);
}
private static void change2() {
int x =1,y=2; //定义两个变量
x= x+y;
y=x-y;
x=x-y;
System.err.println("X="+x+"-----"+"Y="+y);
}
private static void change1() {
//定义两个变量
int x =10,y=20;
int temp = x;
x=y;
y=temp;
System.err.println("X="+x+"-----"+"Y="+y);
}
}
两个变量交换的3种方法及求出每位上的数字
于 2023-12-26 01:02:08 首次发布