导航:首页 > 编程语言 > java交换

java交换

发布时间:2022-01-21 18:05:29

java中实现类交换的方法

1.借助中间量交换
int x = 10;
int y = 20;
int temp = x;

x = y;
y = temp;
此种方法可以将中间量看成空杯,即把temp看成是空杯,

把x看成是装有白酒的杯子,把y看成是装有红酒的杯子
int temp = x; 把白酒倒到空杯中,此时temp装有白酒,x变成空杯

x = y; 把y中的红酒倒到x空杯中,此时x装有红酒,y变成空杯
y = temp;
把白酒倒到y空杯中,此时x装有红酒,y装有白酒,实现x和y的互换
2.数值相加减交换
int x =
10;
int y = 20;
x = x + y;
y = x - y;
x = x - y;
此种方法通过先求得两数的和再进行减运算
x = x + y; 此时x的值为10+20=30;
y = x - y;
此时的x经上面的运算变成30,所以y = 30 - 20 = 10;
x = x - y; 此时的y经上面的运算变成10,所以x = 30 - 10 =
20;实现两个数的互换
3.位移运算交换
int x = 10;
int y =
20;
x = x ^ y;
y = x ^ y;

❷ java交换位置的方法

int aa[] = {1,2,3,4,5};

int t=a[1];
a[1]=a[4];
a[4]=t;

❸ java 交换数

		int[]arr={1,2,3,4};
if(arr.length%2==0){
for(inti=0;i<arr.length/2;i++){
intx=arr[i*2];
arr[i*2]=arr[(i*2)+1];
arr[(i*2)+1]=x;
}
}else{
for(inti=0;i<(arr.length-1)/2;i++){
intx=arr[i*2];
arr[i*2]=arr[(i*2)+1];
arr[(i*2)+1]=x;
}
}
for(inti=0;i<arr.length;i++){
System.out.print(arr[i]);
}

是这个意思?

❹ java的数据交换

public class Main {
public static void main(String[]args){
String a="我好";
String b="你也好";
String c;
c=a;
a=b;
b=c;
System.out.println(a);
System.out.println(b);
}
}
上述代码为正解!! 满意请采纳!!!!!!!!!!!!!!!
定义一个中间变量 用来传值!!
赋值的时候不能加类型 加类型的话表示一个变量重复定义!!
String a="我好";
String b="你也好";
String c=a;
String a=b;
String b=c;
你这里a,b都被定义了两次 一个变量只能定义一次!!

❺ java如何来交换两个数组元素的值

首先两个数组的长度要一样交换才有意义,循环遍历数组
int temp; //数组是什么类型temp就定义什么类型
for(int i=0; i<ary1.length; i++){
temp = ary1[i];

ary1[i] = ary2[i];
ary2[i] = temp;
}

❻ java怎么实现两个对象内容的交换

public class Demo { public static void main(String[] args) { //调用这个静态方法传递两个int 型的值就是了。 exchange(2, 6); } public static void exchange(int a, int b) { int temp = 0; temp = a; a = b; b = temp; System.out.println

❼ 如何用Java写一个交换函数

//交换A和B
publicvoidexchange(Objecta,Objectb){
Objectt=a;
a=b;
b=t;
}

❽ Java 两个按钮的交换

/**写了个按钮1往按钮2拖的,玩一下*/
import java.awt.Cursor;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
public class TestFrame extends javax.swing.JFrame {

private static final long serialVersionUID = 1L;
private JButton jButton1;
private JButton jButton2;
private boolean inBtn2=false;
private JPanel p;
{
//Set Look & Feel
try {
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch(Exception e) {
e.printStackTrace();
}
}

/**
* Auto-generated main method to display this JFrame
*/
public static void main(String[] args) {
TestFrame inst = new TestFrame();
inst.setVisible(true);
}

public TestFrame() {
super();
initGUI();
}

private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
p=(JPanel) getContentPane();
{
jButton1 = new JButton();
getContentPane().add(jButton1);
jButton1.setText("jButton1");
jButton1.setBounds(42, 49, 84, 28);
jButton1.addMouseListener(new MouseListener() {
public void mouseEntered(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
}
public void mouseReleased(MouseEvent e) {
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
if (inBtn2==true) {
Rectangle r=jButton1.getBounds();
jButton1.setBounds(jButton2.getBounds());//交换位置
jButton2.setBounds(r);
p.revalidate();//刷新界面
}
}

public void mouseExited(MouseEvent e) {

}

public void mouseClicked(MouseEvent e) {

}
});

}
{
jButton2 = new JButton();
getContentPane().add(jButton2);
jButton2.setText("jButton2");
jButton2.setBounds(210, 91, 84, 28);
jButton2.addMouseListener(new MouseListener() {
public void mouseEntered(MouseEvent e) {
inBtn2=true;//进入Button2

}
public void mousePressed(MouseEvent e) {
setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
}
public void mouseReleased(MouseEvent e) {
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}

public void mouseExited(MouseEvent e) {
inBtn2=false;
}

public void mouseClicked(MouseEvent e) {

}
});
}
pack();
this.setSize(337, 218);
setLocationRelativeTo(null);//居中
} catch (Exception e) {
e.printStackTrace();
}
}

}

❾ java 两个数交换

这样做是肯定没有换的。在JAVA里面没有指针的概念,你传过去的只不过一个引用而已,他不会改变原有的值。你把a,b定义成全局变量是能够改变的。先弄清在JAVA中参数的传递到底传的是什么,这样你会比较容易理解

❿ java 交换值

1、对于原始数据类型,也就是int、 long、char之类的类型,是传值的,如果你在方法中修改了值,方法调用结束后,那个变量的值没用改变。
2、对于对象类型,也就是Object的子类,如果你在方法中修改了它的成员的值,那个修改是生效的,方法调用结束后,它的成员是新的值,但是如果你把它指向一个其它的对象,方法调用结束后,原来对它的引用并没用指向新的对象。

因此在change方法中交换x,y是成功的,但是不会影响到static x ,y的值,在change方法中输出是可以得到交换成功的x,y,因为它们都是基本类型。可以通过一个int[]的返回值来得到交换后的数值。

简单点说
1、基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的
2、在Java中对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。

阅读全文

与java交换相关的资料

热点内容
压缩因子定义 浏览:968
cd命令进不了c盘怎么办 浏览:214
药业公司招程序员吗 浏览:974
毛选pdf 浏览:659
linuxexecl函数 浏览:727
程序员异地恋结果 浏览:374
剖切的命令 浏览:229
干什么可以赚钱开我的世界服务器 浏览:290
php备案号 浏览:990
php视频水印 浏览:167
怎么追程序员的女生 浏览:487
空调外压缩机电容 浏览:79
怎么将安卓变成win 浏览:459
手机文件管理在哪儿新建文件夹 浏览:724
加密ts视频怎么合并 浏览:775
php如何写app接口 浏览:804
宇宙的琴弦pdf 浏览:396
js项目提成计算器程序员 浏览:944
pdf光子 浏览:834
自拍软件文件夹名称大全 浏览:328