易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中的值传递与引用传递


一.两个概念
实际参数(实参):方法调用时被传入的参数
形参:方法定义时声明的参数
二.三种传递方式
1.基本数据类型的值传递:
public static void main(String []args)
 {
  int i=10,j=5;
  tValue(i,j);
  System.out.println("i:"+i+"j:"+j);//打印结果:i=10,j=5
 }
 public static void tValue(int x,int y)
 {
  x+=y;
  y=x;
 }
总结:涉及到基本数据类型的传递时,形参接受的是实参的值副本。所以不能改变实参的值
2.复合类型的引用传递
void method1() {
  2 StringBuffer x = new StringBuffer("Hello");
  3 change1(x);
  4 System.out.println(x);
  5 }
  6
  7 void method2() {
  8 StringBuffer x = new StringBuffer("Hello");
  9 change2(x);
  10 System.out.println(x);
  11 }
  12
  13 void change1(StringBuffer sb) {
  14 sb.append(" world!");
  15 }
  16
  17 void change2(StringBuffer sb) {
  18 sb = new StringBuffer("hi");
  19 sb.append(" world!");
  20 }
针对以上代码,总结2条:1.对于类的实例它传递的是类的引用。需要注意的是,这条规则只适用于参数传递
2.对于函数调用,最终效果是什么完全看函数内部的实现。如18行代码
三。复合类型的中String的特殊引用传递
public  class Example{
String str=new String("good");
char [] ch=;
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}
public void change(String str2,char ch[]){
str="testok";
ch[0]='g';
System.out.print(str);
}
}str的传递与值传递相似


相关文档:

JAVA遍历一个文件夹中的所有文件

在实际项目中给定一文件夹,得到这个文件夹下所有的文件这样的需求并不是很多,更多的是查找或是删除某一具体的文件
import java.io.File;
import java.util.ArrayList;
public class FileTest {
 private static ArrayList<String> filelist = new ArrayList<String>();
 
 public stati ......

几种常见的排序算法的JAVA实现

以O(n)的时间实现对正整数的排序。思路是:从最末位开始,对数组中每一个数的第k位进行计数排序,直到排到最高位为止。
缺点:只能对正整数进行排序,而且需要知道最大整数的最高位,使用范围太小。但这不失为一个很有趣的排序,因为它颠覆了比较排序的传统思路。
public static int[] radixSort(int[] inputs,int d){
......

think in java第十五章关于网络编程的读书笔记

      对于java的网络编程书中讨论的全部归纳起来有Socket的使用,DatagramSocket的使用,java与CGI的配合使用,java连接数据库以及java中调用远程方法。
     
首先是Socket的使用,对于服务端来说,应该声明的是ServerSocket对象,然后使用Socket
accept()方法进行 ......

Java语言基础(一)

一,Java语言中的对象引用
C++中指针和引用兼有,而Java中没有指针的概念,完全用引用替代。如C++中一样,引用是我们给变量的一个“别名”,一个变量可以有多个“别名”。引用的值是一个内存地址,在对象的引用被定义时,如:
String s;  //此时s值为空,系统并没有为s所指的对象分配内存
s = ......

关于Java中自定义包的创建

我在学习thinking in Java4 的时候,在创建自定义包的时候,碰到了很多错误,让我郁闷了几天,通过在网上的资料搜索,把包的创建过程给大家详细列出来。
我们以thinking in Java4中的例子为例
创建两个类Vector和List。将编译后的Vector.class和List.class文件放在包net.mindview.simple下(该包位于c:\DOC\JavaT).
//Vec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号