-----------android教育訓練、java教育訓練、java學習型技術部落格、期待與您交流!------------
在此,分享一下自己學習JAVA的學習心得。有不對的地方請幫忙改正,也希望對想學java的同學有幫助!
JAVA語言基礎
函數
定義:函數就是定義在類中具有特定功能的一段獨立小程式,函數也稱方法。
格式:
修飾符 傳回值類型 函數名 (參數類型 形式參數1,參數類型 形式參數2 )
{ 執行語句; return 傳回值; }
注:傳回值類型:函數運作後的結果的資料類型; 參數類型:是形式參數的資料類型; 形式參數:是一個變量,用于存儲調用函數時傳遞給函數的實際參數; 實際參數:傳遞給形式參數的具體數值; return:用于結束函數; 傳回值:該值會傳回給調用者。
函數的特點:
(1)定義函數可以将功能代碼進行封裝; (2)函數隻有被調用才會執行; (3)函數的出現提高了代碼的複用性; (4)對于函數沒有具體傳回值的情況,傳回值類型用關鍵字void表示,那麼如果該函數的return語句在最後一行可以省略不寫。
注:函數中隻能調用函數,不可以在函數内部定義函數; JAVA練習代碼:
class BabySitter
{
String name = "張曉";
String sex = "女";
String age = "29";
void cooking()
{
System.out.println(name+"~"+sex+"~"+age);
}
}
class ClassDemo
{
public static void main(String[] args)
{
BabySitter B = new BabySitter();
B.cooking();
}
}
class Trans
{
public static void main(String[] args)
{
tobin (60);
toba(60);
tohex(60);
}
//十進制轉二進制
public static void tobin(int num)
{
trans(num ,1,1);
}
//十進制轉八進制
public static void toba(int num)
{
trans(num ,7,3);
}
//十進制轉十六進制
public static void tohex(int num)
{
trans(num ,15,4);
}
public static void trans(int num,int base,int offset)
{
if(num==0)
{
System.out.println(0);
}
//定義一個表
char [] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//定義一個容器
char [] arr =new char[32];
int pos = arr.length;//位移位數
while(num!=0)
{
int temp= num & base;
arr[--pos] = chs[temp];
num= num>>>offset;
}
for(int x= pos; x<arr.length; x++)
{
System.out.print(arr[x]);
}
System.out.println();
}
}
</pre></div><div><span style="font-size:18px">在主函數中調用列印99乘法表的函數</span><pre name="code" class="java">class FunctionDemo
{
public static void main (String args[])
{
printer99();//列印99乘法表
}
public static void printer99()
{
for(int x=1; x<=9; x++)
{
for(int y=1; y<=x;y++)
{
System.out.print(x+"*"+y+"="+x*y+"\t");
}
System.out.println();
}
}
}
函數的重載(overload)
Java練習代碼:
函數 person(String name)與 person(String name,String sex,int age)屬于重載關系
class person
{
private String name;
private int age;
private String sex;
person(String name)
{
this.name = name;
}
person(String name,String sex,int age)
{
this.name = name;
this.sex = sex;
this.age = age;
}
public void speak()
{
System.out.println(this.name+" "+this.sex+" "+this.age);
}
}
class PersonDemo
{
public static void main(String[] args)
{
person p = new person();
p.name = "jolin";
p.sex = "woman";
p.age = "36";
speak();
}
}
數組
定義:同一類型資料的集合。其實數組就是一個容器。 一維數組 格式1: 元素類型[ ] 數組名 = new 元素類型 [元素個數或者數組長度] 示例: int [ ] arr = new int [5];
格式2: 元素類型[ ] 數組名 = new 元素類型 [ ] {元素,元素, 元素, 元素, ....... } 示例: int [ ] arr = new int [ ] {3,5,7,9} ; int [ ] arr = {3,5,7,9};
數組記憶體結構
數組常見操作問題: (1)數組角标越界異常(ArrayIndexOutOfBoundsException) int [ ] arr = new int [2]; System.out.println(arr[3]); 通路到了數組中的不存在的角标時發生 (2)空指針異常(NullPointerException) int [ ] arr = null; System.out.println(arr[0]); arr引用沒有指向實體,卻在操作實體中的元素時。
數組中常見的操作 (1)擷取最值(最大值,最小值) Java練習代碼:
class ArrayDemo
{
public static void main(String []args)
{
int [] shuzu= {1,5,2,3,6,9,4,7};
//列印數組
printer(shuzu);
//從大到小排序
Dn(shuzu);
printer(shuzu);
//從小到大排序
Up(shuzu);
printer(shuzu);
}
//定義一個函數為Dn,要求數組按從大到小輸出
public static void Dn (int arr[])
{
for (int x=0; x<arr.length-1 ;x++ )
{
for(int y=x+1; y<arr.length ;y++)
{
if (arr[x]<arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
//定義一個函數為Up,要求數組從小到大排序
public static void Up (int arr[])
{
for (int x=0; x<arr.length-1 ;x++ )
{
for(int y=x+1; y<arr.length ;y++)
{
if (arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
//定義一個列印數組的函數printer。
public static void printer (int arr[])
{
System.out.print("[");
for (int x=0; x<arr.length ;x++ )
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
}
(2)排序(選擇排序,冒泡排序)
class BublueDemo
{
public static void main(String[] args)
{
int [] arr ={0,2,3,5,1,9,4};
bublue(arr);
printer(arr);
}
public static void bublue(int []arr)
{
for(int x=0; x<arr.length;x++)
{
for(int y=0;y<arr.length-1-x;y++) //-x:每次比較的元素減少;-1:避免角标越界。
{
if(arr[y]>arr[y+1])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void printer (int arr[])
{
System.out.print("[");
for (int x=0; x<arr.length ;x++ )
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
}
(3)折半查找(二分查找)
二維數組