《Java程序設(shè)計(jì)》課件-javacp2Java程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
《Java程序設(shè)計(jì)》課件-javacp2Java程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
《Java程序設(shè)計(jì)》課件-javacp2Java程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
《Java程序設(shè)計(jì)》課件-javacp2Java程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
《Java程序設(shè)計(jì)》課件-javacp2Java程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章

Java程序設(shè)計(jì)基礎(chǔ)

Java程序設(shè)計(jì)本章主要內(nèi)容

2.1Java基本語(yǔ)法12.2數(shù)據(jù)類型22.3常量和變量32.4運(yùn)算符與表達(dá)式42.5常用類和方法52§2.1Java基本語(yǔ)法標(biāo)識(shí)符在Java中,能夠標(biāo)識(shí)程序中各種元素惟一性和存在性的名稱為標(biāo)識(shí)符。

保留字

Java語(yǔ)言中有一些特殊的字符組合,它們由系統(tǒng)預(yù)先定義,用來(lái)表示語(yǔ)句的功能或元素的類型等特定的含義,這類字符的組合稱為保留字,也叫關(guān)鍵字。2024/12/24李飛——計(jì)算中心3/35標(biāo)識(shí)符的命名規(guī)則1.Java標(biāo)識(shí)符可由數(shù)字、字母、下劃線(_)、美元符號(hào)($)和人民幣符號(hào)(¥)組成,可以是單詞、詞組或縮寫等,長(zhǎng)度不限。2.在Java中是區(qū)分大小寫的,而且首位不能是數(shù)字。3.Java保留字不能作為用戶定義的Java標(biāo)識(shí)符。4.標(biāo)識(shí)符的命名最好能反映出其作用,做到見(jiàn)名知意。4舉例合法的標(biāo)識(shí)符myNameMy_namePoints$points_sys_taOK_23b_3_非法的標(biāo)識(shí)符#name25nameClass&timeif5標(biāo)識(shí)符的書(shū)寫約定變量名??纱笮懟鞂?,首字符小寫,字間分隔符用字的首字母大寫。不用下劃線,少用美元符號(hào)。例如,zhang,zhang3,myDate等。常量名?;緮?shù)據(jù)類型的常量名使用全部大寫字母,字與字之間用下劃線分隔。對(duì)象常量可大小混寫。例如,YEAR、SIZE_NAME、PI等。6標(biāo)識(shí)符的書(shū)寫約定包名。包名全部小寫,連續(xù)的單詞只是簡(jiǎn)單地連接起來(lái),不使用下劃線。例如,hello、chair、redapple等。源文件名。源文件名必須和公有類名相同,如果文件名和類名不相同則會(huì)導(dǎo)致編譯錯(cuò)誤。尤其要注意的是Java是大小寫敏感的。文件名的后綴為.java。7Java的保留字8abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnstrictfpshortstaticsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile語(yǔ)句的書(shū)寫規(guī)則

每個(gè)Java語(yǔ)句以“;”結(jié)束。Java語(yǔ)句間的組成格式自由,語(yǔ)句可以從一行內(nèi)任何位置開(kāi)始

可以一個(gè)語(yǔ)句占多行,也可以一行中有多個(gè)語(yǔ)句。9語(yǔ)句的分類1.方法調(diào)用語(yǔ)句。如:System.out.println("Hello");2.表達(dá)式語(yǔ)句。由一個(gè)表達(dá)式構(gòu)成一個(gè)語(yǔ)句。如:x=23;3.復(fù)合語(yǔ)句。用“{}”把若干語(yǔ)句括起來(lái)可構(gòu)成復(fù)合語(yǔ)句。復(fù)合語(yǔ)句也被稱為語(yǔ)句塊或代碼塊。每個(gè)復(fù)合語(yǔ)句可以看成是一個(gè)語(yǔ)句,可以用在允許使用單一語(yǔ)句的任何地方。10語(yǔ)句的分類4.流程控制語(yǔ)句。用來(lái)控制程序的執(zhí)行過(guò)程的語(yǔ)句。如空語(yǔ)句、注釋語(yǔ)句等。如:5.其他語(yǔ)句。主要包括常量、變量、對(duì)象、類和包等的定義語(yǔ)句和一些具有特殊功能的語(yǔ)句。例例11ifa>3b=1;elseb=0;inta,b;;//說(shuō)明文字空白、注釋與分隔符空白換行符及回車鍵、空格鍵、水平定位鍵(tab)都是空白。Java程序的元素之間可插入任意數(shù)量的空白,編譯器將忽略掉多余的空白程序中除了加入適當(dāng)?shù)目瞻淄?,還應(yīng)使用縮進(jìn)格式,使得同一層語(yǔ)句的起始列位置相同12空白、注釋與分隔符——注釋

單行注釋。單行注釋內(nèi)容以雙斜線“//”引導(dǎo),表示此行是注釋行,“//”后面的內(nèi)容為注釋。單行注釋通常放在被注釋的語(yǔ)句的上一行或語(yǔ)句的后部,用于常量、變量和語(yǔ)句的說(shuō)明。

多行注釋。多行注釋以“/*”開(kāi)頭以“*/”結(jié)束,中間可以插入多行說(shuō)明文字。多行注釋可用于對(duì)一段(多行)程序代碼進(jìn)行注釋。主要用于對(duì)算法和方法的說(shuō)明。

文檔注釋。以“/**”開(kāi)始,以“*/”結(jié)束,中間可以插入多行說(shuō)明文字。用于一段程序代碼的注釋,主要用在類、方法的定義代碼前面,用來(lái)說(shuō)明類或方法的功能和使用方法。格式//注釋內(nèi)容/*多行

注釋

內(nèi)容*//**文檔

注釋

內(nèi)容*/13分隔符分號(hào);花括號(hào){}方括號(hào)[]圓括號(hào)()空格圓點(diǎn).逗號(hào),冒號(hào):語(yǔ)句結(jié)束符。復(fù)合語(yǔ)句的邊界,用于定義代碼塊用于定義數(shù)組元素的下標(biāo)方法的參數(shù)聲明或運(yùn)算符無(wú)功能,僅用于使程序美觀表示從屬關(guān)系,表明類或?qū)嵗龑?duì)象的指定成員。用于分隔變量說(shuō)明的各個(gè)變量和方法的各個(gè)參數(shù)用于分隔標(biāo)號(hào)和語(yǔ)句。14注意:Java語(yǔ)句可以跨越多行書(shū)寫,但字符串和變量名不能跨越多行。程序結(jié)構(gòu)與編程習(xí)慣Java項(xiàng)目的結(jié)構(gòu)Java中常見(jiàn)的文件.Jar:Java包文件.java:源代碼文件.class:字節(jié)碼文件.ser:對(duì)象狀態(tài)序列化文件2024/12/24李飛——計(jì)算中心15/35Java源程序的基本結(jié)構(gòu)0個(gè)或1個(gè)包聲明語(yǔ)句(PackageStatement)package包名;//必須放在第一行0個(gè)或多個(gè)包引入語(yǔ)句(ImportStatement)import包名;//可有多個(gè)0個(gè)或多個(gè)類聲明語(yǔ)句(ClassDeclaration)Class類名{}

//可有多個(gè),但只能有一個(gè)公有的0個(gè)或多個(gè)接口聲明(InterfaceDeclaration)Interface接口名{}//可以有多個(gè)。2024/12/24李飛——計(jì)算中心16/35Java的編程習(xí)慣注意縮進(jìn)縮進(jìn)就是在語(yǔ)句前加一些空格,以突出語(yǔ)句的層次感。注意注釋好的程序注釋習(xí)慣可以通過(guò)不同級(jí)別的注釋,方便程序員了解變量、語(yǔ)句和程序的功能,同時(shí)方便程序的在開(kāi)發(fā)和修改。注意使用包把有關(guān)聯(lián)的程序放在同一個(gè)包中,可以方便程序的訪問(wèn)和閱讀。2024/12/24李飛——計(jì)算中心17/35§2.2Java的數(shù)據(jù)類型18數(shù)據(jù)類型基本數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型類類型布爾類型:boolean數(shù)組接口類型:interface字符類型:char數(shù)值類型浮點(diǎn)數(shù)類型:float,double整數(shù)類型:byte,short,int,longJava的基本數(shù)據(jù)類型基本數(shù)值類數(shù)據(jù)類型的表示不同進(jìn)制的表示方法31——十進(jìn)制表示037——八進(jìn)制表示,首位0表示這是一個(gè)八進(jìn)制數(shù)。0x001f——十六進(jìn)制表示,首位0x代表十六進(jìn)制數(shù)長(zhǎng)整型表示可以在數(shù)值后加“L”或“l(fā)”定義。31L,037L或0x001fL??茖W(xué)記數(shù)法表示314.1563.14156E2或3.14156e2。19Java的基本數(shù)據(jù)類型非數(shù)值型數(shù)據(jù)字符型數(shù)據(jù)‘a(chǎn)’——英文字符‘張’——中文字符‘\n’——轉(zhuǎn)義字符回車換行?!甛u????’——一個(gè)特殊的Unicode字符,????為4位16進(jìn)制數(shù),轉(zhuǎn)義字符在Java中允許使用一些字符通過(guò)’\’轉(zhuǎn)變?yōu)榱硪环N含義,這種字符稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符一般通過(guò)鍵盤不方便輸入如回車和換行等。20Java的基本數(shù)據(jù)類型21表2.3Java的常用轉(zhuǎn)義字符轉(zhuǎn)義字符描述\ddd八進(jìn)制數(shù)表示的ASCII子符\uxxxx16進(jìn)制數(shù)表示的Unicode字符\’單引號(hào)\”雙引號(hào)\\反斜杠\r回車\n換行\(zhòng)f換頁(yè)\b后退一格\t橫向跳格(Tab)將光標(biāo)移到下一個(gè)制表位基本數(shù)據(jù)類型的范圍程序2-5

變量的說(shuō)明和賦值222.3常量和變量常量是指在程序運(yùn)行過(guò)程中數(shù)值不發(fā)生改變的量。final[static]數(shù)據(jù)類型

常量名=常量值變量是指在程序運(yùn)行過(guò)程中,值可以發(fā)生改變的量。23變量的聲明與初始化變量的聲明類型變量名[=初始值][,變量名[=初始值]……];變量的初始化[作用域][數(shù)據(jù)類型]變量名=常量|變量|表達(dá)式;變量的默認(rèn)值Boolean的默認(rèn)值falsechar的默認(rèn)值‘\u0000’Byte,int,short,long,float,double的默認(rèn)值024類型轉(zhuǎn)換各類型所占用的位數(shù)從短到長(zhǎng)依次為: byteshortcharintlongfloatdouble強(qiáng)制轉(zhuǎn)換(目標(biāo)數(shù)據(jù)類型)原數(shù)據(jù)類型的表達(dá)式25表2.4數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換表原數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換的目標(biāo)數(shù)據(jù)類型byteshort,char,int,long,float,doubleshortint,long,float,doublecharint,long,float,doubleintlong,float,doubleFloatdouble類型轉(zhuǎn)換當(dāng)位數(shù)多的類型向位數(shù)少的類型進(jìn)行轉(zhuǎn)換時(shí),需要用戶明確指明,即進(jìn)行強(qiáng)制類型轉(zhuǎn)換一般地,高級(jí)類型(即位數(shù)較多的數(shù)據(jù)類型)轉(zhuǎn)為低級(jí)類型(即位數(shù)較少的數(shù)據(jù)類型)時(shí),截?cái)喔呶粌?nèi)容,因此會(huì)導(dǎo)致精度下降或數(shù)據(jù)溢出26inti=3;byteb=(byte)i;§2.4運(yùn)算符和表達(dá)式賦值運(yùn)算符=,+=,-=,*=,/=,%=,<<=,>>=,>>>=,&=,^=,|=算數(shù)運(yùn)算符+,-,*,/,%,++,--關(guān)系運(yùn)算符>,<,>=,<=,==,!=邏輯運(yùn)算符!,&&,||位運(yùn)算符~,|,&,^,<<,>>,>>>其他運(yùn)算符?:,,,.,[],(),new,instanceof27§2.4運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級(jí)[],.,(參數(shù)),后綴++,后綴--。前綴++,前綴--,+,-,~,!New,(類型)*,/,%+,-<<,>>,>>><,>,<=,>=,instanceof==,!=,&,&,^,^|,|&&||?:賦值28運(yùn)算符結(jié)合性自左至右自右至左自右至左自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自右至左自右至左§2.5常用類和方法如何調(diào)用類中的方法和成員變量靜態(tài)的import包名.類名;類名.方法名(參數(shù)表)類名.類變量名[包名.][類名.]方法名(參數(shù)表)[包名.][類名.]類變量名非靜態(tài)的對(duì)象名.方法名(參數(shù)表)對(duì)象名.成員變量名29類和方法的使用例2.21類方法的調(diào)用2024/12/24李飛——計(jì)算中心30/35importjava.lang.Boolean;publicclasseg2_21{ publicstaticvoidmain(String[]args){ doublea=3.0,b=4.0,c; Stringstr="true"; c=Math.sqrt(a*a+b*b); System.out.println(c); System.out.println(Boolean.valueOf(str)); System.out.println(java.lang.Integer.MAX_VALUE); }}5.0true2147483647數(shù)值計(jì)算相關(guān)方法Java通過(guò)算術(shù)運(yùn)算符支持基本的算術(shù)運(yùn)算。對(duì)于較復(fù)雜的數(shù)學(xué)運(yùn)算,Java平臺(tái)采用類方法的手段來(lái)實(shí)現(xiàn)。在java.lang包中,Java提供了一個(gè)稱為Math的類。通過(guò)Math類,提供了一系列關(guān)于數(shù)學(xué)運(yùn)算的方法來(lái)實(shí)現(xiàn)數(shù)學(xué)運(yùn)算中常用的函數(shù)運(yùn)算功能。Math類還提供了一些數(shù)學(xué)常用的常數(shù)如Math.PI表示數(shù)學(xué)上的圓周率π,Math.E表示自然對(duì)數(shù)的底e。2024/12/24李飛——計(jì)算中心31/35表2.12常用的與數(shù)學(xué)函數(shù)相關(guān)方法方法名參數(shù)類型返回值類型說(shuō)明sin(a)doubledouble求a的三角正弦,a為弧度值。cos(a)doubledouble求a的三角余弦,a為弧度值。tan(a)doubledouble求a的三角正切,a為弧度值。asin(a)doubledouble求a的反正弦,返回的角度在-π/2到π/2之間。acos(a)doubledouble求a的反余弦,返回的角度在0.0到π

之間。atan(a)doubledouble求a的反正切,返回的角度在-π/2到π/2之間。sinh(x)doubledouble求x的雙曲線正弦。cosh(x)doubledouble求x的雙曲線余弦。tanh(x)doubledouble求x的雙曲線正切。toRadians(angdeg)doubledouble將角度angdeg轉(zhuǎn)換為弧度值。toDegrees(angrad)doubledouble將弧度angrad轉(zhuǎn)換為角度值。exp(a)doubledouble求ea。log(a)doubledouble求lna的值。log10(a)doubledouble求以10為底a的對(duì)數(shù)。sqrt(a)doubledouble求a的算數(shù)平方根。cbrt(a)doubledouble求a的立方根。pow(a,b)doubledouble求ab。round(a)floatdoubleint求最接近參數(shù)a的整數(shù),如round(3.5)的值為4,round(-3.5)的值為-3。random()—double求大于等于0.0且小于1.0的偽隨機(jī)數(shù)。abs(a)求a的絕對(duì)值。且返回值和參數(shù)a數(shù)據(jù)類型相同。max(a,b)求a和b中的較大者,且返回值和參數(shù)a數(shù)據(jù)類型相同。min(a,b)求a和b中的較小者,且返回值和參數(shù)a數(shù)據(jù)類型相同。signum(d)返回參數(shù)d的符號(hào),且返回值和參數(shù)a數(shù)據(jù)類型相同。32字符串處理相關(guān)方法相關(guān)的類:java.lang.String類方法:通過(guò)String.方法名(參數(shù));調(diào)用成員方法通過(guò)String對(duì)象.方法名(參數(shù));調(diào)用2024/12/24李飛——計(jì)算中心33/35String類方法表2.14將其他數(shù)據(jù)類型轉(zhuǎn)換為字符串的方法方法功能valueOf(b)返回參數(shù)b的字符串表示形式。valueOf(char[]data,intoffset,intcount)返回char數(shù)組中從第offset開(kāi)始的count個(gè)字符所組成的字符串參數(shù)的字符串表示形式。valueOf(char[]data)返回char數(shù)組參數(shù)的字符串表示形式。34通過(guò)字符串對(duì)象調(diào)用的方法

表2.13通過(guò)字符串對(duì)象調(diào)用的方法方法名功能charAt(intindex)求字符串中第index個(gè)字符compareTo(Stringstr)按字典順序比較str和調(diào)用方法的字符串對(duì)象,如果str等于此字符串,則返回0;如果此字符串小于str,則返回小于0的值;如果此字符串大于str,則返回一個(gè)大于0的值。concat(Stringstr)將str連接到此字符串的結(jié)尾。toLowerCase()把字符串全部轉(zhuǎn)換為小寫字符。toUpperCase()把字符串全部轉(zhuǎn)換為大寫字符。trim()去除字符串的前導(dǎo)空白和尾部空白。toCharArray()將字符串轉(zhuǎn)換為一個(gè)字符數(shù)組。indexOf(Stringstr)求str在字符串中首次出現(xiàn)時(shí)的索引值。isEmpty()判斷字符串是否為空??談t返回true。length()求字符串的長(zhǎng)度。substring(intbeginIndex)求從beginIndex開(kāi)始,到此字符串末尾的子字符串。substring(intbeginIndex,intendIndex)求從beginIndex開(kāi)始,直到endIndex-1的子字符串。35類型轉(zhuǎn)換相關(guān)方法Java通過(guò)一組類來(lái)完成各種基本數(shù)據(jù)類型之間的轉(zhuǎn)換過(guò)。這些類以基本數(shù)據(jù)類型的名稱為類名,所不同的只是類名的首字符大寫,這種類稱為基本數(shù)據(jù)類型的包裝類。2024/12/24李飛——計(jì)算中心36/40常用的包裝類Java.lang.IntegerJava.lang.ByteJava.lang.ShortJava.lang.LongJava.lang.DoubleJava.lang.FloatJava.lang.BooleanJava.lang.Character37常用的數(shù)據(jù)轉(zhuǎn)換方法表2.16常用的數(shù)據(jù)轉(zhuǎn)換方法方法名功能所屬類parseInt(Strings)把字符串轉(zhuǎn)換為整數(shù)。IntegerparseLong(Strings)將字符串轉(zhuǎn)換為十進(jìn)制long型數(shù)據(jù)。LongparseShort(Strings)將字符串轉(zhuǎn)換為十進(jìn)制short型數(shù)據(jù)。ShortparseDouble(Strings)將字符串轉(zhuǎn)換為十進(jìn)制double型數(shù)據(jù)。DoubleparseFloat(Strings)將字符串轉(zhuǎn)換為十進(jìn)制float型數(shù)據(jù)。FloatparseByte(Strings)將字符串轉(zhuǎn)換為十進(jìn)制byte型數(shù)據(jù)。ByteparseBoolean(Strings)將字符串轉(zhuǎn)換boolean型數(shù)據(jù)BooleantoLowerCase(charch)返回參數(shù)的小寫字符CharactertoUpperCase(charch)返回參數(shù)的大寫字符Character38這些方法均為類方法,可用“所屬類名.方法名(參數(shù))”的形式調(diào)用小結(jié)標(biāo)識(shí)符和保留字標(biāo)識(shí)符的命名規(guī)則Java程序結(jié)構(gòu)常量和變量聲明、定義和初始化賦值數(shù)據(jù)類型運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級(jí)與功能表達(dá)式的書(shū)寫方法常用的類String,Math,基本數(shù)據(jù)類型的包裝類2024/12/24李飛——計(jì)算中心39/402024/12/24李飛——計(jì)算中心40/40全國(guó)大學(xué)生信息安全競(jìng)賽參賽指南全國(guó)大學(xué)生信息安全競(jìng)賽參賽指南位運(yùn)算運(yùn)算符功能說(shuō)明~按位取反10,01&按位與1&1=1,1&0=0,0&0=0^按位異或1^1=0^0=0,1^0=1|按位或1|1=1|0=1,0|0=0>>算術(shù)右移在移位中符號(hào)被復(fù)制,8<<2=2<<算數(shù)左移在移位中符號(hào)被

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論