2013年8月13日、 重載|數組|內存的劃分|棧內存、堆內存



/*
需求:函數的重載。 
*/


class FunctionDemo
{
public static void main(String[] args) 
{
// add(4,6,9);
// System.out.println("Hello World!");
printCFB(7);
}


/*
函數的重載。


1,同一個類,
2,同名。
3,參數個數不同。or 參數類型不同。
4,函數重載和返回值類型無關。
5,java是嚴謹性語言,如果函數出現的調用的不確定性,會編譯失敗。




*/


//加法運算。兩個整數的和。
public static int add(int a,int b)
{
return a+b;
}



//加法運算。兩個小數的和。
public static double add(double a,double b)
{
return a+b;
}


//加法運算,三個整數的和。 
public static int add(int a,int b,int c)
{
return add(a,b)+c;
}




/*
打印乘法表。
*/
public static void printCFB(int num)
{
for(int x=1; x<=num; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}


/*
打印標準乘法表。
*/
public static void printCFB()
{
printCFB(9);
}


}

————————————————————————

class ArrayDemo 
{


public static void main(String[] args) 
{
//元素類型[] 數組名 = new 元素類型[元素個數或數組長度];



{//局部代碼塊。限定局部變量的生命週期。
int age = 3;
System.out.println(age);
}




int[] arr = new int[3];


// arr[0] = 89;
System.out.println(arr[0]);
for(int x=0; x<4; x++){}


}
}




/*
內存的劃分:
1,寄存器。
2,本地方法區。
3,方法區。
4,棧內存。
存儲的都是局部變量。
而且變量所屬的作用域一旦結束,該變量就自動釋放。




5,堆內存。
存儲是數組和對象(其實數組就是對象) 凡是new建立在堆中。
特點:
1,每一個實體都有首地址值。
2,堆內存中的每一個變量都有默認初始化值,根據類型的不同而不同。整數是0,小數0.0或者0.0f,boolean false char '\u0000'
3,垃圾回收機制。 

--------說明java的內存轉換機制比C++手動處理好!




*/

——————————————————————————————————————————————————————-

class ArrayDemo2 
{
public static void main(String[] args) 
{
int[] arr = new int[3];
// System.out.println(arr[3]);//ArrayIndexOutOfBoundsException:
//當訪問到數組中不存在的角標時,就會發生該異常。


// arr = null;
// System.out.println(arr[0]);//NullPointerException
// 當引用型變量沒有任何實體指向時,還在用其操作實體。就會發生該異常。 


// System.out.println(arr);//  [I@c17164

}
}

發佈了33 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章