「交换两个数java」交换两个数的代码

博主:adminadmin 2023-01-11 09:06:10 980

今天给各位分享交换两个数java的知识,其中也会对交换两个数的代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java 交换两个数的方法,不要直接写在main方法里的,是单独的方法。

Java 方法的参数是简单类型的时候,是按值传递的 (pass by value),所以Java里面不能实现和C中一样的swap方法来交换两个数的值。非要用的话只能这样写:

 //交换数组data中的第a和第b个元素

 public static void swap(int[] data, int a, int b) {

        int t = data[a];

        data[a] = data[b];

        data[b] = t;

    }

估计不是你想要的效果。

     关于Java中参数和引用的问题建议看看下面的博文:

交换两个数的值(用JAVA编写)

基本类型无法按引用传递,详见『ヤ;搁[浅灬メ』的解释,我只提供一种实现方案,一定要用函数调用来实现的话,可以传个数组过去

import java.io.*;

public class Compare

{

public static void change(int[] a) throws Exception

{

int temp=0;

temp=a[0];a[0]=a[1];a[1]=temp;

}

public static void main(String args[]) throws Exception

{

int[] a = new int[2];

System.out.println("输入a:");

InputStreamReader inreader=new InputStreamReader(System.in);

BufferedReader breader=new BufferedReader(inreader);

a[0]=Integer.parseInt(breader.readLine());

System.out.println("输入b:");

a[1]=Integer.parseInt(breader.readLine());

System.out.println("交换前a="+a[0]+" 交换前b="+a[1]);

change(a);

System.out.println("交换后a="+a[0]+" 交换后b="+a[1]);

}

}

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!输入两个数并交换!谢谢!

public static void main(String[] args) {

//定义输入对象s

Scanner s=new Scanner(System.in);

System.out.print("输入第一个数的值:\t");

int number1=s.nextInt();

System.out.print("\n输入第二个数的值:\t");

int number2=s.nextInt();

System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//输出交换前内容

//定义中间变量temp进行交换(你小学老师问你:现在有红墨水1瓶、蓝墨水1瓶,要你将红、蓝两种墨水交换瓶子,你是不是要找个空瓶子来处理)

int temp=number1;

number1=number2;

number2=temp;

System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//输出交后内容

}

java 交换数组中的两个数。

这个方法,里面都没有用到数组,可见是个值传递,局部可见

private static void swap(int a,int b)

{

int temp;

temp = a;

a = b;

b = temp;

}

交换两个数java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于交换两个数的代码、交换两个数java的信息别忘了在本站进行查找喔。