去年10月份從學校出來實習,從事javaWeb方面的開發。到現在已經快1年了。突然間感覺自己的java基礎知識忘記的很厲害,或者說知識掌握的不牢吧。回顧自己學習java,發現我竟然一本關於java基礎的書籍都沒有看,以前都是看的視頻進行學習的。現在想好好補下基礎。先從看《head first java》這本書開始吧。
今天在公交上看來一個比較有意思的程序。如下:
當時看了下,弄了好一會,沒弄不來。。。。看了答案了後覺得很有意思。答案我就不貼不來了。以後回顧時,應該可以想起來吧~~
java參數值的傳遞,java是通過值傳遞,也就是說通過拷貝傳遞。實參和形參是兩個不同變量。對於原聲數據類型來說,實參和形參沒有任何關係,是兩個不同的變量,但是對於引用數據類型,形參和實參雖然是兩個不同變量,但是他們指向同一對象,對其中一個的改變會影響到另外一個。代碼如下:
public class Person {
private int age;
private String name;
public Person(int age,String name){
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Test01 {
static void changeParam(int param){
param = param + 3;
}
static void changeParam(Person p){
p.setAge(34);
}
public static void main(String[] args) {
int param = 3;
System.out.println("before:"+param);
changeParam(param);
System.out.println("after:"+param);
Person p = new Person(13,"zhongqian");
System.out.println("before:"+p.getAge());
changeParam(p);
System.out.println("after:"+p.getAge());
}
}
運行結果:
如果參數是原聲數據類型,形參的改變不會影響到實參;如果參數是引用數據類型,形參的改變會影響到實參。
關於for循環。看完這個程序,不知道要死掉多少腦細胞啊。。。如下: