Java中的值交换

发布时间:2024-11-06 08:59

值交换

一、基本数据类型值交换

class Demo {public static void change(int a, int b) {int temp = a;a = b;b = temp;}public static void main(String[] args) {int a = 10;int b = 20;System.out.println("交换之前:"+"a= "+a+" b= "+b); //交换之前:a= 10 b= 20change(a,b);System.out.println("交换之后:"+"a= "+a+" b= "+b); //交换之后:a= 10 b= 20} }

12345678910111213141516

换值前后没有变量的值发生变化。
原因:
主函数运行的时候会在栈内存中开辟属于自己的空间,当主函数调用change函数时,也会在栈内存中开辟属于自己的空间,并有自己的a、b变量;当change方法结束之后,change方法中的a、b变量也同时消失。

重点:
1.形式参数是数据所属函数的局部变量。
2.不同函数的局部变量与局部变量是相互独立的,没有任何的关系。

基本数据类型值交换

二、数组类型值交换

class Demo {public static void change(int[] arr, int index1,int index2) {int temp = arr[index1];arr[index1] = arr[index2];arr[index2] = temp;}public static void main(String[] args) {int[] arr = {1,2,3,4,5,6};System.out.println("交换之前:"+Arrays.toString(arr)); //交换之前:[1, 2, 3, 4, 5, 6]change(arr,1,2);System.out.println("交换之后:"+Arrays.toString(arr)); //交换之后:[1, 3, 2, 4, 5, 6]} } 123456789101112131415

交换成功。原因:main方法中与change方法中操作的是同一个对象。

注意:1.两个函数的arr还是不同的。2.arr这两个不同的变量操作了相同的对象,所以交换成功。

数组类型的值交换

三、对象的值交换

class MyTest{int x = 10;public MyTest(int x) {this.x = x;} } class Demo {public static void change(MyTest myTest,int x) {myTest.x = x;}public static void main(String[] args) {MyTest myTest = new MyTest(1);System.out.println("修改之前:"+myTest.x); //修改之前:1change(myTest,2);System.out.println("修改之后:"+myTest.x); //修改之后:2} }

1234567891011121314151617181920

交换成功:不同的引用类型变量操作同一个对象,肯定会影响到结果。

对象的值交换

四、字符串的值交换

class Demo {public static void change(String source,String target) {source = target;}public static void main(String[] args) {String str = "CSDN_HCX";System.out.println("修改之前:"+str); //修改之前:CSDN_HCXchange(str,"JS_HCX");System.out.println("修改之后:"+str); //修改之后:CSDN_HCX} } 12345678910111213

交换失败

字符串的值交换

网址:Java中的值交换 https://www.yuejiaxmz.com/news/view/9375

相关内容

java健康饮食管理系统(ssm)
springboot+vue宠物文化交流平台【开题+程序+论文】
基于java+ssm+jsp的个人财务管理系统
java计算机毕业设计宠物寄托管理系统(开题+程序+论文)
基于微信小程序的个人账本的设计与实现/个人财务管理系统/基于java的财务管理系统
【毕业设计】基于Java的个人记账系统的设计与实现
基于Java个人财务管理系统设计实现(源码+lw+部署文档+讲解等)
基于java web个人财务管理系统
省时省力,这些Python高效代码片段必须牢记
换季小贴士:如何应对季节交替,帮助大家应对季节交替带来的挑战

随便看看