日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java转net容易吗_每日一醒(1):学习Java容易忽视的小错误,你注意到了吗?

發(fā)布時(shí)間:2023/12/15 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java转net容易吗_每日一醒(1):学习Java容易忽视的小错误,你注意到了吗? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在我們學(xué)習(xí)Java的過(guò)程中有著許多的小知識(shí)點(diǎn)特別容易出bug,你知道嗎?下面我就給大家科普下2個(gè)學(xué)習(xí)Java容易忽視的問(wèn)題

1、值傳遞與引用傳遞

值傳遞是指對(duì)象被值傳遞,意味著傳遞了對(duì)象的一個(gè)副本,即使副本被改變,也不會(huì)影響源對(duì)象。(因?yàn)橹祩鬟f的時(shí)候,實(shí)際上是將實(shí)參的值復(fù)制一份給形參。)

public static void main(String[] args) {

int num1 = 10;

int num2 = 20;

swap(num1, num2);

System.out.println("num1 = " + num1);

System.out.println("num2 = " + num2);

}

public static void swap(int a, int b) {

int temp = a;

a = b;

b = temp;

System.out.println("a = " + a);

System.out.println("b = " + b);

}

結(jié)果輸出:a = 20;b = 10;num1 = 10;num2 = 20

引用傳遞傳遞的并不是實(shí)際的對(duì)象,而是對(duì)象的引用。因此,外部對(duì)引用對(duì)象的改變會(huì)反映到實(shí)際的對(duì)象上。(因?yàn)橐脗鬟f的時(shí)候,實(shí)際上是將實(shí)參的地址值復(fù)制一份給形參。)

public static void main(String[] args) {

int[ ] arr = {1,2,3,4,5};

change(arr);

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

}

public static void change(int[] array) {

//將數(shù)組的第一個(gè)元素變?yōu)?

array[0] = 0;

}

//結(jié)果輸出:0

而還有一個(gè)特殊的列子StringBuffer類(lèi)型傳遞

public void method() {

StringBuffer str = new StringBuffer("1234");

System.out.println(str);

change(str);

System.out.println(str);

}

public static void change(StringBuffer str) {

str = new StringBuffer("abc");

//str.append("歡迎大家關(guān)注");//輸出:1234歡迎大家關(guān)注

//str.insert(3, "(編程)");//輸出:123(編程)4

}

結(jié)果:1234;1234。分析:因?yàn)樵?change方法內(nèi)部我們是新建了一個(gè)StringBuffer對(duì)象,所以 str指向了另外一個(gè)地址,相應(yīng)的操作也同樣是指向另外的地址的。如

public class Demo {

public static void main(String[] args) {

Person p = new Person("張三");

change(p);

System.out.println(p.name);

}

public static void change(Person p) {

Person person = new Person("李四");

p = person;

}

}

class Person {

String name;

public Person(String name) {

this.name = name;

}

}

最后輸出:張三;這是因?yàn)閏hange方法中重新創(chuàng)建了一個(gè) Person對(duì)象。這些都是很容易出bug的小知識(shí),你Get到了嗎?如果學(xué)習(xí)Java過(guò)程中有什么問(wèn)題可以評(píng)論留言,我看到都會(huì)回復(fù)哦!

總結(jié)

以上是生活随笔為你收集整理的java转net容易吗_每日一醒(1):学习Java容易忽视的小错误,你注意到了吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。