鏈表是java中的一種常見的基礎數據結構,是一種線性表,可是不會按線性的順序存儲數據,而是在每個節點裏存到下一個節點的指針。與線性對應的一種算法是遞歸算法:遞歸算法是一種直接或間接的調用自身算法的過程,每每使算法的描述簡潔並且易於理解。java
使用遞歸算法就是本身調用本身,而遞歸算法必需要有出口,遞歸過多也會形成內存棧溢出算法
1 public static int JieGou(int num){ 2 3 if(num==1) return 1; 4 return num*JieGou(num-1); //調用本身 5 6 }
java中有8大基本數據類型,可是在面向對象中,本着一個設計的原則「一切皆對象」。在java的基本數據類型徹底不符合這種思想。由於八種基本數據類型並非引用數據類型,因此爲了解決這個問題,引入了八種數據類型的包裝類。緩存
八種數據類型包裝類分爲兩種:數據結構
Number:Integer、Short、Long、Double、Float、Bytespa
Object: Character、Boolean都是Object的直接子類命令行
基本數據類型:-----------包裝類設計
int--------------Integer指針
char------------Charactercode
float------------Float對象
double---------Double
boolean--------Boolean
byte-----------Byte
short----------Short
long-----------Long
既然引入了包裝類,那麼包裝類有什麼做用呢?
在包裝類中,能夠將一個字符串變爲指定的基本數據類型,輸入數據時使用:
(1)、在Integer類中將string變爲int類型數據
public static int parseInt(String msg);
(2)、在Float類中將String變爲float類型數據
public static float parseFloat(String msg);
注意:轉型操做時,字符串必須由數字組成,不然會出現錯誤。其餘型的數據轉換同理
String msg="200"; int m=parseInt(msg); System.out.println(m); 結果是:200
//把一個字節的整數緩存在整數常量池中 Integer a=127; Integer b=127; System.out.println(a==b); 輸出結果爲真
包:包是對類文件進行分類管理的,給類提供了多層命名空間,包寫在程序文件的第一行,類名的全稱是包名.類名,包也算是一種包裝形式。
包與訪問修飾符:包對於對個java源文件的管理,就像文件目錄同樣
定義一個包:package com.vices.mihu;
記住:該語句只能出如今代碼的第一句。
訪問修飾符:
public : 同一個類 、同包 、不一樣包子類 、不一樣包非子類
protected : 同一個類 、同包 、不一樣包子類
默認 :同一個類 、同包
private :同一個類
總結:包與包之間的類進行訪問,被訪問的包中的類必須是public的,包中的類的方法也必須是public的。
那麼如何來建立包?
在java環境下,在命令行中
javac -d.PackageDemo.java
容易出現兩個錯誤:
一、找不到符號
緣由:類名寫錯:調用另個包中的類建立對象,必須明確其包名:package.Demo d=new Package.Demo();
二、軟件包不存在
緣由:是當前目錄下沒找到,由於包存放在其餘目錄下,應該配置一個classpath
如何使用包?
導入包就可使用該包下的文件
import package.Demo; //導入了package包中的Demo
import package.DemoA;
import package.abc.*; //導入了該包中的全部類
導包的原則:用到哪一個類,就導入哪一個類 :導包的目的就是爲了簡化類名的書寫。