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

java两个数交换

发布时间:2022-04-28 03:24:48

㈠ 求教:java 语言是否可以用函数实现两个数的交换

Java的函数只能有一个返回值,如果只是交换两个数可以用数组存储,通过下标来获取。

public double[] change(double a,double b){
return new double[]{b,a};

}

㈡ JAVA 两数数值交换

^=是按位异或操作(相异为真 相同为假)

a=a^b;
假设a=4 二进制表示为 0100
b=10 二进制表示为 1010
a=a^b = 1110 0x0E 14
a= 1110 b=1010
b= b^a =0100 0x04 4
a= 1110 b=0100

a=a^b = 1010 0x0A 10
a= 1010 b=0100
所以及交换了
原理就是加减法
如下
//a=4 b=10
a+=b ;
//a=14 b=10
b-=a;
//a=14 b=4
a-=b;
//a=10 b=4
完成交换

㈢ java 两个数交换

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

㈣ java 两个数的交换

public
class
change{
Integer
a;
Integer
b;
a=10;
b=8;
public
static
void
main(String
args[]){
System.out.println("输出互换前手中的纸牌:");
System.out.println("左手中的纸牌:"+a);
System.out.println("右手中的纸牌:"+b);
System.out.println();
changeXy(a,b);
/*为什么在调用changeXy()方法后,a和b的值没有发生交换*/
System.out.println("输出互换后手中的纸牌:");
System.out.println("左手中的纸牌:"+a);
System.out.println("右手中的纸牌:"+b);
}
public
static
void
changeXy(Integer
x,integer
y){
Integer
temp=null;
temp=x;
x=y;
y=temp;
}
}

㈤ java很简单的问题,两个数交换。。

问题很简单,作为参数传入的值它代表的意义和作用域已经发生改变。你改变的是参数中的两个x,y的值,而你打印的并非这两个值。相当于swap只是引用x,y的值给另外两个变量在函数中进行交换值换算,并不是操作本身的x,y对象,实际它们的值并未发生任何的改变。

㈥ 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 ", a, b);

a = a^b;

b = a^b;

a = a^b;

System.out.printf("交换后:a = %d, b = %d", a, b);

}

}

(6)java两个数交换扩展阅读

值传递就是在方法调用的时候,实参是将自己的一份拷贝赋给形参,在方法内,对该参数值的修改不影响原来实参。

引用传递是在方法调用的时候,实参将自己的地址传递给形参,此时方法内对该参数值的改变,就是对该实参的实际操作。

在java中只有一种传递方式,那就是值传递.可能比较让人迷惑的就是java中的对象传递时,对形参的改变依然会意向到该对象的内容。

㈦ java如何交换a和b的值

是两个变量的值吗 用一个中间变量temp就行了 temp=a a=b b=temp

㈧ java如何实现2个数之间互换

这只能找一个中间变量,例如
int a = 10;
int b = 8;
中间变量:
int temp;
转换过程:
temp = a;
a = b;
b = temp;
就可以了

㈨ java进行两数交换时,如何不用中间量就交换

方法有很多,这里举出两种常用的:
方法1:使用^操作来实现
int
x
=
10;
//用二进制表示:x=0b1010;
int
y
=
15;
//用二进制表示:x=0b1111;
System.out.println("x="+x+"
y="+y);
x
=
x^y;
//x^y=
0b1010^0b1111
=
0b0101
y
=
x^y;
//x^y=
0b0101^0b1111
=
0b1010
=10
x
=
x^y;
//x^y=
0b0101^0b1010
=
0b1111
=15
System.out.println("x="+x+"
y="+y);
方法2:使用+,-操作来实现
int
x
=
10;
int
y
=
15;
System.out.println("x="+x+"
y="+y);
x
=
x+y;
//x=
10+15=25
y
=
x-y;
//y=
25-15=10
x
=
x-y;
//x=
25-10=15
System.out.println("x="+x+"
y="+y);
结果:
x=10
y=15
x=15
y=10
早期为了减少中间变量对计算机内存的占用,采用中间的方法来交换数据。其实这种交换并不完美,如果交换的两个数都很大,可能会内存溢出。在现在的开发中建议使用中间值来交换数值。

㈩ 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两个数交换相关的资料

热点内容
java计算12 浏览:249
大金空调摆动式压缩机 浏览:453
新的云服务器如何设置首页 浏览:687
javastring字符位置 浏览:196
银河麒麟字体库存在哪个文件夹 浏览:956
魔兽加丁服务器的航空叫什么 浏览:152
花冠改装案例哪个app多 浏览:515
成绩单app哪个好用 浏览:140
北美程序员vs国内程序员 浏览:181
php解析xml文档 浏览:121
石墨文档APP怎么横屏 浏览:185
墙主钢筋加密和非加密怎么看 浏览:144
金山区文件夹封套定制 浏览:708
soho程序员 浏览:672
java字节截取 浏览:526
php提交作业 浏览:815
房产还没解压可以办理赠予吗 浏览:224
java毫秒转分钟 浏览:753
模式识别中文pdf 浏览:774
c语言平均数字编译错误 浏览:171