《結(jié)構(gòu)化程序設(shè)計(jì)》PPT課件.ppt_第1頁
《結(jié)構(gòu)化程序設(shè)計(jì)》PPT課件.ppt_第2頁
《結(jié)構(gòu)化程序設(shè)計(jì)》PPT課件.ppt_第3頁
《結(jié)構(gòu)化程序設(shè)計(jì)》PPT課件.ppt_第4頁
《結(jié)構(gòu)化程序設(shè)計(jì)》PPT課件.ppt_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 結(jié)構(gòu)化程序設(shè)計(jì),2.1 標(biāo)識(shí)符和關(guān)鍵字 2.2 數(shù)據(jù)類型、變量和常量 2.3 運(yùn)算符 2.4 控制結(jié)構(gòu) 2.5 結(jié)構(gòu)化程序設(shè)計(jì),2.1 標(biāo)識(shí)符和關(guān)鍵字,標(biāo)識(shí)符:是對(duì)變量、類、方法、標(biāo)號(hào)和其它各種用戶自定義對(duì)象的命名。 在Java中,標(biāo)識(shí)符必須以字母、下劃線()或美元符()開頭,后面跟0個(gè)或多個(gè)由字母、下劃線、美元符或數(shù)字組成的字符數(shù)字串。 標(biāo)識(shí)符是大小寫敏感的 字母是Unicode字符集 沒有最大長(zhǎng)度限制 除去關(guān)鍵字、false、true和null,問題: 是/不是 標(biāo)識(shí)符?,myVariable 9pins MYVARIABLE i a+c testing1-2-3,_myvaria

2、ble java,Java變量必須屬于某種類型,變量值也必須與變量類型相匹配 例如: int studentNumber; / 聲明單個(gè)變量 double velocity, distance; / 聲明多個(gè)變量 studentNumber=30;/ 給變量賦以整數(shù)30 int studentNumber=30;/ 聲明變量,并賦初值,二、變量和常量-常量,常量是在程序運(yùn)行期間不能被修改的量。分為: 普通常量(常數(shù)) 標(biāo)識(shí)符常量(常值變量): final;如MAX_VALUE final double PI=3.14159;,Java常量,Java常量包括基本數(shù)據(jù)類型常量、字符串(String

3、)常量和null 布爾(boolean)常量只有兩個(gè):true 和 false c, u0061, u0051 和 u005a 是char常量. 34是int常量 1.5, 45.6, 76.4E8和-32.0是double常量 34L是long常量. 1.5F, 45.6f, 76.4E8F和-32.0F是float常量 “Hello World!”是String常量 null是引用數(shù)據(jù)類型的常量,三、簡(jiǎn)單數(shù)據(jù)類型整型,整型都為帶符號(hào)數(shù),三、簡(jiǎn)單數(shù)據(jù)類型浮點(diǎn)型(實(shí)型),三、簡(jiǎn)單數(shù)據(jù)類型字符型,char定義 數(shù)據(jù)位寬度為16bit,使用Unicode字符集 字符常量:A 利用轉(zhuǎn)義字符來表示一些

4、控制字符: 換行(n);回車(r); 1到4位十六進(jìn)制所表示的字符(uxxxx),常用的轉(zhuǎn)義字符,b (退格) f (換頁) n (換行) r (回車) t (水平制表符(到下一個(gè)tab位置) (單引號(hào)) (雙引號(hào)) (反斜杠),三、簡(jiǎn)單數(shù)據(jù)類型字符型,public class Welcome3 public static void main( String args ) System.out.println( WelcomentonJavan Programming! ); ,三、簡(jiǎn)單數(shù)據(jù)類型布爾型,boolean定義 數(shù)據(jù)位寬度為1 變量的值:只能是真(true)和假(false) 進(jìn)行流

5、程控制,四、簡(jiǎn)單數(shù)據(jù)類型的相互轉(zhuǎn)換,自動(dòng)(隱式)類型轉(zhuǎn)換和強(qiáng)制(顯式)類型轉(zhuǎn)換 整型、實(shí)型、字符型 byte-short-int-long-float-double char-int-long-float-double,自動(dòng)類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換,五、對(duì)簡(jiǎn)單數(shù)據(jù)類型的類包裝,java.lang包中有類: Boolean Character Byte Double,Float Integer Long Short,習(xí)題,Java的簡(jiǎn)單數(shù)據(jù)類型有哪些?與其他語言的最大不同在哪里? 請(qǐng)指出下面數(shù)值的類型。 178;8864L;37.266;37.266D;87.363F;26.77e3;c;true

6、 仔細(xì)閱讀下面的程序,找出并改正其中的錯(cuò)誤.,習(xí)題,Class Arithmetic public static void main (String args) final int x = 17,y = 5; boolean mycom = 1; System.out.println(“x=”+x); System.out.println(“y= ” +y) if(mycom) System.out.println(“x+y= ” + (x+y); ,習(xí)題,請(qǐng)說明下面程序中所有變量的作用域. Class Spot public int size; public Spot (int intSiz

7、e) int pointx,pointy; size = intSize; pointx=intSize; ,2.3 運(yùn)算符,運(yùn)算符指明對(duì)操作數(shù)所進(jìn)行的運(yùn)算。 表達(dá)式是變量、常量、運(yùn)算符、方法調(diào)用的序列,它執(zhí)行指定的計(jì)算并返回某個(gè)確定的值。,2.3 運(yùn)算符,算術(shù)運(yùn)算符(+,- -, +,- , *,/,% ) 關(guān)系運(yùn)算符(, =, =,= =,!=) 邏輯運(yùn)算符(!, ) 位運(yùn)算符( , , , , , ,) 賦值運(yùn)算符(基本:= ;復(fù)合: +=,-=,*=,/=,%=,),2.3 運(yùn)算符,條件運(yùn)算符(?: )條件?表達(dá)式1:表達(dá)式2 其它運(yùn)算符(分量運(yùn)算符.,字符串合并+,(類型)表達(dá)式,下

8、標(biāo)運(yùn)算符等) 表達(dá)式有算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、位運(yùn)算表達(dá)式、賦值表達(dá)式、條件表達(dá)式等。,1. 算術(shù)運(yùn)算符,算術(shù)運(yùn)算符包括:+, -, *, /, +, -, % 沒有指數(shù)運(yùn)算 Math.pow(2.0, 3.0); / 2.03.0 整數(shù)除法:截去余數(shù) 7 / 5 結(jié)果為 1 取模:返回余數(shù) 7 % 5 結(jié)果為 2,2. 關(guān)系運(yùn)算符,六個(gè)關(guān)系運(yùn)算符: 、=、= 和 != 例如: 1 2; / false 3.5 != 1; / true 51.5 = 23.0; / true 540 = 654; / true 24 = 3*8; / true boolean test1=(10

9、10); / test1= false;,注意事項(xiàng),、=只能用來比較兩個(gè)數(shù)值類型數(shù)據(jù)(numbers含characters)的大小 不能用于Strings、booleans、arrays或其他類型,3.布爾邏輯運(yùn)算符,六個(gè)布爾邏輯運(yùn)算符: ,7. 其他運(yùn)算符,其他運(yùn)算符包括:(類型)、.、 、( )、instanceof和new 例如: int a=51; char c=(char)a;,算符優(yōu)先,不同的運(yùn)算符具有不同的優(yōu)先順序 可以用( )來改變優(yōu)先順序或使表達(dá)式更容易理解 例如: a + b + c / 3 (a + b + c ) / 3,public class Arithmatics

10、Test public static void main( String args ) int a=9; int b=-a; int i=0; int j=i+; int k=+j; System.out.println(“a=”+a+ “ b=”+b+ “ i=”+i+ “ j=”+j+ “ k=”+k); ,舉例1,例題2,/ Addition.java: An addition program public class Addition public static void main( String args ) int number1 = 10, number2 = 20; int s

11、um; sum = number1 + number2; System.out.println(“sum = ”+ sum); ,習(xí)題,說出運(yùn)算符優(yōu)先級(jí)。 ,%,?:, else statement; 多重嵌套形式 if (expression) statement; else if (expression) statement; else statement;,if語句,if語句的格式是: if (布爾表達(dá)式) 語句 或 if (布爾表達(dá)式) 一條或多條語句 例如 if ( grade = 60 ) System.out.println( Passed ); / Here could be

12、a statement block.,if-else語句,if-else語句的格式是: if (布爾表達(dá)式) 語句1或語句塊1 else 語句2或語句塊2 例如: if (grade60) System.out.println(Passed!); else System.out.println(Failed!);,條件運(yùn)算符 ( ? : ),( cond ? express1 : express2 ) 例 1 System.out.println(studentGrade = 60 ? Passed“ : Failed); 例2 max = ( a b ? a : b ); if (a b)

13、max = a; else max = b;,1 分支結(jié)構(gòu)-if語句(舉例:是否為閏年),import java.io.*; public class LeapYear public static void main( String args ) throws IOException System.out.println(Input year is:); InputStreamReader ir=new InputStreamReader(System.in); BufferedReader in= new BufferedReader(ir); String s=in.readLine();

14、 int year=Integer.parseInt(s);,1 分支結(jié)構(gòu)-if語句(舉例1:是否為閏年),if(year%4=0 ,1 分支結(jié)構(gòu)-if語句(舉例2:實(shí)現(xiàn)符號(hào)函數(shù)),-1(x0),1 分支結(jié)構(gòu)- switch語句,形式:switch (expression)/char,byte,short,int caseconstant1: statements; break; caseconstant2: statements; break; default:statements; break; ,報(bào)數(shù)游戲:A、B、C、D、E、F、G、H共八人站成一排,按圖示方法從1開始報(bào)數(shù),問誰先報(bào)到1

15、8678902? ABCDEFGH 12345678 1514131211109 161718,1 分支結(jié)構(gòu)- switch語句(舉例2),2 循環(huán)結(jié)構(gòu)-for語句,一般形式: for (initialization;condition;increment) statement; 執(zhí)行過程:for (i=1;i=10;i+) System.out.println(i); 無限循環(huán): for (;)statement; 無循環(huán)體: 循環(huán)初始化和增量可用逗號(hào),2 循環(huán)結(jié)構(gòu)-for語句,初始化部分臨時(shí)說明局部循環(huán)變量 int j=3; for (int i=0,j=10;ij;i+,j-)Syste

16、m.out.println(j*j); ,2 循環(huán)結(jié)構(gòu)- while語句,一般形式 while (condition) statement; 執(zhí)行過程 循環(huán)初始化和增量,2 循環(huán)結(jié)構(gòu)- do while語句,一般形式 do statement; while (condition); 執(zhí)行過程 循環(huán)初始化和增量,2 循環(huán)結(jié)構(gòu) 舉例1,/ WhileCounter.java import java.awt.Graphics; import java.applet.Applet; public class WhileCounter extends Applet public void paint(

17、Graphics g ) int counter = 1; while ( counter = 10 ) g.drawLine( 10, 10, 250, counter * 10 ); +counter; ,2 循環(huán)結(jié)構(gòu) 舉例2,/ ForCounter.java import java.awt.Graphics; import java.applet.Applet; public class ForCounter extends Applet public void paint( Graphics g ) for ( int counter = 1; counter = 10; count

18、er+ ) g.drawLine( 10, 10, 250, counter * 10 ); ,2 循環(huán)結(jié)構(gòu) 舉例3,/ DoWhileTest.java: import java.awt.Graphics; import java.applet.Applet; public class DoWhileTest extends Applet public void paint( Graphics g ) int counter = 1; do g.drawLine( 10, 10, 250, counter * 10 ); +counter; while ( counter = 10 ); ,

19、3 轉(zhuǎn)移結(jié)構(gòu),return語句:從方法中返回,并為方法置一個(gè)返回值。 一般形式:return expression; break語句:從封閉的語句(for,while,switch)跳出。 一般形式:break label; continue語句:用于循環(huán)語句中。不是終止一個(gè)控制,而是跳過循環(huán)結(jié)束前的語句,回到循環(huán)的條件測(cè)試部分繼續(xù)執(zhí)行 。 一般形式: continue label; test:if(check(i)for(int j=0;ji)break; if(aij=null)break test; ,3 轉(zhuǎn)移結(jié)構(gòu)-舉例1:打印九九乘法表,public class MultiList p

20、ublic static void main( String args ) outer:for(int i=1;i=9;i+) inner:for(int j=1;j=9;j+) System.out.print(j+*”+i+ =”+j*i+ ”); if(i=j) System.out.print(“n”); continue outer; ,4 遞歸-求N!,public class FactorialTest static long Factorial(int n) if(n=1) return 1; else return n* Factorial(n-1); public static void main (String args) int n=8; System.out

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論