第一章
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 成員