java基礎(chǔ)知識文檔_第1頁
java基礎(chǔ)知識文檔_第2頁
java基礎(chǔ)知識文檔_第3頁
java基礎(chǔ)知識文檔_第4頁
java基礎(chǔ)知識文檔_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

目錄

Java基礎(chǔ)........................................................................4

1.1Java安裝................................................................4

1.下載JDK............................................................................................................................4

2.配置環(huán)境變量.........................................................4

3.驗證Java安裝成功....................................................5

2.1下載java編輯器..........................................................5

1.下載eclipse.......................................................................................................................5

3.1變量和數(shù)據(jù)類型..........................................................5

1.整型................................................................5

2.浮點型...............................................................5

3.boolean值............................................................6

4.char類型.............................................................6

5.變量................................................................6

6.變量的命名規(guī)則......................................................6

7.運算符..............................................................7

4.1基礎(chǔ)語法................................................................9

1.基礎(chǔ)語法…if語句.....................................................9

2.基礎(chǔ)語法--switch語句.................................................10

3.基礎(chǔ)語法一wh加循環(huán).................................................11

4.基礎(chǔ)語法-while循環(huán).............................................12

5.基礎(chǔ)語法—for循環(huán)....................................................12

6.基礎(chǔ)語法--增強for循環(huán)...............................................13

7.break關(guān)鍵字........................................................13

8.continue關(guān)鍵字.....................................................13

5.1數(shù)組...................................................................14

1.聲明數(shù)組變量........................................................14

2.創(chuàng)建數(shù)組............................................................14

3.數(shù)組的最大值........................................................14

4.冒泡排序...........................................................15

5.多維數(shù)組............................................................15

6.嵌套循環(huán)............................................................16

7.九九乘法表.........................................................16

6.1類和對象...............................................................16

1.創(chuàng)建一個類.........................................................16

2.類方法中有返回值就無void,沒有void就有返回值.....................17

3.方法之間的相互調(diào)用.................................................17

4.成員變量和局部變量.................................................18

5.帶參數(shù)的類.........................................................18

6.實例運用...........................................................19

7.1字符串..................................................................19

1.創(chuàng)建字符串的3中方式...............................................19

2.字符串的比較.......................................................20

3.indexOf(intch,intfromlndex)和intindexOf(intch).......................................................20

4.substring(intbeginlndex)..................................................................................................20

5.trim{).................................................................................................................................21

1

6.concat(Stringstr)拼接...................................................21

7.split(Stringregex)切割...................................................22

S.StringBuffer超級字符串本身可以修改....................................22

8.1值傳遞或引用傳遞........................................................23

9.1構(gòu)造與重載...............................................................24

10.1static靜態(tài).............................................................24

1.靜態(tài)變量............................................................24

2.靜態(tài)方法............................................................25

3.靜態(tài)代碼塊.........................................................25

11.1封裝...................................................................26

12.1方法的重寫.............................................................27

13.1繼承...................................................................28

14.1抽象類和抽象方法......................................................29

1.抽象類和抽象方法abstract.........................................................................................29

2.final關(guān)鍵字..........................................................30

15.1多態(tài)...................................................................31

16.1接口...................................................................33

17.1內(nèi)部函數(shù)................................................................34

18.1異常機制..............................................................38

1.捕獲異常...........................................................38

2.多重捕獲塊.........................................................39

3.throws/throw關(guān)鍵字:..............................................40

4.finally關(guān)鍵字........................................................40

19.110流...................................................................41

1.標準輸入流和標準輸出流.............................................41

2.文本的寫入Writer......................................................................................................42

3.文本的寫入BufferedWriter.......................................................................................42

4.文本的讀出BufferedReader........................................................................................42

5.寫入二進制文本......................................................43

6.讀出二進制文本.....................................................43

7.文件的復制..........................................................44

&File類...............................................................45

9.文件的壓縮和解壓....................................................47

10.對象的序列化存出磁盤..............................................51

11.10流輸入和輸出....................................................54

20.1.集合.................................................................55

l.Collection接口.......................................................55

2.SortedSet接口.......................................................55

3.List接口............................................................55

4.Map接口............................................................56

5.排序算法sort................................................................................................................57

6.洗牌算法shuffle............................................................................................................57

7.常規(guī)數(shù)據(jù)處理法......................................................57

8.查找算法binarysearch.................................................................................................57

9.Arrays類............................................................57

9.Vector,ArrayList類....................................................57

2

10遍.歷實現(xiàn)Collection接口的集合........................................58

21.1線程.................................................................59

1.概念................................................................59

2.Thread的類.........................................................59

3.Runnable接口.......................................................61

4.數(shù)據(jù)共享運用........................................................62

5.多線程的同步控制....................................................63

6.線程之間的通信......................................................64

7.后臺線程............................................................66

8.線程的生命周期......................................................66

9.線程的優(yōu)先級........................................................66

22.1連接數(shù)據(jù)庫操作.......................................................67

1.JDBC的介紹..........................................................67

2.基本操作步驟........................................................67

3.執(zhí)行帶參數(shù)的sql語句...............................................68

23.1Servlet設(shè)計.............................................................69

l.Servlet基礎(chǔ)知識.......................................................69

2.ServletAPI..........................................................................................................................69

3

Java基礎(chǔ)

1.1Java安裝

1.下載JDK

下載JDK,下載地址:

http:〃/technetwork/java/iavase/downloads/index.html

2.配置環(huán)境變量

配置系統(tǒng)變量

Administrator的用戶變曷(U)

Voj?

逐值

PathC:\Users\Administrator\AppData\Local\Microsoft\WindowsA叩...

TEMPC:\User$\Adminis"ator\AppData\Local\Temp

TMPC:\Users\Administrator\AppData\Local\Temp

Wii

新建系統(tǒng)受量X

逐名(N):JAVA_HOME

^5(V):

艘目錄(D)…淞§文件舊…確定取^

NUMBEROFPROCESSORS8

配置環(huán)境變量

Xdrr捐輯環(huán)境變量:

li

新建

PaC:\ProgramData\Oracle\Java\javapath(N)

TEC:\Python37\Scripts\

ThC:\Python3A編精(E)

%SystemRoot%\system32

%SystemRoot%|瀏覽⑻…

%SystemRoot%\System32\Wbem1-------------------

%SYSTEMROOT%\System32\WindowsPowerShelKv1.0\刪除①)

%SYSTEMROOT%\System32\OpenSSH\

C:\Python2A

C:\Python2AScripts

C:\ProgramFiles\Java\jdk1.8.0131\bin

戾統(tǒng)

下移(0)

Cc

Dr輻訃⑴…

JA

4

3.驗證Java安裝成功

運行cmd,進入命令行模式輸入javac,回車出現(xiàn)相關(guān)用法表示安裝成功

2.1下載java編輯器

1.下載eclipse

F載地址:https://www.eclipse,org/downloads/

3.1變量和數(shù)據(jù)類型

L整型

(1)byte

byte數(shù)據(jù)類型是8位、有符號的,以二進制補碼表示的整數(shù);

最小值是-128(-2A7);

最大值是127(2人7-1);

默認值是0,表示的為3位數(shù)以內(nèi)的整數(shù);

byte類型用在大型數(shù)組中節(jié)約空間,主要代替整數(shù),因為byte變量占用的空間只有

int類型的四分之一;

(2)short

short數(shù)據(jù)類型是16位、有符號的以二進制補碼表示的整數(shù)

最小值是-32768(-2A15);

最大值是32767(2A15-1);

Short數(shù)據(jù)類型也可以像byte那樣節(jié)省空間。一個short變量是int型變量所占空間的

二分之一;

默認值是0;

(3)int

int數(shù)據(jù)類型是32位、有符號的以二進制補碼表示的整數(shù);

最小值是-2,147,483,648(2、31);

最大值是2,147,483,647(2A31-1);

一般地整型變量默認為int類型;但int類型的表示十進制值的范圍在20億以內(nèi),故

大于這個范圍的,必須用long型,否則沒有必要。

默認值是0;

(4)long

long數(shù)據(jù)類型是64位、有符號的以二進制補碼表示的整數(shù);

最小值是-9,223,372,036,854,775,808(-2A63);

最大值是9,223,372,036,854,775,807(2A63-1);

這種類型主要使用在需要比較大整數(shù)的系統(tǒng)上;

默認值是0L;

例子:longa=100000L,Longb=-200000L.)

2.浮點型

(1)float單精度

float數(shù)據(jù)類型是單精度、32位、符合IEEE754標準的浮點數(shù);

float在儲存大型浮點數(shù)組的時候可節(jié)省內(nèi)存空間;

默認值是0.0f:

浮點數(shù)不能用來表示精確的值,如貨幣;

例子:floatfl=234.5fo

5

(2)double雙精度

double數(shù)據(jù)類型是雙精度、64位、符合IEEE754標準的浮點數(shù);

浮點數(shù)的默認類型為double類型;

double類型同樣不能表示精確的值,如貨幣;

默認值是O.Od;

例子:doubledl=123.4。

3.boolean值

boolean數(shù)據(jù)類型表示一位的信息;

只有兩個取值:true和false;

4.char類型

char類型是一個單一的16位Unicode字符:

最小值是\u0000(即為0);

最大值是\uffff(即為65,535);

char數(shù)據(jù)類型可以儲存任何字符;

例子:charletter='A';。

5.變量

先聲明,在賦值

例:

packagetest;

publicclassvariable{

publicstaticvoidmain(String[]args){

inta;〃先聲明變量類型

a=12;〃然后賦值

System.out.printIn(a);

}

)

6.變量的命名規(guī)則

(i)變量定義

變量實質(zhì)上是儲存在內(nèi)存中的信.創(chuàng)建變量時會在內(nèi)存中開辟一個空間,變量是一個可

以重復使用的量

(2)變量的命名規(guī)范

首字母只能以字母,或者'$’開頭,其他部位任意字符

不能用數(shù)字開頭

4teacherX

teacher4V

區(qū)分大小寫

Teacher

teacher

不能使用系統(tǒng)關(guān)鍵字

不推薦使用下劃線開頭,下劃線開頭有特殊意義

推薦的命名方式

使用具有固定含義的單詞:teacher,student,computer

駝峰命名法:

6

大駝峰:每個單詞首字母都要大寫,F(xiàn)irstStudent,FirstName

小駝峰:從第二個單詞開始,每個單次首字母大寫,

fifirstStudent

使用下劃線連接:fifirst_student

7.運算符

(1)賦值運算符

語法:變量=表達式

例;

packagetest;

publicclassvariable{

publicstaticvoidmain(String[]args){

Stringa="第一個數(shù)”;〃賦值運算符

System.out.printIn(a);

}

}

(2)算術(shù)運算符

加減乘除,取余

例:

packagetest;

publicclassvariable{

publicstaticvoidmain(String[]args){

intworkday=122;

intweek=7;

System.out.println(workday/week);

System.out.println(workday+week);

System.out.println(workday-week);

System.out.printIn(workday*week);

System.out.println(workday%week);

}

)

(3)常用的比較運算符

比較運算符用于判斷兩個數(shù)據(jù)的大小,例如:大于、等于、不等于。比較的結(jié)果是一個

布爾值(true或false)

1、>、<、>=、<二只支持左右兩邊操作數(shù)是數(shù)值類型

2、==、|=兩邊的操作數(shù)既可以是數(shù)值類型,也可以是引用類型

例:

packagetest;

publicclassvariable{

publicstaticvoidmain(String[]args){

inta=122;

intb=7;

Stringc="qwe";〃java字符串必須使用雙引號,pyhton可以是單引號

Stringd="ewq

System.out.println(a>+b);

System.out.printin(a<+b);

7

System.out.printin(a>b);

System.out.printin(a<b);

System.out.println(c==d);

System.out.printin(c!=d);

}

)

(4)邏輯運算符

運算符用法含義說附實例結(jié)果

&&a&&b短路與ab全為true時,計算結(jié)果為true,否則為false.2>1&&3<4true

a||b短路或ab全為false時,計算結(jié)果為false,否則為true,2<1||3>4false

!!d邏輯非a為true時,值為fabe,a為fdbe時,值為true!(2>4)true

|a|b邏輯或ab全為false時,計算結(jié)果為false,否則為true1>2|3>5false

&a&b邏輯與ab全為false時,計算結(jié)果為false,否則為true1<2&3<5true

例:

packagetest;

publicclassvariable{

publicstaticvoidmain(String[]args){

Stringcolor="yellow";

Stringpeople_name="tan";

intage=28;

booleanb=color=="yellow"&&people_name=="tan"&&age>=28;

System.out.println(b);

}

)

(5)三目(三元)運算符

語法;布爾表達式?值1:值2

例:

packagetest;

publicclasstestl{

publicstaticvoidmain(String[]args){

inta=2;

intb=3;

intc=a>b?a:b;

System.out.println(c);

}

)

8

4.1基礎(chǔ)語法

L基礎(chǔ)語法…if語句

(1)If...else語法

if(布爾表達式){

〃如果布爾表達式的值為true

}else{

〃如果布爾表達式的值為false

)

例;

packagetest;

importjava.util.Scanner;

publicclasstestl{

publicstaticvoidmain(String[]args){

System.out.printing請輸入:”);

Scannerinput=newSeamer(System,in);

Intjava=input.nextlnt();

if(java>100){

System.out.printing您輸入為:"+java);

}else{System.out.printli("請重新");}

}

)

(2)If...elseif...else語法

if(布爾表達式1){

〃如果布爾表達式1的值為true執(zhí)行代碼

}elseif(布爾表達式2){

〃如果布爾表達式2的值為true執(zhí)行代碼

}elseif(布爾表達式3){

〃如果布爾表達式3的值為true執(zhí)行代碼

}else{

〃如果以上布爾表達式都不為true執(zhí)行代碼

}

例:

packagetest;

importjava.util.Scanner;

publicclasstestl{

publicstaticvoidmain(String[]args){

System.out.printin("請輸入:");

Scannerinput=newScamer(System.in);

intjava=input.nextlnt();

if(java>100){

System.out.printing您輸入為:"+java);

}elseif(java==100){

System.out.printIn("請重需');

}elseif(java>=80){

System.out.println("你好菜");

9

}else{

System.out.printIn("你最菜");

}

}

)

2.基礎(chǔ)語法-switch語句

語法:switch(expression){

casevalue:

〃語句

break;〃可選

casevalue:

〃語句

break;〃可選

〃你可以有任意數(shù)量的case語句

default:〃可選

〃語句

)

例1:

packagetest;

importjava.util.Scanner;

publicclasstestl{

publicstaticvoidmain(String[]args){

System.out.printIn("請輸入:");

@SuppressWarnings("resource")

Scannerinput=newScanner(System.in);

intjava=input.nextlnt();

switch(java){

case1:

System.out.printIn(“第一天");

break;〃擋板,防止case擊穿

case2:

System.out.printIn("第二天");

break;

default:

System.out.println("第三天”);

}

}

)

例2:

packagetest;

classtest_l{

inti;

test_l(inta){

i=a;

}

publicintsys(){

returni;

}

10

)

publicclassswitch_l{

publicstatictest_l[]testl(){

test_l[]b=newtest_l[4]]

for(inti=0;i<b.length;i++){

intn=(int)Math.random()*3;

//b[i]=newtest_l(n);

switch(n){

case0:

b[i]=newtest_l(l);

break;

case1:

b[i]=newtest_l(2);

break;

case2:

b[i]=newtest_l(3);

break;

case3:

b[i]=newtest_l(4);

}

)

System.out.printIn(b[0].sys());

returnb;

}

publicstaticvoidmain(String[]args){

test_l[]a;

a=testl();

test_ld=newtest_l(l);

System.out.println(d.sys());

//System.out.printin(a[0].sys());

for(test_lc:a){

System.out.println(c.sys());

}

}

3.基礎(chǔ)語法-while循環(huán)

語法whilef布爾表達式){

〃循環(huán)內(nèi)容

)

例:

packagetest;

importjava.util.Scanner;

publicclasstestl{

publicstaticvoidmain(String[]args){

11

Scannerinput=newScanner(System.in);

System.out.printin(“請輸入:”);

inti=input.nextlnt();

while(i<20){

System.out.printin("這個是:"+i);

i++;

)

}

)

4.基礎(chǔ)語法--do.??while循環(huán)

語法do{

〃代碼語句

}while(布爾表達式);

對于while語句而言,如果不滿足條件,則不能進入循環(huán)。但有時候我們需要即使不

滿足條件,也至少執(zhí)行一次,do...while循環(huán)和while循環(huán)相似,不同的是,do...while循環(huán)

至少會執(zhí)行一次。

例:

packagetest;

importjava.util.Scanner;

publicclasstestl{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.printing請輸入:”);

inti=input.nextlnt();

do{

System.out.printin("這個是:"+i);

i++;

}while(i<10);

}

)

5.基礎(chǔ)語法-for循環(huán)

語法for(初始化;布爾表達式;更新){

〃代碼語句

)

關(guān)于for循環(huán)有以下幾點說明:

最先執(zhí)行初始化步驟。可以聲明一種類型,但可初始化一個或多個循環(huán)控制變量,也可以是

空語句。

然后,檢測布爾表達式的值。如果為true,循環(huán)體被執(zhí)行。如果為false,循環(huán)終止,開始

執(zhí)行循環(huán)體后面的語句。

執(zhí)行一次循環(huán)后,更新循環(huán)控制變量。

再次檢測布爾表達式。循環(huán)執(zhí)行上面的過程。

例:

packagetest;

importjava.util.Scanner;

publicclasstestl{

12

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.printin("請輸入:");

inti=input.nextlnt();

for(inta=i;a<10;a+=l){

System.out.println("你好菜");

)

}

)

6.基礎(chǔ)語法-增強for循環(huán)

語法for(聲明語句:表達式)

{

〃代碼句子

}

聲明語句:聲明新的局部變量,該變量的類型必須和數(shù)組元素的類型匹配。其作用域限定在

循環(huán)語句塊,其值與此時數(shù)組元素的值相等。

表達式:表達式是要訪問的數(shù)組名,或者是返回值為數(shù)組的方法。

例:

publicclassTest{

publicstaticvoidmain(Stringargs[]){

int[]numbers={10,20,30,40,50);

for(intx:numbers){

System.out.print(x);

System.out.print('7,);

)

System.out.print("\n");

String[]names={"James"z"Larry","Tom","Lacy"};

for(Stringname:names){

System.out.print(name);

System.out.printC'/');

)

7.break關(guān)鍵字

break主要用在循環(huán)語句或者switch語句中,用來跳出整個語句塊。

break跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語句。

語法

break的用法很簡單,就是循環(huán)結(jié)構(gòu)中的一條語句:

break;

8.continue關(guān)鍵字

continue適用于任何循環(huán)控制結(jié)構(gòu)中。作用是讓程序立刻跳轉(zhuǎn)到下一次循環(huán)的迭代。

在for循環(huán)中,continue語句使程序立即跳轉(zhuǎn)到更新語句。

在while或者do-while循環(huán)中,程序立即跳轉(zhuǎn)到布爾表達式的判斷語句。

語法

13

continue就是循環(huán)體中一條簡單的語句:

continue;

例:

publicclassTest{

publicstaticvoidmain(Stringargs[]){

int[]numbers={10,20,30,40,50);

for(intx:numbers){

if(x==30){

continue;

}

System.out.printfx);

System.out.print("\n");

)

}

}

5.1數(shù)組

1.聲明數(shù)組變量

首先必須聲明數(shù)組變量,才能在程序中使用數(shù)組。下面是聲明數(shù)組變量的語法:

dataType[]arrayRefVar;//首選的方法或dataTypearrayRefVar[];//效果

相同,但不是首選方法

2.創(chuàng)建數(shù)組

arrayRefVar=newdataType[arraySize];

例:

packagetest;

publicclassam{

publicstaticvoidmain(String[]args){

int[]am={1,4,5,6};

Stringarrl[]=newString[3];

arrl[0]="l";

arrl[l]="rt";

arrl[2]="79";

for(inti=0;i<arr.length;i++){

System.out.print(arr[i]);

)

}

)

3.數(shù)組的最大值

例:

packagetest;

publicclassarr{

publicstaticvoidmain(String[]args){

int[]arr={1,4,5,6};

Stringarrl[]=newString[3];

arrl[0]="l";

14

arrl[l]="rt";

arrl[2]="79";

for(inti=0;i<arr.length;i++){

System,out.print(am[i]);

)

System.out,println("\t");

intmax=arr[0];

for(inti=0;i<arr.length;i++){

if(arr[i]>max){

max=arr[i];

}

)

System?out.printin(max);

}

}

4.冒泡排序

packagetest;

publicclassarr(

publicstaticvoidmain(String[]args){

int[]am=newint[5];

arr[0]=2;

arr[l]=27;

arr[2]=9;

arr[3]=52;

arr[4]=7;

for(inti=0;i<arr.length;i++){

for(intj=i;j<arr.length;j++){

if(arr[i]>arr[j]){

inttemp;

temp=arr[j];

arr[j]=arr[i];

arr[i]=temp;

}

}

}

for(inti=0;i<arr.length;i++){

System.out.printin(arr[i]);

)

}

}

5.多維數(shù)組

多維數(shù)組可以看成是數(shù)組的數(shù)組,比如二維數(shù)組就是一個特殊的一維數(shù)組,其每一個元

素都是一個一維數(shù)組。

例:

packagetest;

publicclassam{

publicstaticvoidmain(String[]args){

intarr[][]=newint[2][3];

arr[0][0]=2;

15

arr[0][1]=3;

arr[l][0]=1;

arr[l][l]=1;

arr[l][2]=1;

for(inti=0;i<arr.length;i++){

for(intj=0;j<arr[i].length;j++){

System.out.println(arr[i][j]);

}

)

}

}

6.嵌套循環(huán)

例:

packagetest;

publicclassarr{

publicstaticvoidmain(String[]args){

for(inti=1;i<=7;i++){

for(intj=7;j>i;j--){

System.out.print("#");

}

for(intj=l;j<2*i-3;j++){

System.out.print("*");

}

System.out.println("");

)

}

)

7.九九乘法表

例:

packagetest;

publicclassarr(

publicstaticvoidmain(String[]args){

for(inti=l;i<10;i++){

for(intj=l;j<=i;j++){

System.out.print(j+"*"+i+"="+j*i+"\tM);

}

System.out.println();

)

)

}

6.1類和對象

L創(chuàng)建一個類

例;

packagetest;

16

publicclassarr{

Stringname;

intage;

publicvoideat(){

System,out.printin(nmme+"正在吃");

}

)

packagetest;

publicclasstestl{

publicstat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論