第2章Java編程基礎補充案例_第1頁
第2章Java編程基礎補充案例_第2頁
第2章Java編程基礎補充案例_第3頁
第2章Java編程基礎補充案例_第4頁
第2章Java編程基礎補充案例_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、博學谷讓it教學更簡單,讓it學習更有效第二章 java編程基礎案例2-1 定義不同類型的變量一、案例描述 1、 考核知識點編 號:00102005名 稱:變量的定義及其數(shù)據(jù)類型2、 練習目標Ø 了解變量的定義方式Ø 掌握如何為不同類型的變量賦值3、 需求分析變量用于存儲程序運行期間的一些數(shù)據(jù)。為了加深初學者對變量的認識,本案例針對八種基本數(shù)據(jù)類型,分別定義了八個變量,并進行賦值操作。4、 設計思路(實現(xiàn)原理)1)編寫一個類example01。2)在example01的main()方法中,針對八種基本數(shù)據(jù)類型,分別定義變量并賦值。 3)使用println語句打印變量的值。二

2、、案例實現(xiàn)定義example01類,其代碼如下:class example01public static void main(string args) /定義字節(jié)變量byte b = 12;system.out.println(b);/定義短整型變量short s = 1234;system.out.println(s);/定義整數(shù)變量int i = 12345;system.out.println(i);/定義長整型變量long l = 12345678912345l;system.out.println(l);/定義單精度類型(7-8位的有效數(shù)字)float f = 12.5f;syste

3、m.out.println(f);/定義雙精度類型(15-16位的有效數(shù)字)double d = 12.5;system.out.println(d);/定義字符類型char c = 'a'/重新賦值,java中的字符采用的編碼是unicode編碼。占用2個字節(jié)。c = '中'system.out.println(c);/定義布爾類型boolean flag = true;system.out.println(flag);運行結(jié)果如圖2-1所示。圖2-1 運行結(jié)果三、案例總結(jié)1、java對變量的數(shù)據(jù)類型有嚴格的限定。在定義變量時必須聲明變量的類型,并且變量值的類

4、型和變量類型必須一致,否則程序會報錯。2、byte類型的變量存儲的值必須是-27 27-1之間的整數(shù)。賦值的時候,盡量不要超出范圍,如果超出可能損失精度。3、定義變量的方式有兩種,具體如下: 方式一:數(shù)據(jù)類型 變量名 = 初始化值; 方式二:數(shù)據(jù)類型 變量名;變量名 = 初始化值; 案例2-2 變量的自動類型轉(zhuǎn)換一、案例描述 1、 考核知識點編 號:00102006名 稱:變量的類型轉(zhuǎn)換2、 練習目標Ø 了解變量進行自動類型轉(zhuǎn)換的條件3、 需求分析變量的自動類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要顯式地進行聲明。為了明確哪些數(shù)據(jù)類型可以實現(xiàn)自動轉(zhuǎn)換,本案例演示的是將一種數(shù)據(jù)類

5、型的值賦給另外一種數(shù)據(jù)類型變量的情形。4、 設計思路(實現(xiàn)原理)1) 編寫一個類example02。2) 在類example02中,定義byte類型的變量a,int類型的變量b,float類型的變量f,double類型的變量d,其中,變量a的初始值為10,變量f的初始值為12.5f。 3) 將變量a的值賦給變量b,變量a、b、f相加后的結(jié)果值賦給變量d。4) 使用println語句打印出變量b和變量d的值。二、案例實現(xiàn)定義example02類,其代碼如下:class example02public static void main(string args)/隱式轉(zhuǎn)換byte a = 10;in

6、t b = a;float f = 12.5f;system.out.println(b); double d = a+b+f;system.out.println(d);運行結(jié)果如圖2-2所示。圖2-2 運行結(jié)果三、案例總結(jié)1、要實現(xiàn)自動類型轉(zhuǎn)換,必須同時滿足兩個條件,第一是兩種數(shù)據(jù)類型彼此兼容,第二是目標類型的取值范圍大于源類型的取值范圍。2、列出三種可以進行自動類型轉(zhuǎn)換的情況,具體如下:(1)整數(shù)類型之間可以實現(xiàn)轉(zhuǎn)換,如byte類型的數(shù)據(jù)可以賦值給short、int、long類型的變量,short、char類型的數(shù)據(jù)可以賦值給int、long類型的變量,int類型的數(shù)據(jù)可以賦值給long

7、類型的變量。(2)整數(shù)類型轉(zhuǎn)換為float類型,如byte、char、short、int類型的數(shù)據(jù)可以賦值給float類型的變量。(3)其它類型轉(zhuǎn)換為double類型,如byte、char、short、int、long、float類型的數(shù)據(jù)可以賦值給double類型的變量。案例2-3 變量的強制類型轉(zhuǎn)換一、案例描述 1、 考核知識點編 號:00102006名 稱:變量的類型轉(zhuǎn)換2、 練習目標Ø 掌握不同數(shù)據(jù)類型間的強制類型轉(zhuǎn)換3、 需求分析強制類型轉(zhuǎn)換也叫顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型之間的轉(zhuǎn)換需要進行顯式地聲明。例如,兩種類型彼此不兼容,或者目標類型取值范圍小于源類型,都需要進行

8、強制類型轉(zhuǎn)換。為了明確兩種不同類型的變量如何進行強制類型轉(zhuǎn)換,本案例以int和byte類型為例,演示如何將int類型的變量強轉(zhuǎn)為byte類型。4、 設計思路(實現(xiàn)原理)1) 編寫一個類example032) 在example03中的main()方法中定義一個int類型的變量i和byte類型的變量b,并將變量i的值賦給變量b3) 使用println語句打印出變量b的值二、案例實現(xiàn)定義example03類,其代碼如下:class example03public static void main(string args)int i = 10;byte b = (byte)i;system.out.p

9、rintln(b);運行結(jié)果如圖2-3所示。圖2-3 運行結(jié)果三、案例總結(jié)1、強制類型轉(zhuǎn)換,具體格式如下:目標類型 變量 = (目標類型)值2、在對變量進行強制類型轉(zhuǎn)換時,會發(fā)生取值范圍較大的數(shù)據(jù)類型向取值范圍較小的數(shù)據(jù)類型的轉(zhuǎn)換,如將一個int類型的數(shù)轉(zhuǎn)為byte類型,這樣做極容易造成數(shù)據(jù)精度的丟失。int在內(nèi)存中占用4個字節(jié)。byte類型的數(shù)據(jù)在內(nèi)存中占用1個字節(jié),當將變量i的數(shù)據(jù)在內(nèi)存中占的內(nèi)存大于1個字節(jié)時,前面3個高位字節(jié)的數(shù)據(jù)會丟失,數(shù)值也會發(fā)生改變。案例2-4 變量的作用域 一、案例描述 1、 考核知識點編號:00102007名稱:變量的作用域2、 練習目標Ø 了解變量

10、的作用域3、 需求分析在程序中,變量一定會被定義在某一對大括號中,該大括號所包含的代碼區(qū)域便是這個變量的作用域。為了讓初學者熟悉變量的作用域,本案例將在三層的大括號內(nèi)分別定義三個變量x、y、z,用輸出語句輸出變量的值,觀察變量的作用域。4、 設計思路(實現(xiàn)原理)1)編寫一個類example042)在main方法下定義變量x,并在每一層大括號內(nèi)都使用一次x,觀察x的作用域3)在第一層括號內(nèi)定義變量y,并在第二層括號內(nèi)使用y,觀察y的作用域4)在第二層括號內(nèi)定義z,并在第一層括號內(nèi)使用z,觀察z的作用域二、案例實現(xiàn)(1)定義example04類,具體代碼如下所示:public class exam

11、ple04 public static void main(string args) int x = 12; int y = 96; int z = 0; y = x; system.out.println("x is " + x); system.out.println("y is " + y); z = x; system.out.println("z is " + z); system.out.println("x is " + x); 運行結(jié)果如圖2-4所示。圖2-4 運行結(jié)果(3)對上述代碼進行修改,修改

12、后的代碼如下所示:public class example04 public static void main(string args) int x = 12; int y = 96; int z = 0; y = x; system.out.println("z is " + z); system.out.println("x is " + x); system.out.println("y is " + y); system.out.println("x is " + x); 運行結(jié)果如圖2-5所示。圖2-5

13、運行結(jié)果三、案例總結(jié)1、第一次程序編譯錯誤是因為程序在變量z的作用域外進行訪問,所以程序找不到變量z。如果在變量z的作用域內(nèi)訪問z,程序就會編譯成功。2、x定義在main方法下,所有main方法下的任何位置都能夠使用變量x。3、y定義在第一層括號下,因為第二層括號在第一層括號內(nèi),所以在第二層括號內(nèi)使用變量y也不會報錯。案例2-5 算術運算符一、案例描述 1、 考核知識點編號:00102008名稱:算術運算符2、 練習目標Ø 了解算術運算符的用法3、 需求分析在程序中,經(jīng)常會使用算術運算符進行四則運算,為了讓初學者熟悉算術運算符的用法,本案例將以+、-、等運算符為例,講解不同算術運算符

14、的作用。4、 設計思路(實現(xiàn)原理)1)編寫一個類example052)在main方法下定義變量a,并賦值為2,定義變量b,并賦值為4;3)首先運算表達式+a+b+,并把計算結(jié)果賦給變量x,然后將b/a的值賦給變量y;4)輸出變量a、b、x和y的值二、案例實現(xiàn)public class example05 public static void main(string args) int a = 2;int b = 4;int x = +a + b-;int y=b/a;system.out.println("a=" + a);system.out.println("b

15、=" + b);system.out.println("x=" + x);system.out.println("x=" + y);運行結(jié)果如圖2-6所示。圖2-6 運行結(jié)果三、案例總結(jié)1、在進行自增(+)和自減(-)的運算時,如果運算符(+或-)放在操作數(shù)的前面則是先進行自增或自減運算,再進行其它運算。反之,如果運算符放在操作數(shù)的后面則是先進行其它運算再進行自增或自減運算。2、在進行除法運算時,當除數(shù)和被除數(shù)都為整數(shù)時,得到的結(jié)果也是一個整數(shù)。如果除法運算有小數(shù)參與,得到的結(jié)果會是一個小數(shù)。案例2-6 賦值運算符一、案例描述 5、 考核知識點

16、編號:00102009名稱:賦值運算符6、 練習目標Ø 了解賦值運算符的用法7、 需求分析在程序中,經(jīng)常會使用賦值運算符, 它的作用就是將常量、變量或表達式的值賦給某一個變量。為了讓初學者熟悉賦值運算符的用法,本案例將以+=運算符為例,講解賦值運算符的作用。8、 設計思路(實現(xiàn)原理)1)編寫一個類example062)在main方法下定義變量s,并賦值為5,定義變量i,并賦值為12;3)使用賦值運算符計算s+=i+的值,并把計算結(jié)果賦給變量s 4)輸出變量s的值二、案例實現(xiàn)public class example06 public static void main(string ar

17、gs) short s = 5;int i = 12;s += i+;system.out.println("s = " + s);運行結(jié)果如圖2-7所示。圖2-7 運行結(jié)果三、案例總結(jié)1、在賦值過程中,運算順序從右往左,將右邊表達式的結(jié)果賦值給左邊的變量。2、在java中可以通過一條賦值語句對多個變量進行賦值,具體示例如下:int a, b, c,d; a = b = c = d = 5; / 為四個變量同時賦值案例2-7 比較運算符一、案例描述 1、 考核知識點編號:00102010名稱:比較運算符2、 練習目標Ø 了解比較運算符的用法3、 需求分析在程序中,

18、經(jīng)常會使用比較運算符對兩個變量或值進行比較,使用比較運算符的比較結(jié)果是一個布爾類型的值。為了讓初學者熟悉比較運算符的用法,本案例將以=、>=、<=、!=比較運算符為例,講解比較運算符的用法。4、 設計思路(實現(xiàn)原理)1)編寫一個類example072)在main方法下定義變量x、y,并依此賦值為0、1;3)使用=運算符比較字符'a' = 97,輸出運算結(jié)果;4)使用>=運算符比較'a' >= 100,輸出運算結(jié)果;5)使用<=運算符比較x <= y,輸出運算結(jié)果;6)使用!=運算符比較x != y,輸出運算結(jié)果;二、案例實現(xiàn)p

19、ublic class example07 public static void main(string args) int x = 0; / 定義變量x,初始值為0int y = 1; / 定義變量y,初始值為0system.out.println('a' = 97); /判斷字符a是否等于97system.out.println('a' >= 100); /判斷字符a是否大于100system.out.println(x <= y); /判斷x是否小于等于ysystem.out.println(x != y); /判斷x是不是不等于y運行結(jié)果如圖

20、2-8所示。圖2-8 運行結(jié)果三、案例總結(jié) 1、使用比較運算符計算的表達式,返回的結(jié)果是一個布爾類型的值2、不能將比較運算符“=”誤寫成賦值運算符“=”。案例2-8 邏輯運算符一、案例描述 1、 考核知識點編 號:00102011名 稱:邏輯運算符2、 練習目標Ø 了解邏輯運算符的運算規(guī)則Ø 掌握如何使用邏輯運算符進行邏輯運算3、 需求分析邏輯運算符用于對布爾型的數(shù)據(jù)進行操作,其結(jié)果仍是一個布爾型。為了加深初學者對邏輯運算符的印象,本案例定義一個變量x,使用邏輯運算符連接表達式x>1和x<5,通過運行結(jié)果分析邏輯運算符的運算規(guī)則。4、 設計思路(實現(xiàn)原理)1)

21、編寫一個類example082) 在main方法下定義變量x,其初始值為3 2)使用邏輯運算符連接兩個布爾型的表達式x>1和x<53)使用println語句輸出運算結(jié)果二、案例實現(xiàn)定義example08類,其代碼如下:class example08public static void main(string args) int x = 3;system.out.println(x>1 & x<5);system.out.println(x<1 | x<5);system.out.println(x>1 x>5);system.out.pr

22、intln(!(x<1);運行結(jié)果如圖2-9所示。圖2-9 運行結(jié)果三、案例總結(jié)在使用邏輯運算符的過程中,需要注意以下幾個細節(jié):1、邏輯運算符可以針對結(jié)果為布爾值的表達式進行運算。如:x > 3 && y != 0。2、運算符“&”和“&&”都表示與操作,當且僅當運算符兩邊的操作數(shù)都為true時,其結(jié)果才為true,否則結(jié)果為false。當運算符“&”和“&&”的右邊為表達式時,兩者在使用上還有一定的區(qū)別。在使用“&”進行運算時,不論左邊為true或者false,右邊的表達式都會進行運算。如果使用“&&

23、amp;”進行運算,當左邊為false時,右邊的表達式不會進行運算,因此“&&”被稱作短路與。3、運算符“|”和“|”都表示或操作,當運算符兩邊的操作數(shù)任何一邊的值為true時,其結(jié)果為true,當兩邊的值都為false時,其結(jié)果才為false。同與操作類似,“|”表示短路或,當運算符“|”的左邊為true時,右邊的表達式不會進行運算。4、運算符“”表示異或操作,當運算符兩邊的布爾值相同時(都為true或都為false),其結(jié)果為false。當兩邊布爾值不相同時,其結(jié)果為true。案例2-9 位運算符一、案例描述 1、 考核知識點編 號:00102012名 稱:位運算符 2、

24、練習目標Ø 了解位運算符的運算規(guī)則Ø 掌握使用位運算符進行邏輯運算3、 需求分析位運算符是針對二進制數(shù)的每一位進行運算的符號,它是專門針對數(shù)字0和1進行操作的。請使用不同的位運算符對十進制的3和4進行運算。4、 設計思路(實現(xiàn)原理)1) 將十進制3和4換算成二進制數(shù)2) 使用不同的位運算符對3和4進行位運算3) 編寫一個類example094) 在main方法下輸出3和4進行不同的位運算后的結(jié)果5)對比運算結(jié)果,判斷運算是否正確二、案例實現(xiàn)1、將3和4換算成二進制數(shù):3的二進制為00000011;4的二進制為000001002、&:位與運算: 00000100 &a

25、mp;00000011 00000000 所以,4&3=03、|:位或運算符 00000100 |00000011 00000111 所以,4 | 3=74、:異或運算符00000100 00000011 00000111 所以,4 3=75、:按位取反00000011:11111100原碼:1 1111100反碼:1 0000011補碼:1 0000100所以:3=-46、<<:左移 00000011 <<2 00001100 所以:3<<2=12 7、定義example07類,其代碼如下:class example09public static

26、void main(string args) system.out.println(4&3);system.out.println(4|3);system.out.println(43);system.out.println(3); system.out.println(3<<2);運行結(jié)果如圖2-10所示。圖2-10 運行結(jié)果由此可見,二進制位運算與程序運算的結(jié)果一致。三、案例總結(jié)java中的位運算符以及其范例如下error! reference source not found.所示。運算符運算范例結(jié)果&按位與0 & 000 & 101 &

27、; 111 & 00|按位或0 | 000 | 111 | 111 | 01取反0110按位異或0 000 111 101 01<<左移00000010<<20000100010010011<<201001100>>右移01100010>>20001100011100010>>211111000 >>>無符號右移01100010>>>2000110001111100010>>>20011111000案例2-10 運算符的優(yōu)先級一、案例描述 1、 考核知識點編號:

28、00102013名稱:運算符的優(yōu)先級 2、 練習目標Ø 掌握運算符之間的優(yōu)先級3、 需求分析當使用不同的運算符進行運算時,應該按照一定的順序進行運算,即根據(jù)運算符的優(yōu)先級進行運算。為了讓初學者掌握運算符的優(yōu)先級,本案例將通過表達式的運算,講解運算符的優(yōu)先級。 4、 設計思路(實現(xiàn)原理)1) 編寫一個類example102) 在main方法中定義兩個int型變量x和y3) 將表達式3>2*x?x+:-x賦值給y4) 用輸出語句分別輸出變量x和y的值二、案例實現(xiàn)定義example10類,其代碼如下:class example10public static void main(str

29、ing args) int x=1; int y=0; y=3>2*x?x+:-x; system.out.println(x); system.out.println(y);運行結(jié)果如圖2-11所示。圖2-11 運行結(jié)果三、案例總結(jié) 1、本案例中表達式的運算過程如下所示:1) 在表達式y(tǒng)=3>2*x?x+:-x;中賦值運算符=的優(yōu)先級最低,所以要先運算=右側(cè)的表達式;2) ?:為三元運算符,該運算符的優(yōu)先級較低,要先運算?前面的表達式。3) *的優(yōu)先級比>的高,所以3>2*1為true。按照三元運算符的運算規(guī)則表達式等價于y=x+4) x+的+在后面,所以要先進行其它

30、運算再自增,最后結(jié)果為x=2,y=12、下表列舉了java中運算符的優(yōu)先級,數(shù)字越小優(yōu)先級越高。優(yōu)先級運算符1. ()2+ - ! (數(shù)據(jù)類型)3* / %4+ -5<< >> >>>6< > <= >=7= !=8&910|11&&12|13?:14= *= /= %= += -= <<= >>= >>>= &= = |=2、其實沒有必要去刻意記憶運算符的優(yōu)先級。由于運算符“()”的優(yōu)先級最高,編寫程序時,盡量使用括號“()”來實現(xiàn)想要的運算順序,以免產(chǎn)

31、生歧義。案例2-11 if條件語句一、案例描述 1、 考核知識點編號:00102014名稱:if條件語句2、 練習目標Ø 掌握if條件語句的語法格式Ø 了解if條件語句的執(zhí)行流程3、 需求分析ifelse ifelse語句用于對多個條件進行判斷,進行多種不同的處理。為了讓初學者掌握ifelse ifelse語句的用法,本案例將使用ifelse ifelse語句實現(xiàn)判斷某月是哪個季節(jié)的功能。 設計思路(實現(xiàn)原理)1)編寫一個類example112)定義一個變量month用于存儲月份。3)用if條件語句,判斷這個月份在哪一個季節(jié)并輸出結(jié)果,如:春季是3、4、5月,夏季是6、7、

32、8月,秋季是9、10、11月,冬季是12、1、2月4)由于一年只有12個月,所以要過濾除1-12以外的月份值二、案例實現(xiàn)定義example11類,其代碼如下:class example11public static void main(string args) int month = 3;if(month = 3 | month = 4 | month = 5)system.out.println(month+"月是春季");else if(month = 6 | month = 7 | month =8)system.out.println(month+"月是夏

33、季");else if(month = 9 | month = 10 | month =11)system.out.println(month+"月是秋季");else if(month = 1 | month = 2 | month =12)system.out.println(month+"月是冬季"); elsesystem.out.println("沒有這個月份");運行結(jié)果如圖2-12所示。圖2-12 運行結(jié)果三、案例總結(jié)1、felse ifelse語句用于對多個條件進行判斷,進行多種不同的處理。ifelse if

34、else語句具體語法格式如下:if (判斷條件1) 執(zhí)行語句1 else if (判斷條件2) 執(zhí)行語句2.else if (判斷條件n) 執(zhí)行語句n else 執(zhí)行語句n+1ifelse ifelse語句的執(zhí)行流程如圖2-13所示。圖2-13 流程圖2、因為一年只有12個月,所以當month>12時是不符合邏輯的數(shù)據(jù),這時會打印“沒有這個月份”。在編程過程中,經(jīng)常要考慮程序在實際環(huán)境下是否符合邏輯需求。3、“|”表示或操作,當運算符兩邊的操作數(shù)任何一邊的值為true時,其結(jié)果為true,當兩邊的值都為false時,其結(jié)果才為false。所以只要符合三個條件中的一個就會被判斷為這個季節(jié)。

35、案例2-12 switch條件語句一、案例描述1、 考核知識點編號:00102015名稱:switch條件語句2、 練習目標Ø 熟悉switch條件語句的語法格式Ø 了解switch條件語句的特點3、 需求分析switch 條件語句也是一種很常用的選擇語句,和if條件語句不同,它只能針對某個表達式的值作出判斷,從而決定程序執(zhí)行哪一段代碼。為了讓初學者熟悉switch 條件語句,本案例將使用switch 條件語句實現(xiàn)判斷選擇題對錯的功能。4、 設計思路(實現(xiàn)原理)1)編寫一個類example12 2)定義一個變量answer用于存儲答案選項 3)用switch條件語句判斷如果

36、變量answer為b則正確,其它則錯誤 4)如果變量answer不等于abcd四個選擇則打印“不存在此選項”二、案例實現(xiàn)定義example12類,其代碼如下:class example12public static void main(string args) char answer = 'b'switch(answer)case 'a':system.out.println("a錯誤");break;case 'b':system.out.println("b正確");break;case 'c&

37、#39;:system.out.println("c錯誤");break;case 'd':system.out.println("d錯誤");break;default:system.out.println("不存在此選項");運行結(jié)果如圖2-14所示。圖2-14 運行結(jié)果三、案例總結(jié)1、switch語句的執(zhí)行流程是:根據(jù)表達式的值查找與其匹配的項,如果有匹配項,則執(zhí)行該匹配項下面的語句。如果沒有匹配項,就會執(zhí)行default后面的語句。2、switch關鍵字后括號內(nèi)的表達式可以是byte,short,int,cha

38、r四種類型;在jdk5以后表達式可以是枚舉;在.jdk7以后表達式可以是字符串。3、switch語句只適合判斷若干值的情況,不適合判斷范圍。4、if和switch都可以判斷值的情況,這時應該使用switch語句,因為switch的效率比if語句高。案例2-13 while循環(huán)語句一、案例描述1、 考核知識點編號:00102016名稱:while循環(huán)語句2、 練習目標Ø 掌握while循環(huán)語句的語法格式和使用Ø 了解while循環(huán)語句的特點3、 需求分析while語句會反復地進行條件判斷,只要條件成立,內(nèi)的執(zhí)行語句就會執(zhí)行,直到條件不成立,while循環(huán)才會結(jié)束。為了讓初學者

39、熟悉while語句,本案例將使用while語句實現(xiàn)統(tǒng)計1-10以內(nèi)奇數(shù)的功能。4、 設計思路(實現(xiàn)原理)1)編寫一個類example132)定義一個變量x為1,用while語句循環(huán)條件為x<=10 3)在while循環(huán)中,使用表達式x%2判斷是否為奇數(shù),如果為奇數(shù),則變量count的值加1。 二、案例實現(xiàn)定義example13類,其代碼如下:class example13public static void main(string args) int x = 1; int count; count = 0; while(x<=10) if(x%2=1) count+;system.

40、out.println(x); x+; system.out.println("count="+count);運行結(jié)果如圖2-15所示。圖2-15 運行結(jié)果三、案例總結(jié)1、while循環(huán)語句和條件判斷語句有些相似,都是根據(jù)條件判斷來決定是否執(zhí)行大括號內(nèi)的執(zhí)行語句。區(qū)別在于,while語句會反復地進行條件判斷,只要條件成立,內(nèi)的執(zhí)行語句就會執(zhí)行,直到條件不成立,while循環(huán)結(jié)束。2、while循環(huán)的執(zhí)行流程如圖2-16所示。圖2-16 流程圖案例2-14 for循環(huán)語句一、案例描述1、 考核知識點編號:00102017名稱:for循環(huán)語句2、 練習目標Ø 掌握fo

41、r循環(huán)語句的語法格式和使用Ø 了解for循環(huán)語句的特點3、 需求分析 for循環(huán)語句是最常用的循環(huán)語句,一般用在循環(huán)次數(shù)已知的情況下。為了讓初學者熟悉for循環(huán)語句,本案例將使用for循環(huán)語句計算1+2+3+4+5.+100表達式的結(jié)果4、 設計思路(實現(xiàn)原理)1)編寫一個類example142)在該類中定義一個變量sum來存儲每次循環(huán)整數(shù)相加的和。3)在for循環(huán)語句中定義變量x,循環(huán)條件為x<=100二、案例實現(xiàn)定義example14類,代碼如下所示:class example14public static void main(string args) int sum =

42、0;for(int x = 1 ; x <= 100 ; x+) sum = sum + x;system.out.println("sum=" +sum);程序編譯時發(fā)生了錯誤,結(jié)果如圖2-17所示。圖2-17 編譯結(jié)果三、案例總結(jié)1、在for循環(huán)中,for關鍵字后面()中包括了三部分內(nèi)容:初始化表達式、循環(huán)條件和操作表達式,它們之間用“;”分隔,中的執(zhí)行語句為循環(huán)體。2、通過序號來具體分析for循環(huán)的執(zhí)行流程。具體如下:for( ; ; ) 第一步,執(zhí)行第二步,執(zhí)行,如果判斷結(jié)果為true,執(zhí)行第三步,如果判斷結(jié)果為false,執(zhí)行第五步第三步,執(zhí)行第四步,執(zhí)行,

43、然后重復執(zhí)行第二步第五步,退出循環(huán)案例2-15 for循環(huán)嵌套一、案例描述1、 考核知識點編號:00102018名稱:循環(huán)嵌套 2、 練習目標Ø 掌握循環(huán)嵌套的使用和執(zhí)行順序3、 需求分析 在編程過程中,經(jīng)常需要雙重循環(huán)或多重循環(huán),這就需要循環(huán)語句的嵌套。最常見的循環(huán)嵌套就是在for循環(huán)中嵌套for循環(huán)。為了讓初學者熟悉for循環(huán)嵌套的使用,本案例將演示如何用for循環(huán)嵌套打印由“*”組成的直角三角形。具體要求如下:l 第一個三角形為倒直角三角形,共5行,第一行5個 “*”,一行減少一個,第5行一個“*” l 將倒直角三角形上下翻轉(zhuǎn)為正直角三角形,第一行1一個“*”,第5行5個“*”

44、4、 設計思路(實現(xiàn)原理)1) 分析第一個三角形的打印,外層for循環(huán)控制行數(shù),初始化表達式從0開始,循環(huán)條件為小于5;第一行是5個“*”所以應該內(nèi)層循環(huán)打印5次,初始化表達式從0開始,循環(huán)條件為小于5。同理,內(nèi)層的循環(huán)初始化和條件如下所示: 0 1 2 3 4 1 2 3 4 2 3 4 3 4 4 由此可見內(nèi)層循環(huán)的初始化表達式y(tǒng) 與外層的x是相等的,循環(huán)條件都是小于5。2) 分析第二個三角形的打印,第一行1個“*”,第二行2個“*”.由此可見,內(nèi)層循環(huán)的循環(huán)次數(shù)與行數(shù)是相等的,所以內(nèi)層循環(huán)的y小于或等于外層的x。二、案例實現(xiàn)定義example15類,代碼如下所示:class exampl

45、e15public static void main(string args) for(int x = 0 ; x < 5 ; x+) for(int y = x; y < 5 ; y+) system.out.print("*"); system.out.println(); system.out.println("-");for(int x = 0 ; x < 5 ; x+) for(int y = 0; y <= x ; y+) system.out.print("*"); system.out.prin

46、tln();運行結(jié)果如圖2-18所示。圖2-18 運行結(jié)果三、案例總結(jié)由于嵌套循環(huán)程序比較復雜,下面分步驟進行講解,具體如下:第一個三角形:1、 當x=0時,y=0且y<5,循環(huán)5次,完成后返回到外層循環(huán)進行換行。2、 當x=1時,y=1且y<5,循環(huán)4次,完成后返回到外層循環(huán)換行。3、 當x=2時,y=2,循環(huán)3次,完成后返回到外層循環(huán)換行。4、 當x=3時,y=3,循環(huán)2次,完成后返回到外層循環(huán)換行。5、 當x=4時,y=4,循環(huán)1次,完成后返回到外層循環(huán)換行。由于x<5所以循環(huán)終止,打印結(jié)束。第二個三角形:1、 當x=0時,y=0且y<=0,循環(huán)1次,完成后返回到

47、外層循環(huán)進行換行。2、 當x=1時,y=0且y<=1,循環(huán)2次,完成后返回到外層循環(huán)進行換行。3、 當x=2時,y=0且y<=2,循環(huán)3次,完成后返回到外層循環(huán)進行換行。4、 當x=3時,y=0且y<=3,循環(huán)4次,完成后返回到外層循環(huán)進行換行。5、 當x=4時,y=0且y<=4,循環(huán)5次,完成后返回到外層循環(huán)進行換行。由于x<5所以循環(huán)終止,打印結(jié)束。案例2-16 break語句一、案例描述1、 考核知識點編號:00102019名稱:跳轉(zhuǎn)語句(break語句)2、 練習目標Ø 了解break語句的作用Ø 掌握break語句在循環(huán)語句中的使用3、 需求分析 在java中,跳轉(zhuǎn)語句用于實現(xiàn)循環(huán)執(zhí)行過程中程序流程的跳轉(zhuǎn)。break語句是其中的一種跳轉(zhuǎn)語句。為了讓初學者熟悉break語句的使用,本案例將演示如何使用break語句在for循環(huán)嵌套中跳出外層循環(huán),在while循環(huán)中終止循環(huán)。4、 設計思路(實現(xiàn)原理)1) 寫一個for循環(huán)嵌套,在內(nèi)層和外層循環(huán)分別用一個符號標記,并在內(nèi)層循環(huán)中,使用break語句跳出外層循環(huán)標記,觀察執(zhí)行結(jié)果是否跳出外層循環(huán)。2) 寫一個while循環(huán),定義一個變量z,從0開始循環(huán)自增。在z大于5時跳出循環(huán)。在循環(huán)中輸出變量z的值,觀察執(zhí)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論