正文
java交换代码思考 java中交换两个数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
java如何实现2个数之间互换
利用异或(a^b)^b 等于a,进行交互,不需要设置临时变量也不会超范围。代码如下:
import java.util.Scanner;
public class woo {
public static void main(String args[]) {
Scanner scan =new Scanner(System.in);
System.out.println("输入两个数a, b");
int a = scan.nextByte();
int b = scan.nextByte();
System.out.printf("交换前:a = %d, b = %d\n", a, b);
a = a^b;
b = a^b;
a = a^b;
System.out.printf("交换后:a = %d, b = %d", a, b);
}
}
扩展资料:
值传递就是在方法调用的时候,实参是将自己的一份拷贝赋给形参,在方法内,对该参数值的修改不影响原来实参。
引用传递是在方法调用的时候,实参将自己的地址传递给形参,此时方法内对该参数值的改变,就是对该实参的实际操作。
在java中只有一种传递方式,那就是值传递.可能比较让人迷惑的就是java中的对象传递时,对形参的改变依然会意向到该对象的内容。
参考资料:
百度百科——参数传递
如何在JAVA中交换两个字符串中的字符?
用StringBuffer,输出的时候转成String
StringBuffer[] a=new StringBuffer[2];
a[0]=new StringBuffer("hello");
a[1]=new StringBuffer("nihao");
char c=a[0].charAt(1);
a[0].setCharAt(1, a[1].charAt(1));
a[1].setCharAt(1, c);
System.out.println(a[0].toString());
System.out.println(a[1].toString());
Java数组元素位置交换?
题目很简单,关键是思路
先找出最大值、最小值,并记住其位置
再做交换
具体参考下列代码
import java.util.Arrays;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// 第一步:定义数组
int[] arrs = { 6, 2, 9, 15, 1, 5, 20, 7, 18 };
// 第二步:找出最大值、最小值
int maxIndex = 0; // 最大值初始索引 = 0
int max = arrs[maxIndex];
int minIndex = 0; // 最小值初始索引 = 0
int min = arrs[minIndex];
for (int i = 1; i arrs.length; i++) {
if (arrs[i] max) {
max = arrs[i];
maxIndex = i;
}
if (arrs[i] min) {
min = arrs[i];
minIndex = i;
}
}
System.out.printf("第[%d]个值是最大值:%d \n", (maxIndex + 1), max);
System.out.printf("第[%d]个值是最小值:%d \n", (minIndex + 1), min);
System.out.println("开始交换最大值");
int end = arrs[arrs.length - 1]; // 记录最后一个元素值
arrs[arrs.length - 1] = max; // 最后一个元素值 = max
arrs[maxIndex] = end; // 原最大值 = 最后一个值
int start = arrs[0]; // 记录第一个元素值
arrs[0] = min; // 第一个元素值 = min
arrs[minIndex] = start; // 原最小值 = 第一个值
System.out.println("最终结果:");
System.out.println(Arrays.toString(arrs));
}
}
亲,答题也需要时间和精力,如果回答满意,请及时采纳,你的合作是我回答的动力!! 谢谢!!
java交换代码思考的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中交换两个数、java交换代码思考的信息别忘了在本站进行查找喔。