個人Java筆記


第一章
java


一 計算機程序:一系列有序的指令集合。數組

二 java語言分爲三個領域安全

javaSE java技術核心(桌面應用程序)qq 百度雲多線程

javaEE 企業版(面向internet的應用程序)京東 淘寶app

java ME (移動設備 小型嵌入開發)手機上的軟件框架


三 java 程序 三步走eclipse

1 編寫程序{程序以.java結尾}ide

2 編譯程序(使用javac指令編譯程序,編譯後程序以.class結尾)性能

3 運行{使用java指令運行編譯後的文件}網站

使用myeclipse開發java程序步驟


四 1 建立項目

2 編寫源程序

3 編譯

4 運行


public class 類名 {

}

六 內層框架

public statice void main {String[]args){

}

注意方法名必須是main 主方法四要素 public static void String[] args

輸出指令 System.out.println ("男");System.out.println ("16");注意首字母要大寫

println和print區別 println 輸出後換行 print 只輸出

/n和/t 區別 /n 換行 /t 製表位(四個字符爲一個製表位)


七 註釋

// 單行註釋 以//開始到行末結束

/**
*
*
*/ 多行註釋

/
*
*
*
/ 多行註釋 多用於註釋代碼塊

 

第二章 變量 存存儲數據的基本單元


變量的聲明和賦值 數據類型 變量名=數值 int price=10 聲明 賦值 分 兩步 int price price=-10

數據類型 基本數據類型 byte 取值範圍(-2的七次方到2的七次方減-1)

short 取值範圍(-2的十五次方到2的次十五方減-1)

int 取值範圍(-2的三十一次方到2的次三十一方減-1)

long 取值範圍(-2的6十三次方到2的次六十三方減-1)

float 浮點型 99f

double 雙精度 double price=32.5

boolean

char

引用數據類型 string class 接口

 

當是多個單詞組成的變量名 以 駝峯形命名法


當是多個單詞組成的變量名 以 駝峯形命名法


變量命名規範 首字母 以字母 下劃線 $開頭


賦值運算符 是把右邊的值賦予左邊

算術運算符 + - * / %(取餘 )

num++;//num=num+1;num+=1


num-;//num=num-1;num-=1


System.out.println(--num);//先計算在輸出


System.out.println(num--);//先輸出 在計算

 

 

double avg=(99+88)/3 發生自動轉換 轉換條件 兩種類型兼容 如 int double 都是數值型


強制轉換 (數據類型)變量名 )(數據類型)值

 

double num=5.5 int result=(int)num; int result=(int)5.5


第三章


保存真假 用 boolean 變量 有兩個值: true 真 與 false 假

Scanner inut=new Scanner (Systenm.in); int age=input.next() //接收int類型


String name=input.next(); //接受String類型


關係運算符 > < >= <= == !=


賦值 = == 表示比較


條件判斷: if(表達式 ) {語句} 當表達式爲真輸出

 

運算符 分爲 單目: ! ++ --


雙目: = + - * / % | || & &&


三目: ? : 例子 int sign=90? 1:0 ;


邏輯運算符 優先級順序: () ! 算術運算符 比較運算符 && || 賦值運算符= 注 多使用小括號控制優先級


if(表達式) 爲真 {執行語句A}


不然 else{執行B語句}


多分支: if-else if-else
if(條件1){語句1}

if(條件2){語句2}

if(條件3){語句3}

else{語句4}


switch(表達式)

{case 值1;

語句1;

break;

case 值2;

語句2;

break;

default:

語句3;

break;

}

多重if結構和switch 結構 使用場合 多重區間值 用if 等值判斷 用switch


break做用跳出switch結構;

while循環 語法:while(循環條件) {循環操做}


equals 字符串比較 == 數字比較

 

do while

do{


循環操做;


} while(循環條件);


特色 先執行 後判斷


調試方法 1.設置斷點 2.單步運行 3.觀察變量


調試步驟:


1 猜想錯位置,設置斷點


2啓動調試,單步運行


3觀察變量


4發現問題


5修正代碼,從新運行


6 解決問題


for 語法 (參數初始化;判斷條件;參數疊加){循環操做} 特色: 先判斷後執行 順序: 1 2 4 3

break 改變程序控制流 多用於循環中 跳出整個循環

 

continue 只能用在循環中 跳過循環體剩下語句去執行下一次循環


while do-while for 三者區別


while (判斷條件) {循環操做} 先判斷後先執行


do-while do{循環操做} while(條件) 先執行一次後判斷


for(參數初始化;判斷條件;參數疊加) {循環操做} 特色: 先判斷後執行


循環次數已定用 for 不知道循環次數用while


第四章


數組 是一個變量 存儲相同變量類型的一組數據


優勢 減小代碼量 易於查找

使用步驟

1 聲明數組 int[]a 2 分配空間 a=new int[5] 3 賦值 a[0]=100 4 處理數據a[0]=a[0]+20;|


值傳遞 不一樣變量分配不一樣的儲存空間 改變一個變量不會影響另外一個變量


引用傳遞 把引用原對象賦予另外一個引用對象 兩個引用指向同一存儲空間

 

二維數組 語法 數據類型 [][] 數組名 數據類型 數組名 [][]


分配內存 數據類型 [][]數組名=new 數據類型 [一維數組長度][二維數組最大長度] 例 int [][]num=new int [5][30]


二維數組實際是一個一維數據,他的元素也是;


賦值方式 socres={{1,2,3},{2,3,4},{7,8,9}}

 

第六章

 

對象的特徵 -----類的屬性 每一個對象都有特定的屬性值

 


封裝 對象同時具備屬性和方法 兩項特性 一般被封裝在一塊兒 共同體現事物 不能分割


類和對象 類是抽象的概念 是一個模子 肯定了對象的實行和方法


對象 是現實世界中的實體看得見摸的着 具備靜態和動態特性

 

定義類的步驟


1 定義類名


2 編寫類的屬性


3 編寫類的方法


定義類的屬性 訪問修飾符 屬性類型 屬性名稱=默認值


定義類的方法 訪問修飾符 返回值類型 方法名稱() {方法體}

 

成員變量 上級是類 做用域整個類中


局部變量 上級是方法 做用在本方法


類名 對象名 = new 類名() 建立對象


使用對象 對象名.屬性=值 ; 例 being.schoolName="雲圖智聯";


對象名.方法;


面向對象優勢


1.便與程序模擬實現世界中的實體


2.隱藏細節 對象的屬性和方法已被封裝,經過方法來調用它,無需在乎其內在的變化


3.可重用 經過類的模版,能夠建立多個類的對象

 

 

類是引用數據類型 傳值 m2=m1 傳的是地址

 


類的方法 public 返回值類型 方法名() {方法主體}


方法名規範

1 必須以字母 - $ 開頭


2 能夠有 數字 但不能以數字開頭


3 方法有多個單詞主城 開頭首之母小寫 其後首字母大寫


4 方法名都採用動詞

 


方法返回值: 有返回值必須告訴返回值類型 void 無返回值類型



包名命名規範 公司網站倒過來寫 加項目名稱 再加類所屬的文件

 

帶參的方法


訪問修飾符 返回值類型 方法名稱 (參數列表) {方法體}

public string getFuirt(String fuirt)

String zhi= Fuirt "汁"

return zhi;


調用帶參方法


同類中 直接 調用 方法名 (實參列表)

不一樣類 對象.方法名(參數列表)

 

帶方法的參數:


形參數據類型與實參數據類型一致


形參調用數量與實參調用數量也需一致

 

字符串


聲明字符串方法


String s="您好"; String s=new String("您好")


肯定 字符串長度 用 length();


equals 比較的是值 用於字符串比較 == 比較的是地址 用於數字比較


equals lgnore Case 忽略大小寫


toLowerCase 轉換成小寫


toUpperCase 轉換成大寫


\轉運符


String s="您好" str=str+"北京"


使用 + 與 concat 方法 會浪費內存 性能較差 線程安全


idexOf(int ch) 獲取字符或字符下標 str .idexOf('你') indexOf(String s) 例 str .indexOf(.java)


lastidexOf(int ch) 例如 str .lastidexOf('你') lastindexOf(String s) 例 str .lastindexOf(.java)

 

subString(int beginIdenx,int endIndex) 下標從0開始 包括beginIdenx, 不包括 endIndex


trim() 去掉先後空格

 

split() 方法分割 字符串 返回數組

String Buffer類 頻繁拼接字符串時使用


String Buffer m=new String Buffe("你")

m.append("好嗎?")

m.insert(1,"們")

String str=m.toString();

System.out.println(str);//大家好嗎?

特色: 不會產生副本 節省內存 性能高 線程安全 在自身基礎上追加字符串

 

 


操做數據較少 使用 String

 


操做數據較多使用 StringBuffer ;StringBuilder


操做數據較多 而且是多線程使用 StringBuffer


操做數據較多 而且是 單線程使用 StringBuilder


性能 String < StringBuffer < StringBuilder


抽象類的步驟


1 定義類


2 定義屬性


3 定義方法

 

抽象原則


1 根據面向對象思想抽取


類圖優勢: 直觀 易於理解


構造方法 系統默認的無參構造 public Dog() { }


當程序寫了自定義的構造方法時,系統默認的無參構造會消失


自定義無參和有殘構造


public aDog() { this.name="小白"}


public aDog(String name){ this.name="小白"}


特色 :訪問修飾符 public 無返回值 構造方法名與類名一致


public Dog(String name) { this.name=name;}


this 當前對象的引用

 

static 靜態的意思 修飾屬性,方法,代碼塊


被修飾的屬性,方法 的調用方式 : 類名.屬性 類名.方法 代碼塊 類加載時 加載的是代碼塊


final 最終的 修飾屬性 它是個常量,而且不可修改 常量名全爲大寫


方法裏的變量不能被static 修飾


封裝三步驟 1 屬性私有化 經過 private

2 建立 getter/setter方法

3 在getter/setter方法中加入控制語句

this使用: this.屬性 this.方法 this.構造 this() 調用無參構造 this(參數[]) 調用有參構造

開發中一個完整的實體類 包括 私有化屬性 get和set方法 無參構造與有參構造

子類不能繼承父類的那些成員


1.private 成員

2.不在同包中使用默認訪問權限

3. 構造方法

訪問修飾符使用範圍

private 本類 friendly 本類 同包 protected 本類 同包 子類 public 本類 同包 子類 其餘

多重繼承關係順序: 父類屬性 構造方法 —— 子類屬性 構造方法

super 只能訪問子類的方法和構造方法

訪問構造方法時只能放在第一句

 


不能訪問父類private 成員

相關文章
相關標籤/搜索