版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java程序設計授課教案授 課 人:授課班級:電子商務專業(yè)第一章 Java語言簡介教學目的要求 了解Java的基本特點和用途 掌握如何下載Java SDK軟件包 了解設置Java程序的開發(fā)環(huán)境SDK 如何運行Java程序 了解Java的概貌主要內容 Java語言的發(fā)展歷程; Java語言的特點; Java語言的開發(fā)工具; Java應用程序和小程序; Java程序的注釋方法; 寫Java程序的風格規(guī)范。重點內容 Java語言的特點; Java語言的開發(fā)工具; Java應用程序和小程序;難點內容無課時分配1課時教學方法講授法、演示法、對比法講授內容提要1.1 Java語言的發(fā)展簡介1991年Sun
2、 Mircosystem 公司成立了一個Green項目開發(fā)小組,Jame Gosling 為組長;設計Java采用虛擬機代碼(Virtual Machine Code),即.class文件,它通過解釋器運行 ;1995年5月Sun Mircosystem 公司對外正式發(fā)布Java1.0; Java2 用途:適用于各種應用開發(fā),尤其是網絡應用,網絡服務和嵌入式系統(tǒng) 。1.2 Java語言的特點1簡單性2面向對象3網絡適用性4健壯性5安全性6平臺無關性7可移植性8解釋型9高性能10多線程11動態(tài)性12豐富的類庫13嵌入瀏覽器運行1.3 Java類庫的概念1.4 網絡瀏覽器1.5 Java開發(fā)工具N
3、etBeans: 這個集成環(huán)境可以方便地進行程序的編輯、編譯、生成和運行。J2sdk : http:/ 免費下載 ;Visual J+ 6.0 / 8.0: VJ+還吸收了VB集成開發(fā)環(huán)境IDE的特征,是一個強有力的Java程序開發(fā)工具。Jcreator Eclipse (MyEclipse)等1.6 Java程序的分類基于控制臺的應用程序;基于瀏覽器運行的小程序applet。小程序與應用程序的區(qū)別是:小程序必須依賴一個HTML文件和支持Java的網絡瀏覽器。老師演示小程序和applet程序應用程序舉例 ( 程序1-1 ):public class hello publ
4、ic static void main (String args ) System.out.println (Hello Java !); 小程序舉例 ( 程序1-2 ):import java.awt.Graphics; / 注意該行的含義import java.applet.Applet;public class sayhello extends Applet public void paint (Graphics g ) g.drawString (Hello Java !,35,30); 小程序對應的HTML文件: 1.7 對Java程序的解釋1.8 編寫Java程序的風格要求課堂練習
5、:請編寫一個應用程序輸出你自己的學號和姓名課外練習(作業(yè)):下載并安裝J2SDK;設置系統(tǒng)環(huán)境變量下載并安裝MyEclipse熟悉MyEclipse的開發(fā)環(huán)境第2章 數(shù)據類型、運算符和表達式教學目的要求 掌握字符常量和符號表示的常量的概念和應用 掌握整形、浮點型、字符型和布爾型變量的概念和應用 掌握數(shù)據的概念 理解參數(shù)傳遞方式 學會邏輯運算符、算術運算符和位運算符的使用方法主要內容 常量:包括字面常量和符號表示的常量; 變量:整形、浮點型、字符型和布爾型; 數(shù)組:Java的數(shù)組屬于類類型; 參數(shù)傳遞方式; 運算符:包括邏輯運算符、算術運算符和位運算符等; 重點內容 整形、浮點型、字符型和布爾型
6、變量的概念和應用; 符常量和符號表示的常量的概念和應用難點內容 參數(shù)傳遞方式課時分配2課時教學方法講授法、演示法、對比法、實驗驗證法講授內容提要2.1 常量整形常量:采用八進制、十進制、十六進制表示,但不能采用二進制表示,和C/C+中的一樣。 浮點常量:采用十進制或科學記數(shù)法表示。在缺省情況下一個浮點數(shù)是double型。布爾常量:true和false,它們不是數(shù),不能進行算術運算。字符常量:與C/C+中的表示類似 。字符串常量:Java中字符串常量是對象 。2.2 變量變量的命名原則是:以字母(az和 AZ)、下劃線(_)和$符號開頭的, 由字母、數(shù)字(09)、下劃線和$構成的一個符號序列。例
7、如,a,_a,NameOfStudent,$10均是合法變量名,而-a和9a是非法變量名。關鍵字不能用作變量名 ( 見表2-1 )注意:Java對變量是區(qū)分大小寫 .2.2.1 整形類型的變量字節(jié)(byte)型,8個位。 短整形(short),占16個位。整形 ( int ),占32個位。長整形 ( long int ),占64個位。Java中的整形最值均有符號。例如程序2-1測試最值:public class Test_Int / 程序2-1 測試整形變量的最值 public static void main(String args)System.out.println(Byte.MAX_V
8、ALUE ); System.out.println(Byte.MIN_VALUE ); System.out.println(Short.MAX_VALUE );System.out.println(Short.MIN_VALUE );System.out.println(Integer.MAX_VALUE ); System.out.println(Integer.MIN_VALUE ); System.out.println(Long.MAX_VALUE ); System.out.println(Long.MIN_VALUE); 注意: byte、short、int、long是原子類型
9、,而Byte、Short、Integer和Long分別是四種原子類型對應的類類型。 2.2.2 字符類型變量Java字符量的長度為16個位,表示范圍是從u0000 到 uffff 即從0 到 65535;Character是char類型對應的類類型 ;最大值 Character.MAX_VALUE ;最小值 Character.MIN_VALUE ;2.2.3 浮點類型變量分類:float和double。Float 、Double 是對應的類類型 ;Float.MAX_VALUE、Float.MIN_VALUE是最值。Float.POSITIVE_INFINITY 和 Float.NEGATI
10、VE_INFINITY是正/負無限大 。2.2.4 布爾類型變量boolean變量取值:true和false ;true和false不能轉換成任何數(shù)值表示,true不是1,false也不是0 。2.2.5 原子類型變量的生存空間一個變量的生存空間是由兩個大括號決定的 范圍。下列寫法在C/C+中是正確的,但在Java中是錯誤的 ( 注意 )。int x=1;int x=0; / 錯誤2.3 變量賦值問題如果類中定義的原子類型變量,未給出初值,那么它們將有缺省值 :byte、short、int 和long變量的缺省值是0;char 、float、double和boolean變量的缺省值分別是u0、
11、0.0f、0.0d和false。 方法內定義的局部變量,應當對其賦值,否則無法通過編譯 。例如:/ 程序2-4class Test / 定義一個類int Value; / 類中的變量未賦值,缺省就是0public class Test_Varpublic static void main(String args) int x=100; / 必須賦值,否則無法通過編譯Test obj=new Test( );/ 對象賦值System.out.println( obj.Value + +x); 2.4 數(shù)組Java數(shù)組是系統(tǒng)定義類Array 的子類;數(shù)組的分類同C/C+:一維和多維。2.4.1 一
12、維數(shù)組定義數(shù)組的格式 :int a ; 或 int a ;其值是null ;在定義數(shù)組時不能指定大小。a僅是一個引用,代表一個數(shù)組名,但沒有對應的空間。產生數(shù)組空間的方法有兩種 : 在定義時直接賦值:int a =1,2,3; 通過new分配空間:int a =new int10;public class Test_Arraypublic static void main(String args)int a =1,2,3, b ; b= a ; for(int i=0;i3;i+) b i +;for(int i=0;i3;i+) System.out.println(ai); public
13、class Test_Arraypublic static void main(String args)int a =1,2,3, b ;b = new int6; System.out.println( “b數(shù)組長度 = ” + b.length);for(int i=0;ishort-int-long-float-double。這種轉換規(guī)則也適應于賦值語句,當賦值符左右兩側變量類型不一致時,只要轉換過程中不丟失數(shù)據,便進行自動轉換。 class number int x;public class relationalOperator public static void main(Stri
14、ng args )number n1,n2;n1=new number( ); n2=new number( ); n1.x=1; n2.x=1;if(n1.x=n2.x) System.out.println(對象的數(shù)據成員x相等!); if(n1=n2) System.out.println(n1和n2是一個對象!);else System.out.println(n1和n2不是一個對象!);2.6.2 關系運算符關系運算符不能同其它類型的變量一同 參與運算,例如假設a,b,c是三個整形的變量,那么 a=b=c 是 正確 OR 錯誤? ;關系運算符用于對象時,是判別兩個引用是否代表同一個對
15、象。而不是判斷兩個引用所指向的對象是否同屬一個類。2.6.3 邏輯運算符邏輯運算符有&、| 和!,分別是與、或和非。運算結果是true或false; 邏輯運算有求值“短路”現(xiàn)象 ,例如程序2-11 :public class shortCut static boolean testOne(int x)System.out.println(x+ +1+ + (x1) );return x 1; static boolean testTwo(int x)System.out.println(x+ +1+ +(x2);return x 2; public static void main(Strin
16、g args)if (testOne(6) & testTwo(1)System.out.println(表達式為真);else System.out.println(表達式為假);2.6.4 位運算符位運算符:&、|、,分別稱為位與、或、異或、左移、右移;Java引入一個專門用于邏輯右移運算符,它采用了所謂的零擴展技術,不論原值是正或負,一律在高位補0。例如: int a= - 2 , b ; b=a30;2.6.5 三元條件運算符語法格式:(exp)? (exp1) :(exp2) ;Java要求:(exp1)與(exp2)必須同類型 。2.6.6 “+”運算符Java對“+”進行了重載,
17、可以將任何類型的對象(包含原子類型)轉化為String類型。 例如:int x=1;char ch=A; double d=9.8;System.out.println(Result: +x+ch+9.8);課堂練習:課外練習(作業(yè)):P32 3、4、6題。第3章 控制語句教學目的要求 了解Java程序的結構,學習使用各種語句結構來控制程序的流程,完成程序的功能任務。主要內容 Java的分支語句; 循環(huán)控制語句; break和continue語句; 帶標號的break和continue語句。 重點內容 Java的分支語句; 循環(huán)控制語句; break和continue語句;難點內容 循環(huán)控制語
18、句; break和continue語句;課時分配3課時教學方法講授法、演示法、對比法、實驗驗證法講授內容提要3.1 分支語句if-else語句;switch-case語句 。3.1.1 if 語句if語句的語法格式 同C/C+;條件表達式必須是布爾類型,例如:下面的寫法在C/C+中是合法的,但在Java中卻是非法的 :int i=10;if ( i ) . 程序3-1描述了用applet從文本框獲取數(shù)據,然后將比較的結果顯示出來。 / 程序 3-1import java.awt.*;import java.applet.*; public class compareNumbers extend
19、s AppletLabel lab1,lab2;TextField input1,input2;int num1,num2;public void init( ) lab1=new Label(輸入第1個整數(shù)); input1=new TextField(10);lab2=new Label(輸入第2個整數(shù));input2=new TextField(10);add(lab1); add(input1); add(lab2);add(input2);public boolean action(Event e , Object o) if (e.target=input1 | e.target=
20、input2) num1=Integer.parseInt(input1.getText( ); num2=Integer.parseInt(input2.getText( );if(num1num2)showStatus(num1 + num2)showStatus(num1+ +num2);else showStatus(num1+ = +num2);return true;3.1.2 switch 語句switch語句的語法結構 同C/C+;switch后面的表達式類型必須是字符類型或整形 ;case后面的常量不能重復 ;程序3-3采用小程序實現(xiàn)將學生的百分制成績轉換為優(yōu)、良,中、及格和
21、不通過五個等級:/ 程序3-3import java.awt.*;import java.applet.*;public class scoreConvert extends AppletLabel prompt;TextField input;int Excellent,Good,Middle,Pass,Failure;public void init( ) prompt=new Label(輸入成績);input=new TextField(2);add(prompt);add(input);public void paint(Graphics g) g.drawString(各等級的人數(shù)
22、:,25,40);g.drawString(優(yōu)秀 : +Excellent,25,55);g.drawString(良好 : +Good,25,70);g.drawString(中等 : +Middle,25,85);g.drawString(及格 : +Pass,25,100);g.drawString(不通過: +Failure,25,115);public boolean action(Event e , Object o) int score=Integer.parseInt(input.getText( ); showStatus(); input.setText(); switch
23、(score/10) case 10:case 9: Excellent+; break;case 8: Good+; break;case 7: Middle+; break;case 6: Pass+; break;case 5: case 4:case 3:case 2:case 1:case 0: Failure+; break;default: showStatus(輸入有誤,重新輸入!); repaint( ); return true;程序3-3需要注意的地方在action()方法中調用的repaint( )方法,是一個系統(tǒng)方法,它具有自動調用paint( )方法的能力,從而實現(xiàn)
24、對網頁的刷新。3.2 循環(huán)控制語句Java中的循環(huán)控制語句有三種,分別是:while,do-while和for語句;循環(huán)體內的語句會反復執(zhí)行,直到控制布爾表達式的值變?yōu)閒alse為止。3.2.1 while語句while語句格式: while ( Boolean-Expression ) StatementS 程序示例3-4 略3.2.2 do-while語句do-while語句的語法格式如下:do Statementwhile (Boolean-Expression ) ;程序3-5 如下:/ 產生一個大于0.9的隨機數(shù)為止public class GenerateDoubleNumbers
25、 public static void main(String args )double d;dod=Math.random( );System.out.println(d);while (d=1;row-) xpos=25;ypos+=15;for(int column=1;column=row;column+) g.drawString(*,xpos,ypos);xpos+=7; 3.3 break語句和continue語句3. 3.1 不帶標號的break語句和continue語句break語句可以跳出包含它的最內層的循環(huán),不再執(zhí)行剩余的語句;continue語句停止執(zhí)行當前的循環(huán),回到
26、循環(huán)處,開始執(zhí)行下一輪的循環(huán)。這些特性和C/C+的功能一樣。for( int i=1;i10;i+) if(i%3=0) continue; else System.out.println(i = +i); for( int i=1;i=0 & h=0 & m=0 & s60)? s: 0);return this ;String tostring( )return hour+:+min+:+sec ;public class timeToString extends Appletprivate time t;public void init( ) t=new time( );public v
27、oid paint(Graphics g) t.setHour(18).setMin(30).setSec(20); g.drawString( time:+t.tostring( ),25,45);在構造方法內部使用this,它用于指代另外一個構造方法,但不能指代非構造方法。例如:class point int x, y;point( )this(-1,-1);point(int a, int b) x=a;y=b;4.7 繼承繼承是軟件重用的一種形式 ,可以提高系統(tǒng)的性能;繼承語法:class className extends superClassName 各實例變量和方法的定義 例如:
28、class point int x, y; point(int x, int y) this.x=x; this.y=y; point( ) this.x=0; this.y=0; class circle extends point int radius; circle(int r, int x, int y) radius=r; this.x=x; this.y=y; Java不支持多繼承,但支持多接口;子類的對象也是其超類的對象,反之未必;繼承具有傳遞性: B繼承于A,C又繼承于B,則C也繼承了A中的實例變量和方法。關鍵字super構造方法是一種特殊的方法,子類不能繼承超類的構造方法,但
29、子類構造方法可以通過super調用超類的構造方法。 當創(chuàng)建子類對象時,首先執(zhí)行超類構造方法,然后執(zhí)行子類的構造方法。例如:class point / 程序4-8 int x, y; point(int x, int y) this.x=x; this.y=y; System.out.println(父類構造函數(shù)被調用!); class circle extends point int radius; circle(int r, int x, int y) super(x, y); radius=r; System.out.println(子類構造函數(shù)被調用!); public class te
30、stInherence public static void main(String args ) circle c1;c1=new circle(1,1,1);再次討論構造方法若父類沒有定義構造方法,那么對父類數(shù)據的初始化將采用系統(tǒng)缺省的構造方法;例如:class point int x, y; class circle extends point int radius; circle(int r, int x, int y) this.x=x; this.y=y; radius=r; 若父類定義有缺省構造方法,那么子類可根據自己的需要設置自己的構造方法。例如:class point int x, y; point( ) this(0,0); point(int x, int y) this.x=x; this.y=y; class circle extends point / 注意子類的構造函數(shù) int radius; circle(int r, int x, int y) radius=r; 若父類定義的構造方法都是有參的,那么子類構造方法必須通過super調用父類構造方法,class point private int x, y; point(int x, int y) this.x=x; this.y=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源行業(yè)銷售人員2025年度勞動合同2篇
- 2025年住房公積金租房提取政策執(zhí)行效果評估合同3篇
- 二零二五年度農村土地互換及農業(yè)科技創(chuàng)新協(xié)議書
- 二零二五年度農村房屋贈與合同附農業(yè)科技研發(fā)合作協(xié)議
- 二零二五年度醫(yī)療影像設備加工承攬合同3篇
- 二零二五年度公司租賃車輛駕駛人員考核及培訓協(xié)議2篇
- 二零二五年度公司與自然人環(huán)保項目合作協(xié)議3篇
- 二零二五年度智能家電產品開發(fā)合作協(xié)議書2篇
- 2025年度網約貨車司機兼職服務協(xié)議3篇
- 2025年度環(huán)保型機械研發(fā)與生產合作協(xié)議3篇
- GB/T 1094.7-2024電力變壓器第7部分:油浸式電力變壓器負載導則
- 2025版國家開放大學法律事務??啤斗勺稍兣c調解》期末紙質考試單項選擇題題庫
- 2024小學數(shù)學義務教育新課程標準(2022版)必考題庫附含答案
- DB32/T 2283-2024 公路工程水泥攪拌樁成樁質量檢測規(guī)程
- 2,3-二甲苯酚的理化性質及危險特性表
- 申報職稱:副教授演示課件
- 型濾池計算說明書
- 格力離心機技術服務手冊
- 水泥攪拌樁計算(完美)
- 旭化成離子交換膜的介紹
- JJRB輕鋼龍骨隔墻施工方案要點
評論
0/150
提交評論