最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

張小飛的Java之路——第五章

2023-03-25 11:23 作者:bili_32311085394  | 我要投稿

寫在前面:

視頻是什么東西,有看文檔精彩嗎?

視頻是什么東西,有看文檔速度快嗎?

視頻是什么東西,有看文檔效率高嗎?



1. 流程控制語句

諸小亮:“接下來,我們就需要學習一下 Java 中的流程控制儀語句了”

張小飛:“什么是流程控制語句?”

“就是用來控制代碼執(zhí)行的,用文字不是很好表達,但是寫代碼一看,你就明白了”

1. 條件判斷語句

諸小亮:“來,我們先看第一種:條件判斷語句,在 Java 中使用 if 作為條件判斷”

格式:

1. 初體驗

“師弟,你先看看這段代碼:”

結果:

“原來這就是條件判斷啊,很簡單啊,如果 a<b = false,就不執(zhí)行 {} 中的代碼了吧

“是的,不過這只是 if 的最基本用法,我們繼續(xù)看其他用法”

2. if...else...

諸小亮:“if 可以配合 else 使用,比如:”

結果:

“太簡單了,還有其他用法嗎?”

“還有最后一種”

3. else if

“可以配合 else if 使用,比如:”

結果:

“有點兒意思,師兄,我總結一下,您看看這樣理解對嗎?”

  • 使用 if{} else if{} else{},最終肯定只有一對 {} 中的代碼能夠執(zhí)行

“確實是這樣的,不過需要注意一點:else if 可以在代碼中寫多個,比如:”

“原來還可以這樣,我知道了”

4. 簡寫方式

諸小亮:“if 還有一種簡寫方式,來我們也看看吧:”

張小飛:“真的可以嗎?我也來試試”


“拜托,把 ‘嗎?’換成 ‘!!’,就這么不想相信我?”

“怎么會不相信您呢?只是.....,師兄,不對吧,我這里編譯代碼時報錯了”

“怎么可能,讓我看看你的代碼”


“跟你的一模一樣,您看看”

“。。。,哪里一樣了,你在仔細看看:只有在 {} 中的代碼只有一句的時候,才能省略大括號


“噢噢,不好意思,是我看錯了”

“另外,雖然可以省略大括號,但是,阿里的編碼規(guī)范規(guī)定,使用 if 必須得有 {}

“這是為什么呢?”

“應該是為了增強代碼的可閱讀性吧,你以后寫的多了就明白了”

“好的,好的”


2. switch 語句

諸小亮:“來,我們接著看 switch 語句,其實準確來說應該是 swith case 語句”

張小飛:“這又是干什么的?”

“跟 if 類似,但又不一樣,是一種選擇結構語句

“。。。,什么叫類似,又不一樣”

“我也不知道該怎么描述,還是看代碼吧(注意看代碼中的注釋)

結果:

“原來是這樣,執(zhí)行到 break 后就跳出 switch 的大括號了

“是的,其實 switch 并不是很重要,工作中也很少使用”

“那還講它干嘛?”張小飛問道

“雖然很少用,但還是有人用,別到時后看到了,不明白什么意思就糟了”

“哦,原來是這樣”

“師兄,如果把 break 去掉會怎么樣呢?就像這樣”

“這個,我就建議你自己跑一下,會讓你大吃一驚的”

“好,我來試試..........,結果竟然是這個樣子”

“為什么會輸出 B 呢,是不是我哪里寫的錯了”

諸小亮:“你沒有寫錯,我給你解釋一下吧”

  • switch 中的值與 case 的值相等時,開始執(zhí)行 case 后面的代碼,執(zhí)行到 break時,跳出 switch

  • 語法上,break; 并不是必須的,就像你寫的那樣

  • 輸出 B 的原因:第一個 case 匹配上后輸出 A,因為沒有 break,所以繼續(xù)往下執(zhí)行第二個 case 中的代碼,直到遇上break,如果所有case都沒有break,那么代碼執(zhí)行到switch語句結束

張小飛:“原來如此”

“但是,一般人為規(guī)定,每個 case 中都要有 break

“如果沒有一個 case 可以匹配上呢?”

“那就要加上 default 語句了,比如:”

結果:

,一般人為規(guī)定,switch中必須有一個default語句

“好的,我記下了”

“不不不不不不不不不不不不不...”

“哎,這是踩電線上了?”張小飛一邊問,一邊拉一下諸小亮

“我的意思是,這個東西不用記,只需要看到后能明白什么意思就行”

“好的,好的”

諸小亮:“既然說到了這里,那就再給你說兩個規(guī)則,這也不用記”

  • case后面的值不能重復,比如:

上圖代碼,編譯會報錯


  • switch 中的值可以是: byte、short、int、char、Enum、String 等類型

張小飛:“這個 Enum、String 是什么?

Enum是枚舉,String是字符串,這兩個東西我們會在之后的課程中說到



3. 循環(huán)語句

諸小亮:“接著來看:循環(huán)語句(非常重要),開發(fā)中經(jīng)常用到”

張小飛:“那,具體什么是循環(huán)語句呢?”

諸小亮:“就是可以讓代碼重復執(zhí)行的語句

1. while

諸小亮:“我們先看第一種:while”

語法:

張小飛:“這看著倒是跟 if 很像”

“是的,只不過,while的 { } 中的代碼會重復執(zhí)行”

1. 初體驗

“師弟,上圖代碼的執(zhí)行過程:”

  • 先判斷 num >0 的結果,是否為 true

  • 為 true,則執(zhí)行 { }中的代碼

  • 然后再判斷num >0 結果,是否為true。。。。。。,一直這樣循環(huán)

  • 如果num>0一直為 true ,則 { } 中的代碼就一直循環(huán)執(zhí)行,所以 { } 中的代碼又稱為:循環(huán)體

  • 當 num >0 =false時,循環(huán)結束

張小飛:“按照您的說法,上圖中 while 的代碼會一直執(zhí)行啊,永遠停不下來”

諸小亮:“是的,這被稱為:死循環(huán),也是禁止出現(xiàn)的”

2. 死循環(huán)

諸小亮:“上圖代碼中 num > 0永遠是true,所以循環(huán)體會一直運行,這種情況稱為:死循環(huán)

  • 在實際開發(fā)中死循環(huán)是禁忌,不允許出現(xiàn)

張小飛:“那,怎么才能避免死循環(huán)呢?”

“這就需要我們在循環(huán)體中修改 num 的值,從而可以讓 num>0 為 false,比如:”

結果:

“原來如此,我明白了”

3. 一個小練習

諸小亮:“既然你明白了,就做一個小練習吧,需求:計算1....100的連續(xù)自然數(shù)之和”

張小飛:“。。。。。?!?/span>

“我們先分析一下這個需求,它的計算邏輯應該是這樣的:”

  • 先計算1+2=3,得到一個和(假設用 sum 表示這個和)

  • 然后計算 sum+3,得到一個新的和(可以這樣寫:sum = sum + 3)

  • 然后計算 sum + 4,。。。。。。。

  • 然后計算 sum + 5,。。。。。。。

“我明白了,其實一直都是 sum 加上下一個數(shù),這是在重復運行”張小飛驚喜道

“是的,那么它的代碼應該是。。。。”

“我來,我來” 張小飛搶著說

結果:

諸小亮:“沒錯,不得不說你還是很有天賦的”

“那是”張小飛驕傲的說到

2. do while

張小飛:“這個 do while 也是循環(huán)?”

諸小亮:“是的,它跟 while 類似,只是寫法上有些不同,比如:”

結果:

“它的執(zhí)行過程,跟 while 還是有些差別的”

  • 從 do 開始,先執(zhí)行循環(huán)體中的代碼

  • 然后判斷 n > 0 是否為 true,為 true 就繼續(xù)執(zhí)行循環(huán)體

  • 當 n >0 =false時,循環(huán)結束

“師兄,我知道差別在哪里了,do while中,循環(huán)體的代碼最少會執(zhí)行一次,比如:”

結果:

“沒錯,它跟 while 的區(qū)別就是:while 先判斷條件,do while 先執(zhí)行循環(huán)體再判斷條件

3. for(重要)

諸小亮:“下面,就介紹最后一個 for 循環(huán)了,這是循環(huán)語句中最最最最最最最最最最最最最最重要的”

張小飛無奈道:“。。。,師兄,麻煩你正常點兒好不好?”

諸小亮:“這不是為了讓你知道 for 的重要性嘛,不識好人心”

“好好好,我錯了,您接著說”

1. 初體驗

“首先,看一下 for 的語法格式:”

張小飛:“嗯...,額...,完全沒有看懂”

“沒關系,跑個代碼你就明白了,比如:”

結果:

“大致可以看明白,但是詳細過程還得請您說一下”張小飛說到

“它的執(zhí)行過程其實也不難”

  • 1. 首先執(zhí)行——初始化表達式

  • 一般都是定義一個變量的初始值

  • 注意:在 for 循環(huán)中,初始化表達式只執(zhí)行一次

  • 2. 接著判斷循環(huán)條件,也就是執(zhí)行 i<3 這句代碼,如果為ture,就執(zhí)行循環(huán)體中的代碼

  • 3. 然后執(zhí)行:操作表達式,緊接著從第 2 步開始重復

  • 4. 當 i < 3 為 false 時,循環(huán)結束


“原來是這樣的,還挺簡單”

“確實不難,不過使用 for 時需要注意一點,看下圖:”

結果:

“這是為什么呢”張小飛問道


諸小亮:“這是因為:變量都是有作用域(作用范圍)的,for中定義的 i 變量,作用范圍僅限于for循環(huán)內部


2. 過 7

諸小亮:“師弟,聽說你酒量不錯啊”

張小飛:“???師兄,怎么突然說喝酒的事情了,難道你要請我喝酒?”

“屁,想得美,你請我喝酒才是,我是想說,喝酒時你是不是經(jīng)常玩一個游戲,叫:過 7”

“是啊,但它已經(jīng)過時了,現(xiàn)在流行‘金陵十三釵’,這個游戲。。。”說起喝酒,張小飛就滔滔不絕起來

“停停停,扯遠了,回到代碼這里,我是想說根據(jù)目前的知識,能否寫段代碼, 找出1-100 中 7 的倍數(shù)?”

“這個...,是用 for 循環(huán)嗎?”

“沒錯,就用這個,給你提供個思路:如果數(shù)字除以7,余數(shù)是0,那么它就是7的倍數(shù)”

“好的,我琢磨一下”

3分鐘后。

“師兄,我寫出來了,你看看”

“嗯嗯,不錯不錯,早說你有天賦了”諸小亮贊揚道

“過獎,過獎,其實還好啦,也就是比諸葛亮先生多讀了本《三國演義》而已!”

“嗯?怎么感覺你在 cue 我,我還比林黛玉多看了本《紅樓夢》呢!”諸小亮反駁道

“不敢不敢,不過師兄,你真的看過紅樓夢?”

“怎么我看什么書還得跟你說一聲?”諸小亮狠狠的瞪了張小飛一眼回答道

“那你知道金陵十二釵正冊都有誰?”張小飛問道

“。。。。。。,就你話多”

3. for循環(huán)嵌套

張小飛:“這個 循環(huán)嵌套 是什么意思?”

諸小亮:“就是說:for 循環(huán)中還有 for 循環(huán),也稱為:雙層 for 循環(huán) 或者 多層 for 循環(huán)”

“師兄,是這樣嗎?”


“沒錯,使用雙層 for 循環(huán)時,最重要的是:得明白循環(huán)體執(zhí)行了多少次,來看看下面的代碼”

結果:


張小飛:“上圖中,x 輸出了 3 次,y 輸出了 12 次,我大概明白什么意思了”

諸小亮:“很好,那我們就繼續(xù)了”


4. println() 和 print();

諸小亮:“來,我們講點兒跟 for 無關的東西,System.out.print() ”

張小飛:“這個不就是輸出語句嗎?”

“你仔細看,咱們之前用的是 println() ,而現(xiàn)在是 print()”

“哦,還真是,這倆有什么區(qū)別?”

“很簡單:println():打印后換行,print():打印后不換行,給你演示一下就明白了”

結果:

“師弟,這個輸出結果能看明白嗎?”

“當然可以了,只是不明白為什么突然說起這個東西”


5. 打印 * 號

諸小亮:“因為,接下來我就要讓你看個編程題了”

張小飛:“編程題?什么意思?”

“給你一個任務:每一行打印 5 個 * 號,打印 3 行,要用雙層 for 循環(huán)實現(xiàn)”

“好的,我來試試”張小飛說到

“不,這個我來寫,你先看看”

“師弟,從結果中可以看出,一共是 3 行 5 列,對吧”

“嗯,是的,不過您具體是想表達什么意思呢?”

“其實是想讓你明白,代碼中:外層 for 控制的是行數(shù),內層 for 控制的是每行打印的內容

“這樣啊,我明白了”


6. 練習一下

諸小亮:“既然你明白了,就嘗試下吧,寫代碼打印出下面的圖形”

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

張小飛:“這兩圖形挺有意思的,我就來試一下”

10分鐘后。

“師兄我已經(jīng)寫出來, 你看看,第一個圖形的代碼:”


“第二個圖形的代碼”

7. break

諸小亮:“下面講一下 break 語句 ”

張小飛:“是 switch case 中的 break 嗎?不是已經(jīng)說過了嗎?”

“是的 ,不過它也常常用在循環(huán)語句中”

  • break 的使用范圍:switch、循環(huán)語句(while、do while、for)

  • 作用:跳出 switch 或 循環(huán)語句


“師兄,舉個例子吧”

“沒問題,你看看下面的代碼”

在 i=3 的時候,就跳出循環(huán)了,所以后面的就不輸出了


“原來是這樣用的,我明白了”

“但是,需要注意一種情況:”

結果:

“您是想說,break 語句后面不能在寫其他語句,因為無法執(zhí)行到,是這樣嗎?”

“聰明,另外,使用多層 for 的時候需要注意:break只能跳出一個循環(huán),比如:”

結果:

“明白,明白”


8. continue

張小飛:“這個 continue 是做什么的?”

諸小亮:“continue 也經(jīng)常在 循環(huán)語句 中用到,作用: 結束本次循環(huán),繼續(xù)下一次循環(huán)

示例:(注意看代碼中的注釋)

結果:

“原來是這樣”張小飛說到

“好了,我們今天就先到這里吧,剩下的時間,你練習一下?”

“好的,雖然不難,但是東西確實挺多的,我再看看”

張小飛的Java之路——第五章的評論 (共 條)

分享到微博請遵守國家法律
福泉市| 绥芬河市| 南郑县| 吉木萨尔县| 镇宁| 宁国市| 公安县| 太仓市| 万盛区| 克拉玛依市| 南汇区| 容城县| 定兴县| 义马市| 宁河县| 新宁县| 临清市| 白城市| 贵溪市| 伊吾县| 香河县| 西平县| 辰溪县| 密云县| 武宁县| 和静县| 安新县| 怀宁县| 新乐市| 四平市| 太和县| 启东市| 泰和县| 斗六市| 武安市| 米林县| 泸水县| 宁明县| 兴国县| 恩平市| 临江市|