第一章 JAVA簡介
1.什麼是java
- java語言於1995年Sun公司推出。
- java程序代碼經過編譯(編譯器完成)後轉換成一種成爲字節碼的中間語言;
- java虛擬機(JVM)將對字節碼進行解釋和運行,編譯只進行一次,而解釋在每次程序運行時都會進行。
2.Java的版本
- Java SE:Java的標準版本,是Java的基礎,包含了Java語言的基礎、JDBC操作、I/O、網絡通信、多線程等技術,主要用於桌面應用程序的開發。
- Java EE:Java的企業版,主要用於開發企業級分佈式的網絡程序,如電子商務網站等。
- Java ME:Java的迷你版本,主要用於嵌入式系統開發。
3.Java語言的特性
簡單:
語法規則和C++類似;用接口替代了多重繼承,取消了指針,實現了垃圾自動回收機制;提供了豐富的類庫和API文檔,還有大量的基於Java的開源項目。面向對象:
面向對象是Java語言的基礎,Java語言最外部的數據內型是對象,所有的元素都要通過類和對象來訪問。分佈性:
Java的分佈性包括操作分佈和數據分佈,操作分佈是指在多個不同的主機上佈置相關操作,而數據分佈是將數據分別放在多個不同的主機上。
其他的特點包括:可移植性、安全性、解釋型、健壯性、多線程、動態等。
4.其他一些知識
搭建Java環境,配置環境變量等
第二章 JAVA語言基礎
1.基本數據類型
數值型:
- 整型:包括byte,short,int,long
浮點型:包括float,double
細節: 八進制數以0開頭,十六進制數以0x開頭; 賦給long型的值若大於int(max)或小於int(min),後綴加L float需要加後綴F或f。
- 字符型:char
細節:單引號引表示字符,雙引號表示字符串 - 布爾型:boolean,只有兩個值true和false
2.標識符和關鍵字
標識符由下劃線、美元符號、數字和字母組成
關鍵字是Java語言中被賦予特定意義的一些單詞3.變量和常量
- 聲明常量:final 數據類型 常量名[=值]
變量:
- 成員變量:在類體中所定義的變量被稱爲成員變量,成員變量在整個類中都有效。成員變量可以分爲靜態變量和實例變量。
- 靜態變量的有效範圍可以跨越類,甚至在整個應用程序之類。除了能在定義它的類中使用,還可以用“類名.靜態變量”的方法在其他類中調用。
4.運算符
- 賦值運算符:= += -= *= /=
- 算數運算符:+ - * / ++ – %(取餘數)
- 比較運算符:> < >= <= == !=
- 邏輯運算符:& | && || !
- 位運算符:<< >> >>>(無符號右移) ~(按位取反)
- 三元運算符: ? :
5.數據類型轉換
- 數據類型轉換有兩種方式,即隱式轉換和顯示轉換。
- 隱式類型轉換:低級類型->高級類型,系統自動執行。byte
- 數據類型轉換有兩種方式,即隱式轉換和顯示轉換。
第三章 流程控制
1,條件語句
if(表達式){
若干語句
}if(表達式){ 若干語句 }else { 若干語句 } if(表達式){ 若干語句 }else if(表達式){ 若干語句 } ... else{ //這條語句可以沒有 若干語句 } switch多分支語句 swith(){ case 常量1; 若干語句; break; case 常量2; 若干語句; break; ... default; 若干語句; break; }//表達式和常量的值必須爲整型、字符型、或字符串類型
2,循環語句
while(表達式){
執行語句;
}do{ 執行語句; }while(表達式) for(表達式1;表達式2;表達式3){ 語句序列; } //foreach語句是for語句的特殊簡化版 for(元素變量x:遍歷對象obj){ 引用了x的java語句; } break(跳出循環)和continue(跳出當前循環,進入下一個循環)
第四章 數組
- 1,數組定義
數組是具有相同數據類型的一組數據的集合。Java中將數組看做一個對象。 2,一維數組
聲明一維數組的方式:
數組元素類型 數組名稱[];
數組元素類型[] 數組名稱;以上只是給出了數組的名字和元素的數據類型,要想正真使用數組,需要爲它分配內存空間,
數組名字=new 數組元素類型[數組元素個數];//使用new關鍵字分配數組時,需指定元素類型和數組元素的個數。
聲明數組的同時爲其分配內存空間:
數組元素類型 數組名=new 數組元素類型[數組元素個數];初始化數組:包括兩種形式,例
- int[] arr=new int[]{1,2,3,4,5};
- int[] arr2={11,12,13,14};
3,二維數組的創建及使用
聲明二維數組:
- 數組元素類型 數組名字[][];
- 數組元素類型[][] 數組名字;
爲數組分配內存:
直接爲每一維分配內存,例
a=new int[2][4];分別爲每一維分配內存,例
a=new int[2][];
a[0]=new int[2];
a[1]=new int[3];
聲明的同時爲數組分配內存。二維數組的初始化:
type arrayname[][]={value1,value2,…,valuen};
實例:int arr[][]={{12,0},{45,10}};
4,數組的基本操作
- 遍歷數組
填充替換數組元素:
可通過Arrays類的靜態方法fill()來實現
fill(int[] a,int value);
fill(int[] a,int fromIndex,int toIndex,int value);數組排序
主要包括兩種排序方法:選擇排序和冒泡排序
可以使用Arrays類的靜態方法sort()
Java中String類數組的排序算法是根據字典順序排序的,因此數字排在字母前面,大寫字母排在小寫字母前面。複製數組
可以使用Arrays類中靜態copyOf()方法和copyOfRange()方法
- copyOf(arr,int newlength);//複製數組至指定長度,返回新數組
- copyOfRange(arr,int formIndex,int toIndex);//將指定數組的指定長度複製到一個新數組中,返回新數組數組查詢
常用二分搜索法(使用前要先對數組排序)來搜索指定數組,對應方法爲binarySearch(); binarySearch(Object[] a,Object key);//若包含,則返回搜索值得索引;否則返回-1或“-”(插入點) binarySearch(Object[] a,int formIndex,int toIndex,Object key);//同上
反轉排序
求最大值