版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第3 3章章 基礎語法基礎語法專注成就未來第第3章章3.1 3.1 類型、變量與運算符類型、變量與運算符3.2 3.2 流程控制流程控制3.3 3.3 重點復習重點復習3.4 3.4 課后練習課后練習專注成就未來3.1.1 類型類型java java 類型類型 體系體系基本類型基本類型類類型類類型nullnull字符字符數(shù)值數(shù)值布爾布爾classclass interfaceinterfacearrayarray整數(shù)整數(shù)浮點數(shù)浮點數(shù)bytebyteshortshortintintlonglongfloatfloatdoubledouble專注成就未來基本的數(shù)據(jù)類型基本的數(shù)據(jù)類型(primit
2、ive type)v整數(shù)整數(shù) 短整數(shù)(short)(占2個字節(jié)) 整數(shù)(int)(占4個字節(jié)) 長整數(shù)(long)(占8個字節(jié))v字節(jié)字節(jié)(byte) 專門儲存位數(shù)據(jù) 占一個字節(jié)(可表示-128-127的整數(shù))v浮點數(shù)浮點數(shù) 單精度浮點數(shù)(float)(占4個字節(jié)) 雙精度浮點數(shù)(double)(占8個字節(jié))專注成就未來基本的數(shù)據(jù)類型基本的數(shù)據(jù)類型(primitive type)v 字符 (char) 采用unicode編碼 每個字符數(shù)據(jù)類型占兩個字節(jié),漢字和英文字符都是兩個字節(jié),漢字和英文字符都是用兩個字節(jié)存儲用兩個字節(jié)存儲 可儲存的字符范圍由u0000到uffffv 布爾數(shù)布爾數(shù) (boo
3、lean) 占內(nèi)存2 2個字節(jié)個字節(jié) 可儲存true與false兩個數(shù)值專注成就未來基本的數(shù)據(jù)類型基本的數(shù)據(jù)類型(primitivetype)system.out.printf(%d%d%n, byte.min_value ,byte.max_value);system.out.printf(%d%d%n, short.min_value ,short.max_value);system.out.printf(%d%d%n, integer.min_value ,integer.max_value);system.out.printf(%d%d%n, long.min_value ,long.
4、max_value);system.out.printf(%d%d%n, float.min_exponent ,float.max_exponent);system.out.printf(%d%d%n,double.min_exponent ,double.max_exponent);system.out.printf(%h%h%n,character.min_value ,character.max_value);system.out.printf(%b%b%n, boolean.true ,boolean.false);ch03range.java專注成就未來java的批注的批注v單行注
5、釋符號:單行注釋符號:/v多行注釋符號:多行注釋符號:/ /* *與與* */ /專注成就未來為程序加入注釋為程序加入注釋v 注意:注意:1.1.多行注釋不能嵌套多行注釋不能嵌套v 2.2.多行批注可以包括單行注釋多行批注可以包括單行注釋/*批注文字1blabla /* 批注文字2blabla */*/* 批注文字1blabla /批注文字2blabla*/ 專注成就未來java的標準輸出的標準輸出v 使用使用systemsystem類的靜態(tài)對象類的靜態(tài)對象outout實現(xiàn)輸出。該對象常用實現(xiàn)輸出。該對象常用3 3個輸出方法個輸出方法1.print(輸出的內(nèi)容輸出的內(nèi)容);輸出后不換行輸出后不
6、換行2.println(輸出的內(nèi)容輸出的內(nèi)容);輸出后換行輸出后換行3.printf(輸出格式,輸出內(nèi)容輸出格式,輸出內(nèi)容);c語言中的輸出函數(shù)語言中的輸出函數(shù)輸出格式控制符號見下表輸出格式控制符號見下表專注成就未來格式字符格式字符作用作用%在字符串中顯示在字符串中顯示% %d%d以以1010進位整數(shù)方式輸出,提供的數(shù)必須是進位整數(shù)方式輸出,提供的數(shù)必須是bytebyte、shortshort、 integerinteger、longlong、或、或bigintegerbiginteger%f%f將浮點數(shù)以將浮點數(shù)以1010進位方式輸出,提供的數(shù)必須是進位方式輸出,提供的數(shù)必須是floatfl
7、oat、doubledouble或或 bigdecimalbigdecimal%e, %e%e, %e將浮點數(shù)以將浮點數(shù)以1010進位方式輸出,并使用科學記號,提供的數(shù)必須是進位方式輸出,并使用科學記號,提供的數(shù)必須是floatfloat、 doubledouble或或bigdecimalbigdecimal% %h h, %, %h h以以1616進位格式輸出進位格式輸出%o%o以以8 8進位整數(shù)方式輸出,提供的數(shù)必須是進位整數(shù)方式輸出,提供的數(shù)必須是bytebyte、shortshort、 integerinteger、longlong、或、或bigintegerbiginteger%x,
8、 %x%x, %x將浮點數(shù)以將浮點數(shù)以1616進位方式輸出,提供的數(shù)必須是進位方式輸出,提供的數(shù)必須是bytebyte、shortshort、 integerinteger、longlong、或、或bigintegerbiginteger%s, %s%s, %s將字符串格式化輸出將字符串格式化輸出 %c, %c%c, %c以字符方式輸出,提供的數(shù)必須是以字符方式輸出,提供的數(shù)必須是bytebyte、shortshort、charactercharacter或或 integerinteger%b, %b%b, %b將將truetrue或或falsefalse輸出(或輸出(或truetrue、fa
9、lsefalse,使用,使用 %b)%b)。另外,非。另外,非nullnull值輸出是值輸出是truetrue,nullnull值輸出是值輸出是falsefalse% %n n換行換行專注成就未來輸出格式控制輸出格式控制v可以在輸出浮點數(shù)時指定精度可以在輸出浮點數(shù)時指定精度 system.out.printf(example:%.2f%n, 19.234); example:19.23v可以指定輸出時,至少要預留的字符寬度可以指定輸出時,至少要預留的字符寬度 system.out.printf(example:%6.2f%n, 19.234); example: 19.23 補上一個空格在前端
10、專注成就未來3.1.2 變量變量v 在在javajava中要使用變量,必須先聲明變量名稱與數(shù)據(jù)類型中要使用變量,必須先聲明變量名稱與數(shù)據(jù)類型v 使用使用intint、floatfloat、doubledouble、charchar等關鍵詞來聲明變量名稱等關鍵詞來聲明變量名稱并指定其數(shù)據(jù)類型并指定其數(shù)據(jù)類型 不可以使用數(shù)字作為開頭 不可以使用一些特殊字符,像是*&%之類 不可以與java內(nèi)定的關鍵詞同名int age; /聲明一個整數(shù)變量double scope; /聲明一個倍精度浮點數(shù)變量 專注成就未來變量變量v 鼓勵用鼓勵用清楚的名稱清楚的名稱來表明變量的作用來表明變量的作用v 強調(diào):強調(diào):
11、不可以聲明變量后,而在未指定任何值給它之前就不可以聲明變量后,而在未指定任何值給它之前就使用它使用它v 編譯程序在編譯時會匯報這個錯誤編譯程序在編譯時會匯報這個錯誤int ageofstudent;int ageofteacher; variable var might not have been initialized變量 var 可能尚未初始化專注成就未來變量變量v 使用賦值運算符使用賦值運算符=來指定變量的值來指定變量的值int ageofstudent = 5;double scoreofstudent = 80.0;char levelofstudent = b;system.out
12、.println(年級t得分t等級);system.out.printf(%4dt %4.1ft %4c, ageofstudent, scoreofstudent, levelofstudent);專注成就未來變量變量v 聲明變量名稱的同時,加上聲明變量名稱的同時,加上“finalfinal”關鍵詞來限定關鍵詞來限定v 這個變量一但指定了值,就不可以再改變它的值這個變量一但指定了值,就不可以再改變它的值final int maxnum = 10;maxnum = 20;cannot assign a value to final variable maxnum(不能給final變量 maxn
13、um 賦值)專注成就未來2.字面常量字面常量v 何謂字面常量?何謂字面常量?v 1212、0 xc0 xc、014014、0.001230.00123、v 1.23e-31.23e-3、ss、林林v 常用轉(zhuǎn)義符號常用轉(zhuǎn)義符號專注成就未來常用轉(zhuǎn)義符號常用轉(zhuǎn)義符號控制字符控制字符作用作用反斜杠反斜杠單引號單引號雙引號雙引號 uxxxxuxxxx以以1616進位數(shù)指定進位數(shù)指定unicodeunicode字符輸出字符輸出xxxxxx以以8 8進位數(shù)指定進位數(shù)指定unicodeunicode字符輸出字符輸出bb倒退一個字符倒退一個字符ff換頁換頁nn換行換行rr游標移至行首游標移至行首system.o
14、ut.println(u0048u0065u006cu006cu006f);專注成就未來3.jdk7數(shù)字常量表示法(了解)數(shù)字常量表示法(了解)v 特點:表示數(shù)值常量時可以使用下劃線特點:表示數(shù)值常量時可以使用下劃線專注成就未來3.1.3 運算符運算符v 1.1.算術運算算術運算符符v 加(加(+ +)、減()、減(- -)、乘()、乘(* *)、除()、除(/ /)、余除運算符()、余除運算符(% %) system.out.println(1 + 2 * 3); system.out.println(2+2+8 / 4); system.out.println(double)(2+2+8)
15、 / 4);專注成就未來2.比較、條件運算比較、條件運算v 大于(大于( )、不小于()、不小于(=)、小于()、小于( )、不大于()、不大于(= 5結(jié)果結(jié)果%b%n , (10 5); system.out.printf(10 = 5結(jié)果結(jié)果%b%n , (10 = 5); system.out.printf(10 5結(jié)果結(jié)果%b%n , (10 5); system.out.printf(10 = 5結(jié)果結(jié)果%b%n ,(10 = 60 ? 是是 : 否否); system.out.printf(是否為偶數(shù)是否為偶數(shù)? %c%n , (number%2 != 0 ? 是是 : 否否);專
16、注成就未來邏輯運算邏輯運算v 與與(&)、或、或(|)、非非(!) int number = 75; system.out.println(number 70 & number 80 | number 80 | number 75);專注成就未來位運算位運算位運算符:位運算符: &(and)、)、|(or)、)、(xor)與)與(補)(補)課本p62 bitwise.java注意:注意: 運算是將運算是將0 0變變1,11,1變變0 0,而不是求補碼,而不是求補碼byte number=0;system.out.println(number);專注成就未來位運算位運算v 左移(左移()、 運算
17、符運算符v 左移:左移:所有位左移,原數(shù)的最左位丟棄,在右邊補所有位左移,原數(shù)的最左位丟棄,在右邊補0;v 010100v 右移:右移:所有位右移,原數(shù)的最右位丟棄,左邊原來是所有位右移,原數(shù)的最右位丟棄,左邊原來是0則則補補0,原來是,原來是1則補則補1;v 0010101v :右移后,左邊一定補右移后,左邊一定補0v 00111000專注成就未來位運算位運算 int number = 1; system.out.println( 2的0次: + number); number =number 1; system.out.println(2的1次: + number); number = n
18、umber 1; system.out.println(2的2次: + number); number = number 1; system.out.println(2的3次: + number);00000001 100000010 200000100 400001000 8 思考思考; ;將將的結(jié)果是什么的結(jié)果是什么專注成就未來遞增、遞減運算遞增、遞減運算v 遞增、遞減運算符遞增、遞減運算符v 將遞增或遞減運算符撰寫在變量之前或變量之后將遞增或遞減運算符撰寫在變量之前或變量之后 int i = 0; system.out.println(+i); system.out.println(-i
19、); int i = 0; int number = 0; number = +i; /i = i + 1; number = i;i = i + 1; number = i; system.out.println(numbersystem.out.println(number);); number = -i; number = -i; /i = i - 1; number = i;/i = i - 1; number = i; system.out.println(number);專注成就未來遞增、遞減運算遞增、遞減運算v 將遞增或遞減運算符撰寫在變量之前或變量之后將遞增或遞減運算符撰寫在變
20、量之前或變量之后 int i = 0; int number = 0; number = i+; /相當于number = i; i = i + 1; system.out.println(number); number = i-; /相當于number = i; i = i - 1; system.out.println(number); 專注成就未來賦值運算符賦值運算符指定運算符指定運算符范例范例結(jié)果結(jié)果+=+=a += ba += ba = a + ba = a + b-=-=a -= ba -= ba = a - ba = a - b* *= =a a * *= b= ba = a a
21、 = a * * b b/=/=a /= ba /= ba = a / ba = a / b%=%=a %= ba %= ba = a % ba = a % b&=&=a &= ba &= ba = a & ba = a & b|=|=a |= ba |= ba = a | ba = a | b=a = ba = ba = a ba = a b=a = ba = ba = a ba = a =a = ba = ba = a ba = a b專注成就未來3.1.4 類型轉(zhuǎn)換類型轉(zhuǎn)換v 細節(jié)細節(jié)1:1:程序中寫下的浮點數(shù)系統(tǒng)默認為程序中寫下的浮點數(shù)系統(tǒng)默認為doubledouble型,寫下型,寫下
22、的整數(shù)系統(tǒng)默認為的整數(shù)系統(tǒng)默認為intint型。型。v float pi=3.14float pi=3.14/編譯失敗編譯失敗將精確度大的值指定給精確度小的變量時,由于在精確度上會有遺失,將精確度大的值指定給精確度小的變量時,由于在精確度上會有遺失,編譯程序會認定這是一個錯誤。編譯程序會認定這是一個錯誤。解決辦法:解決辦法: float pi=3.14ffloat pi=(float)3.14專注成就未來v intint number=2147483648 number=2147483648/編譯失敗編譯失敗解決辦法:解決辦法: long number=2147483648long numbe
23、r=2147483648l l; ;錯誤原因?錯誤原因?專注成就未來幾個細節(jié)幾個細節(jié)v 細節(jié)細節(jié)2.不同精度的運算對象來運算,不同精度的運算對象來運算,java規(guī)定,其運算規(guī)定,其運算結(jié)果取精度高的對象。結(jié)果取精度高的對象。v 細節(jié)細節(jié)3.如果操作數(shù)都是不大于如果操作數(shù)都是不大于int的整數(shù),系統(tǒng)會自動全的整數(shù),系統(tǒng)會自動全部提升為部提升為int類型進行運算。類型進行運算。short a=1;short b=2;short c=a+b; /編譯失敗編譯失敗解決辦法:解決辦法: short c=(short)a+b;專注成就未來算術運算算術運算v 這段程序會輸出什么結(jié)果?這段程序會輸出什么結(jié)果?
24、v 使用下面的方法使用下面的方法int testnumber = 10;system.out.println(testnumber / 3); int testnumber = 10;system.out.println(testnumber / 3.0);system.out.println(double) testnumber / 3);專注成就未來v 細節(jié)細節(jié)4.int count=0; while(true) if(count+1integer.max_value) count=0; else count+; 專注成就未來3.2 流程控制流程控制abab條件條件ayn(a)順序結(jié)構(gòu))順
25、序結(jié)構(gòu)(b)分支結(jié)構(gòu))分支結(jié)構(gòu)(c)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu)專注成就未來3類語句類語句v 分支語句a、if語句;b、switch語句v 循環(huán)語句a、 for語句; b、 while語句;v 跳轉(zhuǎn)語句a、break語句;b、continue語句;專注成就未來if條件式條件式v 語法語法v 復合語句句復合語句句if(條件式) 語句句一;else 語句句二; if(條件式) 語句句一; 語句句二; else 語句句三; 語句句四; 專注成就未來if條件式條件式public static void main(stringargs)int input=10;int remain=input%2;if(rema
26、in=1)system.out.printf(%d為奇數(shù)為奇數(shù)%n, input);elsesystem.out.printf(%d為偶數(shù)為偶數(shù)%n, input);專注成就未來if嵌套嵌套 if(條件式一) 語句句一; if(條件式二) 語句句二; 語句句三; if(條件式一) 語句句一; /其它語句句 else if(條件式二) 語句句二;if(條件式一) 語句句一; /其它語句句 else if(條件式二) 語句句二;專注成就未來ifelse if語句語句 public static void main(stringargs) int score = 88; char level; if
27、(score = 90) level=a; else if(score = 80 & score = 70 & score = 60 & score 70) level=d; else level=e;system.out.printf(得分等級:得分等級:%c%n, level);專注成就未來switch條件式條件式v switch的語法架構(gòu)的語法架構(gòu) switch(變量名稱或表達式) case符合數(shù)字或字符: 語句句一; break; case符合數(shù)字或字符: 語句句二; break; default: 語句三; scanner scanner = new scanner(system.i
28、n); system.out.print(請輸入分數(shù)請輸入分數(shù): ); int score = scanner.nextint(); int level = (int) score/10; switch(level) case 10: case 9: system.out.println(得得a); break; case 8: system.out.println(得得b); break; case 7: system.out.println(得得c); break; case 6: system.out.println(得得d); break; default: system.out.pr
29、intln(得得e(不及格不及格);import java.util.scanner;專注成就未來v switch語句只取出語句只取出1次變量的值,比次變量的值,比if語句效率高。語句效率高。專注成就未來循環(huán)語句循環(huán)語句v for語句語句執(zhí)行初始化布爾表達式循環(huán)體修正表達式truefalse專注成就未來for循環(huán)循環(huán)v 基本語法基本語法for(初始式;判斷式;遞增式) 語句句一; 語句句二; for(int i = 1; i = 10; i+) system.out.println(i); codech03simpleloopfor.javacodech03ninetable.java專注成就
30、未來for循環(huán)循環(huán)v for括號中的每個語句區(qū)塊是以分號括號中的每個語句區(qū)塊是以分號;作區(qū)隔,而在作區(qū)隔,而在一個一個語句區(qū)塊中若想寫兩個以上的語句句,則使用逗號語句區(qū)塊中若想寫兩個以上的語句句,則使用逗號,作區(qū)作區(qū)隔隔 for (int i = 2, j = 1; j 10; i = (i=9)?(+j/j)+1):(i+1) system.out.printf(%d*%d=%2d%c, i, j, i * j, (i=9 ? n : ); 專注成就未來循環(huán)語句循環(huán)語句v while語句語句布爾表達式循環(huán)體語句truefalse專注成就未來循環(huán)循環(huán) 3-1while 只要指定的條件評估為 true,while 循環(huán)則執(zhí)行一個 語句或一組語句語法語法while(true) int number=(int)(math.random()*10);system.out.println(number);if(number=5) system.out.println(i hit 5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙減工作總結(jié)匯報
- 攤位加盟合同范本
- 《廣西壯族自治區(qū)房屋建筑和市政工程施工招標文件范本(2023年版)》
- 物業(yè)清洗合同范本
- 第5課《孔乙己》課件+2023-2024學年統(tǒng)編版語文九年級下冊 第1課時
- 勞務雇傭臨時工合同范本
- 消防演練結(jié)束后
- 私人買車合同范本
- 2024年秋初中科學九年級下冊同步課件(浙教版)3.3.1 身體的防衛(wèi)
- 勞務宿舍合同范本
- 山西省太原市2024-2025學年高三上學期期中物理試卷(含答案)
- 酒店崗位招聘面試題與參考回答2025年
- (統(tǒng)編2024版)道德與法治七上10.1愛護身體 課件
- 公安接處警培訓
- GB/T 30391-2024花椒
- 供電線路維護合同
- 胸部術后護理科普
- 鞋子工廠供貨合同模板
- 2024碼頭租賃合同范本
- 木材采運智能決策支持系統(tǒng)
- 【產(chǎn)業(yè)圖譜】2024年青島市重點產(chǎn)業(yè)規(guī)劃布局全景圖譜(附各地區(qū)重點產(chǎn)業(yè)、產(chǎn)業(yè)體系布局、未來產(chǎn)業(yè)發(fā)展規(guī)劃等)
評論
0/150
提交評論