天天看點

java基礎知識總結_java基礎知識總結

java基礎知識總結

一、java概述與計算機基礎

1)計算機基礎

1)dos指令

2)進制轉換

2)java語言發展曆史

3)環境變量

4)JDK與JRE

5)Java的三種技術架構

6)javac編譯\java運作

二、java文法基礎

1)辨別符

含義:辨別符是程式員為自己定義的類、方法、變量等取的名稱

規範(包名、類名和接口名、方法名、變量名、常量名)

2)關鍵字

概述:關鍵字隻能系統使用,不能作為程式的辨別符

通路修飾符關鍵字

public、protected、private

類、方法和變量修飾符關鍵字

class\interface、implements、extends、abstract、static

流程控制關鍵字

if-else

switch-case-default

for

do-while

break、continue、return

instanceof 判斷對象是否是類或接口的執行個體

異常處理關鍵字

try-catch-finally

throw、throws

assert 用于斷言操作

包控制關鍵字

import 用于将包或者類導入到程式中

package 用于定義包

資料類型關鍵字

boolean、char、byte、short、int、long、float、double

float f1 = 123.23456f;//浮點會保留兩位小數

double d1 = 123.23456; 是雙精度數字

特殊類型和方法關鍵字

super 引用父類

this 作用于目前類對象

void 定義一般的方法

保留的關鍵字

go、const

3) 注釋

單行注釋

多行注釋

文檔注釋

4)資料類型(基本、引用)

基本資料類型(四類八中)

數值型 位數

位元組型 byte 8

短整型 short 16

整型 int 32

長整型 long 64

字元型

char 基本字元

Unicode碼表示字元 格式:\uxxxx

unicode碼中定義了至今人類語言的所有字元集,Unicode編碼字元用16進制數值表示,既有 2^16 個可能值,也就是0-65535

轉義字元

\' 但引号 \"雙引号 \\ 斜杠 \r 回車

\n 換行 \f 換頁 \t 跳格\b 倒退

浮點型 float、double

float 單精度浮點數 float f1 = 123.123f;

double 雙精度浮點數

布爾型 boolean

true、false

進制數值

八進制 定義:int a8 = 012; //定義一個八進制數值,以0開頭 範圍0-7

十六進制 定義: int a16 = 0xcafe;//定義十六進制數值,以0x開頭 範圍0-9,

A(10)、B(11)、C(12)、D(13)、E(14)、F(15),不區分大小寫

資料類型間的轉換

自動轉換

轉換前的資料類型的位數,要低于轉換後的資料類型。 位數低的類型可以自動轉換成位數高的類型。

short - int - long - double

16位數的short可以自動轉換成 32位數的int. 32位數的float 可以自動轉換成double

long 可以轉換成 double 類型,但是一定要在後面加上小數位

強制轉換

從高位到低位 字元類型是可以自動轉換為數值類型的,相反數值類型也可以強制轉換為字元類型的。

隐含轉換

byte b = 123;// 123 是數值預設為int類型,隐含強制轉換成byte類型

5)常量

定義:使用final關鍵字

6)變量

變量的作用域和生存期

變量的資料類型

自動類型轉換、強制類型轉換

7)運算符

算術運算符

+ 加法運算符

- 減法運算符

+ 、- 也可以作為正數和負數的字首。 同時 + 可以用于字元串連接配接操作。

* 乘法運算符

/ 除法運算符

% 求餘運算符

求餘 和 除法 運算符 第二位不能為0,否則程式異常 java.lang.ArithmeticException

自增自減運算符

++ 自增

-- 自減

字首方式:先進行自增或自減運算,再進行表達式運算

字尾方式,先進行表達式運算,後進行自增自減運算。

注意:使用自增自減運算符的時候,并不會進行類型的提升,操作前數值是什麼類型,操作後的數值就是什麼類型。

關系運算符

== 等于

!= 不等于

>= 大于等于

<= 小于等于

> 大于

< 小于

批注:關系運算符比較的是基本資料類型時,表示比較的值是否相等;

用 == 或 != 比較的是對象或者引用資料類型是,表示比較的對象的引用是否相等。

邏輯運算符

& 與 兩邊都為true,則為true, 否則為false

&& 短路與 兩邊都為true,則為true. 如果第一個為flase,則為false,不繼續比較

| 或 兩邊都為false,則為false,否則為true

|| 短路或 兩邊都為false,則為false,如果第一個為true,則為true,不繼續比較

! 非運算符

批注:比較的是二進制數的邏輯關系,運算結果為true\false;

&& 符号兩邊都為true , 結果為true; 有一邊為false,結果為false

|| 符号兩邊都為false ,結果為false;有一邊為true,結果為true

三元運算符

表達式1:表達式2 ? 表達式3

批注:對三個表達式集中比較,表達式1為true,取第二個表達式,否則取第三個表達式

位運算符

概述:在計算機中,所有的整數都是通過二進制進行儲存的,由一串0或者1組成。每個數字占一個比特位。

位運算符就是對資料的比特位進行操作,隻能由于整數類型。

& 與 : 如果對應位都是1,則結果為1,否則為0. 如: x & y

| 或 :如果對應位都是0,則結果為0,否則為1. 如: x | y

^ 異或:如果對應值相同,則結果為0 ,否則為1. 如: x^y

~ 非:把操作數的每一位都去反

批注:将操作數轉換為二進制,然後按位比較

位移運算符

<< 帶符号右移 ,需保證正負不變。 如 7>>1 = 3 ,右移相當于 除以2,如果是奇數則是-1後除以2

<< 帶符号左移 ,不足用0補齊。 6<<1 = 12 左移相當于 乘以2

>>> 無符号右移 ,移動後首位是0,正數,即可以把負數移位後轉成正數

例如:-8 >>>1 = 2147483644

批注:和邏輯運算符一樣,對表達式進行比較。

先将比較的操作數轉出成二進制數,然後向右向左移動相應的位數。

指派運算符

= 一般指派運算符 如: int n = 3; //把數值3指派給整型的變量n

+=、-=、*= 運算指派運算符 先運算,再指派

運算符的優先級

三、流程控制語句

1)複合語句

2)條件語句

if-else

switch-case-default

break 不能省略,否則無法跳出循環

3)循環語句

while

do-while

for

for(初始化;條件;疊代運算){ 循環體 }

for(int i=0;true;i++) //循環條件一直為true

for(;true;) //沒有起始條件

for(;;) //沒有任何條件的死循環

4)跳轉語句

break 跳出

用法1:跳出循環;當循環嵌套時,跳出目前的循環;

用法2:跳出語句塊。 用于循環嵌套時跳出外循環。

continue 繼續

用法:雖然break可以跳出循環,但是有時候要停止一次循環剩餘的部分,同時還要繼續執行下次循環,這時候就需要continue

return 傳回

實戰經典:

1)99乘法表

2)螺旋矩陣

四、字元串

五、數組

1)建立

int [] array1 = new int[5]; //注意:數組的小标是從0開始, 最後一個索引是數組的長度-1

int a = array1[1]; //通過小标擷取元素

java.lang.ArrayIndexOutOfBoundsException:5 數組下标越界異常

在建立數組的時候 數組元素會獲得一個預設值。

指派: array1[0] = 1;

2)初始化

int [] arr = {1,2,3,4,5};//建立的時候初始化

3)length 執行個體變量

java中的數組是一個對象,它會有自己的執行個體變量。 數組隻有一個公共執行個體變量:length 指數組的長度

4)main方法接受 使用者輸入的參數

5)數組拷貝

array1=array2; array2[0]=10; //我們會發現,兩個數組的值都改變了。 顯然,這樣的拷貝方法不合适

System.arraycopy(fromArray,fromIndex,toArray,toIndex,llength); //目标數組必須有足夠多的空間,否則會抛出異常。

實戰:

建立兩個數組把數組1的全部元素拷貝到數組2的尾部

6)數組排序

選擇排序 --- 典型的交換排序算法

概念:對一個長度n的數組進行n次辦理,第一次周遊選出最大或者最小的元素,将之與數組的第一個元素交換;

第二次周遊,再從剩餘的元素中選出最大(或者最小)的元素,将之與數組的第二個元素互動。

這樣周遊n次後,得到的就為降序或者升序 的數組。

批注:選擇排序的效率比較低,但原理簡單,實作起來比較容易

冒泡排序

快速排序

六、類和對象

七、包裝類

基本資料類型包裝類:Integer、Boolean、Byte、Character、Double、Number

八、數字處理類

0) 數字格式化

1)數學運算

Math

常用數學運算方法

2)随機數

Math.random()

Random類

3)大數字運算

BigInteger

BigDecimal

九、接口、繼承、多态

十、類的進階特性 内部類

十一、異常處理 異常、斷言、日志、調試

十二、集合類

十三、IO流

十四、反射、枚舉、泛型

十五、多線程

十六、網絡通信

十七、資料庫操作

十八、JDK 7的改進

附錄:

java基礎知識總結_java基礎知識總結
java基礎知識總結_java基礎知識總結
java基礎知識總結_java基礎知識總結
java基礎知識總結_java基礎知識總結
java基礎知識總結_java基礎知識總結

繼續閱讀