JavaSE-2-標識符表達式_第1頁
JavaSE-2-標識符表達式_第2頁
JavaSE-2-標識符表達式_第3頁
JavaSE-2-標識符表達式_第4頁
JavaSE-2-標識符表達式_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

千鋒教學部心與身合,身體力行。Java三大體系Java跨平臺原理JDK的概念,安裝,配置Javac、java、javadoc單行注釋、多行注釋、文檔注釋

章節(jié)回顧Java基本語法格式標識符、關鍵字、常量變量及變量的作用域變量的作用域Java基本數據類型基本數據類型之間的轉換運算符與表達式Java對包、類、方法、參數和變量等要素命名時使用的字符序列稱為標識符。Java標識符命名規(guī)則:由字母(含英、中、日、俄等)、數字、下劃線(_)和美元符號($音:dollar)組成。不能以數字開頭。區(qū)分大小寫。長度無限制。(一般不要超過15個字符)不能是Java中的保留字和關鍵字。標識符命名習慣:見名知意。請判斷以下標識符是否合法:HelloWord、username2、user_name、_userName、$abc_1232UserName、user#Name、HelloWorld4Java中有一些賦予特定的含義,有專門用途的字符串稱為關鍵字(keyword)。全部為小寫保留字:沒有定義用途,但保留備用。goto、const關鍵字abstractbooleanbreakbytecasecatchcharclassconst

continuedefaultdodoubleelseextendsfinalfinallyfloatforgoto

ifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhileassertenum

5常見的數值類型(也稱為數據常量)整型(int):123intJava語言整型的三種表示形式:十進制整數:如12,-314,0,8,7。八進制整數:要求以0開頭,如0127表示八進制的127。十六進制數:要求0x或0X開頭,如0x1df3。浮點數(實型):3.14float...字符:’a’char布爾(邏輯):true、falseboolean字符串String:"a"、"abc"、"helloworld",""null:表示的引用為空對象注意:區(qū)分字符和字符串6變量:保存程序執(zhí)行中的數據變量名:定義變量的標識符變量值:內存單元中所裝載的數據變量其實是內存中的一小塊區(qū)域,使用變量名來訪問這塊區(qū)域。因此,每一個變量使用前必須要先申請(聲明),然后必須進行賦值(填充內容),才能使用。如:inti=100;inty;y=i+10;7數組(array)數據類型基本類型原始/簡單引用類型數值型字符型(char)也屬于整數類型布爾型(boolean)整數類型(byte,short,int,long)浮點類型(float,double)類(class)接口(interface)8枚舉(enum)Java中定義了四類/八種基本數據類型布爾型----boolean字符型----char整數型----byte,short,int,long浮點數型----float,doubleJava中所有的基本數據類型都有固定的存儲范圍和所占內存空間的大小,而不受具體操作系統(tǒng)的影響,以保證Java程序的可移植性9計算機中的數據都以二進制數字保存。二進制:逢二進一。即只有0、1兩個值。如:十進制的10在計算機內保存為二進制的1010計算機中信息的存儲單位位(bit):表示一個二進制數碼0或1,是計算機存儲處理信息的最基本的單位。字節(jié)(byte):一個字節(jié)由8個位組成。它表示作為一個完整處理單位的8個二進制數碼。10Java語言的整型數值默認為int型,如:inti=3;要聲明long型可以加‘l’或‘L’,如:longl=3L;注意:在數值超過int的表述范圍時(2147483647),需要加上l/L對long賦值類型占用存儲空間存儲范圍byte1字節(jié)-128~127short2字節(jié)-215~215-1int4字節(jié)-231~231-1long8字節(jié)-263~263-111Java浮點類型常量有兩種表示形式十進制數形式,必須含有小數點,例如:3.14314.00.314科學記數法形式,如3.14e23.14E2314E2Java浮點型常量默認為double型,如要聲明一個常量為float型,則需在數字后面加f或F,如:doubled=3.14;floatf=3.14f;類型占用存儲空間存儲范圍float4字節(jié)-3.403E38~3.403E38double8字節(jié)-1.798E308~1.798E30812char型數據用來表示通常意義上“字符”charc='A';charc2='好';Java字符采用Unicode編碼,每個字符占兩個字節(jié),因而可用十六進制編碼形式表示(Unicode是全球語言統(tǒng)一編碼)charc1='\u0061';//相當于’a’charc2=97;//ASCII美國標準信息交換碼,相當于’a’Java語言中還允許使用轉義字符'\'來將其后的字符轉變?yōu)槠渌暮x:charc2='\n';13名稱描述\n換行將光標移到下一行的第一格。\r回車將光標移到當前行的第一格。在命令行下會覆蓋寫.\t水平制表將光標移到下一個水平制表位置。\'單引號產生一個單引號。\"雙引號產生一個雙引號。\\斜杠產生一個斜杠。14boolean類型適于邏輯運算,一般用于程序流程控制boolean類型數據只允許取值true或false,不可以用0或非0的整數替代true和false。示例: booleanb=false;booleanc=true;15NO.數據類型大小/位默認值

(全局變量才有)可表示的數據范圍1long(長整數)640l-9223373036854775808~92233720368547758072int(整數)320-2147483648~21474836473short(短整數)16(short)0-32768~327674byte(字節(jié)型)8(byte)0-128~1275char(字符)16\u0000(空)0-655356float(單精度)320.0f-3.4E38~3.4E387double(雙精度)640.0d-1.7E308~1.7E3088booleanfalsetrue/false16Java高端培訓boolean類型不能轉換成任何其它基本數據類型。自動類型轉換:數據類型取值范圍小的轉為取值范圍大的byte,short,intlongfloatdoublechar->intlongfloatdoubleshort,char不會互相轉換byte,short,char三者在計算時會轉換成int類型(練習)強制類型轉換:數據類型取值范圍大的轉為取值范圍小的.需要加強制轉換符,也就是(要轉換的數據類型)。longl=100L;inti=(int)l;但有可能造成精度降低或數據溢出,使用時要小心。1718Java高端培訓bytecharshortintlongfloatdouble整型運算注意事項一旦byte,short,char型的變量參與運算,則運算的結果表達式類型為int型shorts=30000;s=s+1;//編譯出錯s=30000+1;//編譯通過byteb1=1;byteb3=b1-2;//byteb3=1+2;byteb3=128;//shorts2=b1+b3;//shorts3=b1;按所屬的數據類型劃分:基本類型變量:持有原始值。(原始數據類型)引用類型變量:持有引用值。(某個對象的引用,不是該對象本身)按被聲明的位置劃分:局部變量:方法或語句塊內部定義的變量全局變量:方法外部、類的內部定義的變量特別注意:類體之外不能有變量的聲明20byteb1=126+1;byteb2=127+1;//byteb3=1;byteb4=2;byteb5=b3+b4;//byteb6=(byte)(b3+1);byteb7=++b1;shorts1=32767;shorts2=32767+1;//shorts3=1;shorts4=s3*1;//shorts5=++s1;21Java高端培訓判斷并編程測試以下代碼能否正常編譯?charc=65535+1;//charc1=1;charc2=c1+1;//charc3=65535;charc4=++c3;inti=Integer.MAX_VALUE+1;longl1=Long.MAX_VALUE+1;longl2=1;longl3=1L;longl4=2147483648;//floatf1=1.23;//floatf2=1.0*2.0f;//floatf3=f1+1.0;//floatf4=f1+1;floatf5=f1+1L;floatf6=1234;doubled1=3.4;判斷并編程測試以下代碼能否正常編譯?Java變量使用前必須先聲明和初始化(賦初值)變量聲明語法格式數據類型變量名[=值];變量聲明和初始化舉例:publicstaticvoidmain(Stringargs[]){inti;intj=i+5; //錯誤,必須將i初始化.System.out.printlnI(i);//錯誤,doubled=3.14;} 23局部變量的作用域就是它所在的方法或語句塊在程序調用方法(進入語句塊)時,局部變量才被創(chuàng)建并可用,隨方法(語句塊)的退出,局部變量將被銷毀全局變量的作用域是整個類體。24算術運算符:+、-、*、/、%、++、--賦值運算符:=、+=、-=、*=、/=、%=關系運算符:>、<、>=、<=、==、!=邏輯運算符:!、&、|、^、&&、||位運算符:&、|、^、~、>>、<<、>>>字符串連接運算符:+25運算符描述示例結果+加5+510-減5-41*乘5*315/除10/33%取模(求余)10%31++自增(前,后)--自減(前,后)26演示與練習:求一個指定正整數的個位上的數字用兩種方法求一個指定正整數的十位上的數字用兩種方法求一個指定正整數的百位上的數字練習1示例演示++、--inta=3;intb=2;intres1=(a++)*(--b)+(--a)/(b++);請推斷res1,a,b此時的值。intres2=(--a)%(b++)+(++a)*(b--)-(a--);請推斷res2,a,b此時的值。練習2intx=2;inty=3;intres3=(x++)*2+(--y)%3+(--x)/4+(++y)*3;intres4=(--x)/3-(y++)*2+(x++)%2-(y--)%3;請推斷res3,res4,x,y此時的值。intx=3;intres=(x++)%(++x);請推斷res,x此時的值。練習3inta=2;intb=3;intres1=((a++)+(++b))*2+(--a)%(b++)-(++a)*3+(--b)/(--a);請推斷res1,a,b此時的值。賦值運算符作用是將一個值賦給一個變量運算符描述示例結果=賦值a=3;b=2;a=3b=2+=加等于a=3;b=2;a+=b;a=5b=2-=減等于a-=2;a=a-2*=乘等于/=除等于%=模等于31注意:賦值運算表達式的值就是等號左邊的變量被賦的值,特別注意int,boolean練習4inti=1;i+=(i++);//i=1;i+=(++i);//i=1;i+=i+=i;//i=1;i+=(++i)+(i--);//i=1;i+=(++i)+(++i);//i=1;i=i+++i;//i=1;i=i---i;//關系運算符作用是比較兩邊的操作數,結果總是boolean型的。運算符描述示例結果==相等于4==3false!=不等于4!=3true<小于>大于<=小于等于>=大于等于邏輯運算符用于對boolean型結果的表達式進行運算,運算結果總是boolean型。運算符描述示例結果&與false&truefalse|或false|truetrue^異或true^falsetrue!非!truefalse&&短路與false&&truefalse||短路或false||truetrue34操作數操作數&|&&||對第一個操作數取非!^truefalsetruetruefalsefalsefalsetrue練習:完成此表格練習1booleanb1=true;booleanb2=false;booleanb3=b1&b2;System.out.println(b3);System.out.println(true&true&true&true);booleanb4=b1|b2;System.out.println(b4);System.out.println(true|false|false);System.out.println(!true);//非練習2booleanb1=true;booleanb2=false;boolean

b5=b1^b2;//異或:相同為false,不同才為真System.out.println(true^true);//inta=3;intb=2;booleanbb1=(a++)>(--b)||(--a)<0||(++a)>(b++);//t&f&tSystem.out.println(bb1+"\t"+a+"\t"+b);//true,4,1練習3inta=3;intb=2;booleanb9=(a++)>(--b)&(--a)%(b++)==1&(a--)<(b--);System.out.println(b9+"\t"+a+"\t"+b);//f,2,1a=3;b=2;booleanb10=(a++)>(--b)&&(--a)%(b++)==1&&(a--)<(b--);System.out.println(b10+"\t"+a+"\t"+b);//f,3,2練習4a=3;b=2;booleanb11=(a--)/(b++)<2|(--a)*(--b)!=4|(a++)%(b--)==2;System.out.println(b11+"\t"+a+"\t"+b);//t,2,1a=3;b=2;booleanb12=(a--)/(b++)<2||(--a)*(--b)!=4||(a++)%(b--)==2;System.out.println(b12+"\t"+a+"\t"+b);//a=2,b=3位運算符對兩個操作數中的每一個二進制位都進行運算位運算符功能按位取反~按位與&按位或|按位異或^示例01001111~1011000001101101&010010011100101101101101|111011111100101101101101^101001101100101140左移:"a<<b;"將二進制形式的a逐位左移b位,最低位空出的b位補0帶符號右移:"a>>b;"將二進制形式的a逐位右移b位,最高位空出的b位補原來的符號位無符號右移:"a>>>b;"將二進制形式的a逐位右移b位,最高位空出的b位補02227=000000000000000000001000101100112227<<3=000000000000000001000101100110002227>>3=000000000000000000000001000101102227>>>3=00000000000000000000000100010110-2227=11111111111111111111011101001101-2227<<3=11111111111111111011101001101000-2227>>3=11111111111111111111111011101001-2227>>>3=0001111111111111111111101110100141練習下面的程序,分析其輸出結果:publicclassMyTest{ publicstaticvoidmain(Stringargs[]){ inta=10; inti=~a; intj=a>>>3; intk=a<<3; intm=a>>2; System.out.println("i="+i); System.out.println("j="+j); System.out.println("k="+k); System.out.println("m="+m); }}42Java整數進制轉換Java語言二進制數采用補碼形式,數正負區(qū)分的標志:符號位正數進制轉換十進制---->二進制:除2取余、除盡為止二進制---->十進制:累加求和負數進制轉換負十進制----負二進制:取絕對值轉換為二進制取反加1負二進制----負十進制:減1取反(或取反加1)轉換為十進制正數乘-1練習試求127,255,-1,-128對應的二進制數Strings="He"+"llo";結果"Hello""+"除了可用于字符串相連接,也能將字符串與其它的數據類型相連成一個新的字符串。如:Strings="x"+123;結果"x123"System.out.println("abc"+3+4+5);Stringc1="haha";inti=3,j=4;System.out.println(i+j);System.out.println(c1+i);System.out.println(c1+i+j);System.out.println(i+j+c1+i+j);45X?Y:ZX為boolean類型表達式,先計算x的值,若為true,整個三目運算的結果為表達式Y的值,否則整個運算結果為表達式Z的值。例:intscore=75;

溫馨提示

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

評論

0/150

提交評論