java 中的参数传递都是采用的值传递方式,所以在用swap的时候,可以采用外部内联的方式:
public class Swap2 {
public static void main(String args[]){
Swap2 sw = new Swap2(1,2);
System.out.println("i is" + sw.i);
System.out.println("j is" + sw.j);
sw.swap();
System.out.println("i is" + sw.i);
System.out.println("j is" + sw.j);
}
int i,j;
public Swap2(int i, int j){
this.i = i;
this.j = j;
}
public void swap(){
int temp;
temp = i;
i = j;
j = temp;
}
}
实质就是在进行交换的时候,swap方法不能带有参数,如果带有参数的话,实际并没有发生交换:
public class Swap1 {
public static void Swap1(Integer a, Integer b){
Integer temp = a;
a = b;
b = temp;
}
public static void main(String args[]){
Integer a,b;
a = new Integer(10);
b = new Integer(20);
Swap1.Swap1(a, b);
System.out.println("a is " + a);
System.out.println("b is " + b);
}
}
分享到:
相关推荐
由于Java Applet与MFC程序使用的字节顺序不同(前者为Big-Endian,后者为Little-Endian),需要在数据交换过程中进行转换。这一过程由`Swap`函数完成。例如,数字“4”在Big-Endian格式中表示为“0004”,而在Little...
通过上述分析,我们可以清楚地了解到Java中引用和函数参数传递的基本概念以及它们的具体应用。了解这些概念对于正确使用Java进行编程非常重要,尤其是在处理复杂的数据结构和对象交互时。希望本文能帮助读者更好地...
在Java中,可以使用`Objects.hash()`方法或者自定义的Hash函数来实现这一功能。 描述中提到的博客链接(https://128kj.iteye.com/blog/1699795)可能详细解释了如何在Java中实现这样的Hash函数,并给出了具体的代码...
标题所述的主题是"C/C++和Java达到swap不同功能",主要探讨了在C/C++和Java两种编程语言中实现变量交换的差异。在C/C++中,我们可以直接通过指针或引用来交换变量的值,而在Java中,由于不支持指针操作,我们需要...
Java数据结构和算法.pdf 资源摘要信息是关于Java数据结构和算法的知识点总结,涵盖了数组、栈与队列、链表、递归、哈希表、高级排序、二叉树、红黑树、堆、带权图等数据结构和算法概念。 一、数组 * 数组是相同...
在这个例子中,尽管`swap`函数成功地交换了`a`和`b`的值,但在`main`函数中,`x`和`y`的值并没有发生交换。这是因为传递给`swap`的`x`和`y`实际上是它们的副本。 ##### 通过指针传递示例 为了实现在函数内部修改...
具体实现中,使用了临时数组 b 进行数据交换,最后将 b 的内容复制回原数组 A,从而完成调整。 ```java public void swap() { int[] b = new int[size]; // ... 代码省略 } ``` 2. **循环单链表**:循环...
### Java数据结构和算法知识点详解 #### 一、数组与简单排序 ##### 数组 **概念**: 数组是一种数据结构,用于存储具有相同类型的多个数据元素。数组中的每个元素可以通过索引(通常从0开始)访问。 **特点**: - *...
在这个例子中,即使在swap函数中交换了a和b的值,主函数中的i和j的值仍然不会改变,因为它们是通过值传递的。值传递适用于不需要改变原始数据的场景。 2. 指针传递(Call by Pointer) 指针传递是指将实参的内存...
例如,你可以定义一个 `swap()` 函数来交换两个变量的值。 4. **函数指针**: C语言允许我们使用函数指针,即一个变量可以存储函数的地址。这在回调函数、排序算法(如快速排序、冒泡排序)以及实现动态策略(如...
例如,如果数据源是ArrayList,可以使用`Collections.swap()`方法来完成交换。 ```java public void swapItems(int position1, int position2) { Collections.swap(dataList, position1, position2); ...
描述中的"data swap"直译为“数据交换”,暗示了这个项目的核心功能是处理数据的传输、转换或交换。提到的博客链接(已省略)可能提供了更详细的实现过程、使用方法或者问题解决思路。博主Clarancepeng在ITeye博客上...
在Java中实现这些排序算法时,通常会使用数组作为数据结构,通过定义辅助方法如`swap()`来进行元素交换,`printArray()`用于输出排序结果。例如,`bubbleSort()`函数展示了冒泡排序的具体实现,根据参数`sortType`...
CAS(Compare-And-Swap)是 Java 中的一种原子操作,用于比较和交换变量的值。CAS 可以用于解决多种并发编程问题,例如原子变量、锁机制等。 原子引用 原子引用是 Java 中的一种机制,用于描述原子的变量访问。...
在Java中,交换两个变量的值是一个常见的编程任务,尤其在数组排序或数据处理时。在Java中,由于参数传递机制的原因,交换两个变量的值需要一些技巧。这里我们将详细探讨这个问题。 首先,理解Java的参数传递机制至...