《Java程序設計及移動APP開發(fā)》課件-第03章_第1頁
《Java程序設計及移動APP開發(fā)》課件-第03章_第2頁
《Java程序設計及移動APP開發(fā)》課件-第03章_第3頁
《Java程序設計及移動APP開發(fā)》課件-第03章_第4頁
《Java程序設計及移動APP開發(fā)》課件-第03章_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章Java語言基礎010203043.6字符串3.2常量和變量3.7思考和練習3.3數據類型0705063.1Java程序結構3.5運算符和表達式3.4基本數據類型轉換Java程序一般包括下列組成部分:package語句:Java程序的第一個語句。最多是有一行。import語句:Java可以有0個或者多個import語句,位于類定義前。類定義:定義1個或者多個類。接口聲明:定義0個或者多個接口。3.1.1Java程序結構3.1Java程序結構packagePackage_1;importjava.util.*;publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1="歡迎大家學習Java編程!";System.out.println(str1);}}3.1.1Java程序結構3.1Java程序結構用//表示單行注視。表示本行后邊的內容是注釋。例如:sum=sum+1;//這里是累加提示:光標放在注釋行,按住Ctrl+/可以快捷地添加單行注釋或者取消單行注釋。多行注釋:用/*……*/表示一行或者多行注釋。例如:/**Java課程學習測試程序1*/3.1.2Java程序注釋3.1Java程序結構光標選擇多行注釋,右鍵選擇Source--〉AddBlockComment快捷地添加多行注釋,選Source--〉RemoveBlockComment取消多行注釋。3.1.2Java程序注釋3.1Java程序結構文檔注釋:用/**……**/表示文檔注釋。例如:/***@authorAdministrator**/提示:光標放到需要注釋的文檔中,右鍵選擇Source--〉GenerateElementComment快捷地添加文檔注釋。3.1.2Java程序注釋3.1Java程序結構3.1.3Java程序關鍵字3.1Java程序結構abstractcontinuefornewstrictfptrybooleandefaultgotonullsupervaluebreakdoifpackageswitchvoidbydoubleimplementprivatesynchronizedvolatilebyteelseimportprotectedthisvhihecaseextendsinstanceofpublicthreadassertcatchfalseintreturnthrowcharfinalinterfacesafethrowsclassfinallylongshorttransientconstfloatnativestatictrueJava的標識符是由字母、數字和下劃線組成,并且第一個字符不能是數字。標識符一般都是有含義的字符序列,當然這里是英語的字符序列。這樣可以望名知意。因為編寫的程序別人要閱讀,或者等較長時間自己閱讀,看到標識符就能夠知道它原來的含義。3.1.4Java標識符3.1Java程序結構

包名稱:包名稱一般采取小寫字母,中間用點號隔開,

例如com.antitheft.entity。

類名稱:類名稱一般首字母大寫,一般是多個單詞的組合。

例如MobileUser。

接口名稱:接口名稱的命名規(guī)則與類名稱相同。

方法名稱:方法名稱一般是多個單詞的組合,第一個單詞的

首字母一般小寫,其他每個單詞的首字母大寫。例如,setNo。

變量名稱:變量名稱一般為全小寫的單詞。如height、width。

常量名稱:常量名稱一般為全大寫,單詞之間用下劃線隔開。

例如,MAX_WIDTH。

一般變量名稱和方法名稱不以下劃線開始,以下劃線開始的

變量名稱對系統(tǒng)來說有特殊含義。3.1.4Java標識符3.1Java程序結構永遠不變的量就稱為常量。例如:finaldoublePI=3.1415926;3.2.1常量3.2常量和變量程序中占絕大部分的量是變量。無論在什么計算機程序中,都會涉及到變量。變量分局部變量和全局變量。(1)局部變量:顧名思義,局部變量的作用范圍在局部。這個局部就是一個方法內或者一個函數內,甚至是方法內的某一部分。超過這個范圍,變量就失去作用。例如:3.2.2變量3.2常量和變量

intsum=0;intn=100;for(inti=0;i<n;i++){intm=2;if(i%m==0){sum=sum+i;}}System.out.println(sum);3.2.2變量3.2常量和變量程序中占絕大部分的量是變量。無論在什么計算機程序中,都會涉及到變量。變量分局部變量和全局變量。(2)全局變量:對應著局部變量,全局變量的作用范圍就是全局,就是整個程序內。例如:3.2.2變量3.2常量和變量3.2.2變量3.2常量和變量publicclassClass_1{

staticintp=100; publicstaticvoidmain(Stringargs[]){ inta=5; p=(int)(p+SumX(p,a)); System.out.println("運行結果是:"+p); } publicstaticlongSumX(intn,intm){ intsum=0; for(inti=0;i<n;i++){ if(i%m==0) sum=sum+i; } returnsum; }}Java中的數據類型分為基本數據類型和復合數據類型兩大類。簡單數據類型是Java的基礎類型,包括整數類型、浮點類型、字符類型和布爾類型。復合數據類型由簡單數據類型組成,是用戶根據自己的需要定義并實現其運算的類型,包括類、接口、數組等。習慣上,將八種基本數據類型分為四大類:整數類型:int、byte、short和long實數類型:double和float字符類型:char邏輯類型:boolean3.3數據類型整數類型是Java中經常使用的類型,它是32位有符號的整數數據類型,范圍是-231~231-1。默認類型是int。整數常量整數常量的數值可以是:十進制整數:例如23,-52,0,127等。八進制整數:必須以0開頭,例如012,056,0234,-012等。十六進制整數:必須以0x或者0X開頭,例如0x1234,0x5A3B整型變量整數變量包括四種:byte:1個字節(jié)長度。例如,bytea=2;short:2個字節(jié)長度。例如,shorta=2;int:4個字節(jié)長度。例如,inta=2;long:8個字節(jié)長度。例如,longa=2;long型數據數據過大時,數據后邊必須要加L。3.3.1整數類型3.3數據類型實數類型包括double和float。實數默認類型是double型,float型在數值之后加f或者F。實數常量實數常量通常有兩種表現形式:十進制數:有數字和小數點組成。如0.23,12.35,78.652等??茖W計數法:23e-5,12E7,其中e或者E之前必須要有數字,并且e或者E后面的指數必須是整數。按照中學數學表示,23e-5=23x10-5,12E7=12x107。實數變量例如:floata=26.58;doubleb=21.065;3.3.2實數類型3.3數據類型3.3.3字符類型3.3數據類型unicode字符表中的一個字符就是字符常量。例如'A','a',')','7'。一個漢字等字符也是一個字符常量。注意這里一定是單引號。Java還使用轉義字符,也就是將字符的表面含義轉變成了其他含義。如表所示:轉義字符Unicode字符含義\b\u008退格\t\u009Tab鍵\n\u00a換行\(zhòng)f\u00c換頁\r\u00d回車\"\u0022雙引號\'\u0027單引號\\\u005c反斜線3.3.3字符類型3.3數據類型字符變量字符變量使用char定義,例如charc='b';char類型變量為unicode字符表中的一個字符。一個unicode字符也占兩個字節(jié)。例如:charc=98;//等同于charc='b'因為'b'在unicode表中的排序位置是98。邏輯常量true和false邏輯變量booleanm=false;3.4邏輯類型數據類型轉換是一種數據類型轉換成另外一種數據類型。Java是一種強類型語言,這點類似于C++,而不是C語言。數據類型的轉換分為顯式類型轉換和隱式類型轉換。顯式類型轉換方式下,必須在程序中強制執(zhí)行轉換。隱式類型轉換方式下,編譯系統(tǒng)在編譯時自動進行類型轉換。inta=101;charm;m=(char)a;//顯式轉換:將int變量a強制轉換成char變量minta=102;floatm;m=a;//隱式轉換:將int變量a隱式轉換成float變量m3.5基本數據類型轉換一般高精度的變量需要轉換成低精度的變量時,必須使用顯式類型轉換,這時可能還會有數據精度的損失。例如:inta=(int)34.23;char與byte或short之間的賦值必須實行強制類型轉換。例如:bytem=15;shortn=23;charc1='x',c2='h';c1=(char)m;m=(byte)c2;n=(short)c1;3.5基本數據類型轉換3.6.1算術運算符和表達式3.6運算符和表達式一般程序設計語言都會涉及到運算符和表達式。包括算術運算符和表達式、關系運算符和表達式、邏輯運算符和表達式、賦值運算符和表達式、位運算符和表達式和綜合表達式。算數運算符Java算數運算符包括一元運算符和二元運算符。一元運算符包括:++a:先做a=a+1運算,再取a的值--a:先做a=a-1運算,再取a的值a++:先取a的值,再做a=a+1運算a--:先取a的值,再做a=a-1運算這里有一個記憶的方法:誰在前,先完成誰的動作。例如,++a,那么就是先運算a=a+1,再取a的值。a++,就是先取a的值,再做a=a+1運算。例如:3.6運算符和表達式例如:d=4;inte=5;intf=6;intg=7;intu=d++;//u=4,d=5intv=e--;//v=5,e=4intw=++f;//w=7,f=7intx=--g;//x=6,g=63.6運算符和表達式二元運算符包括:+,-,*,/,%,即加,減,乘,除,求余(取模)。在Java中乘號是*,沒有中學數學的x號,因為這與字母x是相同的。求余%不但可以對整數類型進行運算,而且可以對浮點類型數據進行運算,例如:inth=26,j=5;intp=h%j;//p的值是1floatb=(float)12.7;floatc=(float)2.3;floatd=b%c;//d的值是1.2算數表達式3.6運算符和表達式算數表達式就是用算數運算符將變量和數據連接起來的符合Java語法規(guī)則的式子。intd=4;inte=5;intf=6;intg=7;inth=d*((e+f)/(g-e));3.6運算符和表達式這里算數表達式計算時,可能會出現多種數據類型混合的運算。這時,不同類型的數據首先要先轉換成同一種類型,然后才能開始計算。轉換從低級到高級,也就是說一個表達式中精度最高的變量(操作元)的數據類型決定了表達式最終結果的數據類型。例如:intd=4;floatc=(float)2.36;floatb=c+d;//結果是float類型那么,變量的精度又是誰的最高,誰的最低呢?精度高底是這樣從低級到高級排序的:byte--〉short--〉int--〉long--〉float--〉double3.6.2關系運算符和表達式3.6運算符和表達式關系運算符是比較兩個量的大小關系。關系運算符的結果是boolean類型的數據。當比較的關系成立,結果就是true。結果不成立,就是false。關系運算符有下面六種:>//大于>=//大于等于<//小于<=//小于等于==//等于!=//不等于3.6.2關系運算符和表達式3.6運算符和表達式例如:intsum=0;intm=2;for(inti=0;i<100;i++){if(i%m==0)sum=sum+i;}邏輯運算符是實現真假的邏輯運算,這里基本的邏輯運算有“與”“或”“非”。用Java的符號表示就是&&、||、!。運算結果是boolean類型數據。“與”邏輯運算是運算符&&兩邊的操作數都為真時結果為真(true),否則結果為假(false)。“或”邏輯運算是運算符||兩邊的操作數至少一個為真時結果為真(true),兩個操作數都為假時結果才為假(false)?!胺恰边壿嬤\算是單目運算符,就是給后邊的操作數取反。操作數位真,結果就為假;操作數位假,結果就為真。intsum=0;booleant=true;while(t)sum=sum+2;3.6.3邏輯運算符和表達式3.6運算符和表達式3.6.4賦值運算符和表達式3.6運算符和表達式賦值運算符就是“=”,它是雙目運算符。它的含義是將右邊的常量、變量或者表達式的值賦值給左邊的變量。如果左右兩邊的數據類型不一致,如果右邊的數據類型級別高,則需要進行強制類型轉換。floatm=(float)23.56; intk=(int)m;復合賦值運算符復合賦值運算符是在賦值運算符之前加上其他運算符的運算符。常見的復合賦值運算符有:+=//例如,m+=3,相當于m=m+3-=//例如,m-=3,相當于m=m-3*=//例如,m*=3,相當于m=m*3/=//例如,m/=3,相當于m=m/3%=//例如,m%=3,相當于m=m%3&(位與):二元運算符,邏輯與,&兩邊的操作數都為1(true),則該位的結果為1(true),否則為0(false)。|(位或):二元運算符,邏輯或,|兩邊的操作數有一個為1(true),則該位的結果為1(true),只有兩邊的操作數都為0時,該位的結果才為0(false)。~(位非):一元運算符。對數據的每個二進制位按位取反。1變0,0變1。^(位異或):二元運算符,邏輯異或,^兩邊的操作數互為相反,則該位的結果為1(true),否則為0(false)。<<(左移):二元運算符,<<左邊的操作數(被移位數)往左移動,移動的位數是<<右邊操作數(移位量)的值。每左移一位,其左邊的操作數相當于乘2。操作元必須是整形數據。>>(右移):二元運算符,<<左邊的操作數(被移位數)往右移動,移動的位數是<<右邊操作數(移位量)的值。每右移一位,其左邊的操作數相當于除2。操作元必須是整形數據。>>>(邏輯右移):二元運算符,<<左邊的操作數(被移位數)往右移動,移動的位數是<<右邊操作數(移位量)的值。操作元必須是整形數據。正整數運算與>>(右移)作用相同。負整數則求該數的反碼,但符號位不變。3.6.5位運算符和表達式3.6運算符和表達式3.6.5位運算符和表達式3.6運算符和表達式例如,二進制10110101如果原數左移2位,高位移出,低位補0為:11010100如果原數右移2位,低位移出,高位補0為:00101101位運算比較復雜,一般用于針對底層的硬件編程。3.6.6條件運算符3.6運算符和表達式條件運算符是一個3目運算符,具體的運算符是?:用法如下:操作數1?操作數2:操作數3操作數1必須是boolean型數據,操作數2和操作數3必須同類型。含義是:操作數1的值為true時,整個條件表達式結果是操作數2;如果操作數1的值為false時,整個條件表達式結果是操作數3。例如:intp=7;intq=(p>=0?6:8);//q的值是6在Java中,除了單目運算符(如++--!~等)、賦值運算符(=)和3目運算符(?:)外,大部分運算符是從左向右結合運算的。前者3個例外運算符是從右向左結合運算的。加法和乘法運算是可以交換的運算。運算符的運算是有優(yōu)先級的,也就是說,是有運算順序的,即誰先運算,誰后運算的問題。比如在中學課程中我們規(guī)定:先算乘除,后算加減,有括號的先算括號內的運算。Java一樣,系統(tǒng)也規(guī)定了運算的先后順序,這個順序就是運算的優(yōu)先級。比如說,Java規(guī)定了:先算乘除,后算加減,有括號的先算括號內的運算。表3-3是Java運算符的優(yōu)先級。3.6.7運算符的優(yōu)先級3.6運算符和表達式3.6.7運算符的優(yōu)先級3.6運算符和表達式項目Java運算符分隔符.[]{},;單目運算符++--!~強制類型轉換運算符(type)乘法/除法/求余*/%加法/減法+-移位運算符<<>>>>>關系運算符<<=>>=instanceof等價運算符==!=按位與&按位異或^按位或|條件與&&條件或||三目運算符?:賦值運算符=+=-=*=/=^=%=<<=>>=>>>=3.6.7運算符的優(yōu)先級3.6運算符和表達式在運算符的優(yōu)先級方面,程序員有一條很重要規(guī)則:為了避免去記憶誰的優(yōu)先級高,誰的優(yōu)先級低這些繁瑣的計算級別,也便于編程和理解,一般將首先要計算的表達式放在括號內,并且可以括號嵌套括號,這樣層層嵌套,就可以完成自己要表達的計算。3.7.1字符串的初始化3.7字符串Java中使用new關鍵字來初始化字符串,并把它賦給變量,但是new出來的字符串目前是空字符串。例如:Stringstr1=newString();接下來再給這個字符串變量賦值:str1="Hello,Java!";可以二者合一:Stringstr1=newString("Hello,Java!");字符串是由0個或者多個字符組成的有限序列,是編程語言中表示文本的數據類型。String類中還提供了許多有用的方法供編程人員使用:

字符串索引返回String類型字符串指定索引位置的字符。注意:字符串中的索引號是從0開始的。方法原型:publiiccharcharAt(intindex);字符串連接將兩個字符串連接在一起,得到一個新的字符串。方法原型:publicStringconcat(StringS);字符串比較比較字符串是判斷兩個字符串是否相同,相同返回true,不相同返回false。方法原型:publicStringconcat(StringS);3.7.2Sting類3.7字符串3.7.2Sting類3.7字符串示例:

字符串索引publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1="Javajiaocheng";System.out.println(str1.charAt(4)); } }程序運行結果:j3.7.2Sting類3.7字符串示例:字符串連接publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="Javajiaocheng";Stringstr2="_2018";Stringstr3=str1.concat(str2);System.out.println(str3); } }程序運行結果:Javajiaocheng_20183.7.2Sting類3.7字符串示例:字符串比較publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="Javajiaocheng";Stringstr2="_2018";Stringstr3="Javajiaocheng";System.out.println(str1.equalsIgnoreCase(str2)); System.out.println(str1.equalsIgnoreCase(str3));} }程序運行結果:falsetrue3.7.2Sting類3.7字符串獲得字符串長度得到字符串的整個字符長度個數。方法原型:publicintlengh();替換字符串就是使用一個字符(串)替換原來字符串中某個字符(串)。字符替換的方法原型是

:publicStringreplace(charold,charnew);字符串替換的方法原型是:publicStringreplace(Stringold,Stringnew);3.7.2Sting類3.7字符串示例獲得字符串長度publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="Javajiaocheng";Stringstr2="_2018";System.out.println(str1.length()); System.out.println(str2.length());} }程序運行結果:1353.7.2Sting類3.7字符串示例:替換字符串publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="Javajiaocheng";System.out.println(str1.replace('a','b'));System.out.println(str1.replaceAll("jiao","xue"));} }程序運行結果:JbvbjibochengJavaxuecheng3.7.2Sting類3.7字符串截取字符串有時候我們希望截取一個字符串中的一段字符串,使用的方法原型是:第一種方法:publicStringsubstring(intbegin);第二種方法:publicStringsubstring(intbegin,intend);字符串大小寫互換有時候我們希望把字符串中的字母轉換成大寫,有時候又希望轉換成小寫。使用的方法原型是:將大寫字母轉換成小寫字母:publicStringtoLowerCase();將大寫字母轉換成小寫字母:publicStringtoUpperCase);3.7.2Sting類3.7字符串示例截取字符串publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="Javajiaocheng";System.out.println(str1.subtring(4));System.out.println(str1.substring(4,8));} }程序運行結果:jiaochengjiao3.7.2Sting類3.7字符串示例:字符串大小寫互換publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="JavaJiaoCheng";System.out.println(str1.toLowerCase());System.out.println(str1.toUpperCase());} }程序運行結果:javajiaochengJAVAJIAOCHENG3.7.2Sting類3.7字符串消除字符串前后的空格字符有時候我們希望把字符串前后的空格字符消除掉。例如,用戶輸入時,可能不小心在字符串的前后輸入了不必要的空格。而這些空格輸入后一般是看不出來的。為了消除這些空格,使用的語句方法是:publicStringtrim();3.7.2Sting類3.7字符串示例消除字符串前后的空格字符publicclassClass_1{publicstaticvoidmain(Stringargs[]){Stringstr1=newString();str1="JavaJiaoCheng";System.out.println(str1.trim());} }程序運行結果:JavaJiaoCheng前后已經沒有了空格。StringBuffer類是Ja

溫馨提示

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

評論

0/150

提交評論