奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

計算機應用

詳解Java語言中的參數傳遞

時間:2024-08-08 06:46:10 計算機應用 我要投稿
  • 相關推薦

詳解Java語言中的參數傳遞

  導語:和其它程序設計語言類似,Java語言的參數傳遞也分為兩種,下面就由小編為大家介紹一下詳解Java語言中的參數傳遞,希望對大家有所幫助!

  1.按值傳遞(by value)

  適用范圍:8種基本數據類型、String對象

  特點:在內存中復制一份數據,把復制后的數據傳遞到方法內部

  作用:在方法內部改變參數的值,外部數據不會跟著發生改變

  2.按址傳遞(by address)

  適用范圍:數組、除String以外的其他所有類型的對象

  特點:將對象的地址傳遞到方法內部

  作用:在方法內部修改對象的內容,外部數據也會跟著發生改變

  基礎示例代碼:

  public class Test1{

  public static void t1(int n){

  n = 10;

  }

  public static void t2(String s){

  s = "123";

  }

  public static void t3(int array){

  array[0] = 2;

  }

  public static void main(String args){

  int m = 5;

  1(m);

  System.out.println(m);

  String s1 = "abc";

  t2(s1);

  System.out.println(s1);

  int arr = {1,2,3,4};

  t3(arr);

  System.out.println(arr[0]);

  }

  }

  按照上面的參數傳遞規則,該代碼的輸出結果應該是:5 abc 2.因為int類型是按值傳遞,所以把參數m傳遞到方法t1時,相當于又復制了一份m的值,在方法t1內部修改的是復制后的值,所以m的值不變,s1的輸出和m類似。而arr是數組,屬于按址傳遞,也就是把arr的地址傳遞到了方法t3內部,在方法t3內部修改數組中的值時,原來的內容也發生改變。|||

  以上特性是Java語言中的規定,在語法上無法指定參數傳遞是按值傳遞還是按址傳遞,但是可以通過下面的變換實現:

  1.對于按值傳遞的參數,如果需要在方法調用以后修改參數的值,可以利用返回值來實現;對于按值傳遞的參數,如果需要在方法內部修改時原來的參數不改變,則可以在方法內部重新創建該對象實現。

  示例代碼

  public class Test2{

  public static int t1(int n){

  n = 10;

  return n;

  }

  public static String t2(String s){

  s = "123";

  return s;

  }

  public static void t3(int array){

  //創建新的數組并賦值

  int newArray = new int[array.length];

  //數據拷貝

  System.arraycopy(array,0,newArray,0,array.length);

  newArray[0] = 2;

  }

  public static void main(String args){

  int m = 5;

  //重新賦值

  m = t1(m);

  System.out.println(m);

  String s1 = "abc";

  //重新賦值

  s1 = t2(s1);

  System.out.println(s1);

  int arr = {1,2,3,4};

  t3(arr);

  System.out.println(arr[0]);

  }

  }

  這樣,程序的輸出結果就將是:10 123 1.

  在實際的程序開發中,可以根據需要使用類似的結構來進行實現。

  下面再介紹一個參數傳遞的常見應用,利用參數傳遞實現返回值,這樣的功能在IO類設計的read方法中大量使用。

  示例代碼

  public class Test3{

  public static void initArray(int array){

  for(int i = 0;i < array.length;i++){

  array[i] = i;

  }

  }

  public static void main(String args){

  int a = new int[10];

  initArray(a);

  for(int i = 0;i < a.length;i++){

  System.out.println(a[i]);

  }

  }

  }

  在該示例代碼中,在initArray方法內部修改了數組的值以后,外部數組a的值也會發生改變,間接實現了返回值的效果。當然,在該示例代碼中,因為只返回一個參數,所以作用體現的不明顯,如果需要返回多個參數時,使用按址傳遞是一種不錯的主意。

【詳解Java語言中的參數傳遞】相關文章:

Java語言中的流程控制09-05

ASP 游標參數詳解記錄集08-03

筆記本SDR內存參數詳解10-30

Java命令參數說明大全06-20

java命令行參數解析201606-02

2016年java編譯命令詳解07-13

java與javascript之間json格式數據互轉詳解10-23

PHP 正則表達式后面接的/isU, /is, /s參數含義詳解10-16

Java與Java web的區別08-22

晶體管參數有哪些-晶體管的參數09-23

主站蜘蛛池模板: 岳阳县| 巴林右旗| 天长市| 泗洪县| 博爱县| 连江县| 连云港市| 富顺县| 锡林郭勒盟| 云龙县| 从化市| 策勒县| 扎赉特旗| 陕西省| 垫江县| 广水市| 宝应县| 五台县| 新兴县| 鸡东县| 满洲里市| 承德市| 嵩明县| 汶上县| 拜城县| 武清区| 鄯善县| 双桥区| 青川县| 张家川| 城步| 吴堡县| 石家庄市| 郯城县| 同心县| 偃师市| 永年县| 宜兴市| 绍兴县| 阳山县| 准格尔旗|