從零學java筆錄-第38篇小項目練習-學生管理系統升級版
前言:
本文是java基礎語法完結項目篇-學生管理系統
本節內容:
1:對上一篇學生管理系統基本版進行優化升級
2:分析怎麼根據用戶輸入指令結束程序,退出系統
3:本節總結&下節預告
本文出處:《凱哥陪你學系列之java基礎篇.Java基本語法篇》中第38篇基礎語法完結小項目練習-學生管理系統升級版
一:基本版本的代碼是否可以優化?怎麼進行優化?
我們先回顧基礎代碼:
選擇一班後操作代碼:
選擇二班後操作代碼:
選擇三班後操作代碼:
通過對比我們發現在獲取用戶信息及用戶考試信息這些代碼都是重複的。如下圖
區別就在於,傳遞的班級學生數組以及學生和學科關聯的二維數組不同而已。其他操作都是一樣的。
在回顧為什麼會有方法,我們又為什麼需要方法呢?
所以我們可以將獲取學生信息及學生成績這些公共代碼提出來,放到一個方法中進行操作,在main方法中只是進行調用就可以了。
那麼問題又來了?如果需要把公共代碼放到一個方法中,方法參數列表是什麼?方法返回值又是什麼?
再次會看獲取一班、二班、三班學生信息時候我們發現,變化的就是 班級學生數組以及學生和學科關聯的二維數組不同而已。所以我們就得到了方法的
參數列表有兩個
1:存放每個班級學生的數組 String [] classStudent
2:學生和成績關聯的二維數組 int[] [] clazz
返回值呢?
因為是列印到控制台上的。所以沒有返回值。
進過以上分析我們可以得到如下代碼::
優化後的main方法如下:
是不是簡化了很多。這就是函數的魅力。
二:怎麼根據用戶輸入指令結束程序,退出系統
思考:
1:怎麼先讓程序永遠的執行而不退出?
2:怎麼根據一個變數來控制?
分析:
1:程序永遠執行?我們已經學的掌握的,可以一次一次又一次重複的運行一些代碼是什麼呢?
就是循環!對,這裡我們可以使用循環來控制。
那麼,循環有分三種
for循環。格式如下:
for(int i =0;i
do..while(表達式) 循環
while(表達式)循環。
那麼這三種循環我們應該選擇哪一種呢?
分析
for循環:有個結束的次數。用戶需要執行多少次呢?10次還是一百次或者是1次?不知道。
所以,for循環不適合我們。
do..while()循環呢,我們知道do..while循環至少需要執行一次呢。然後才進行表達式判斷。
在來看看while循環,先進性表達式判斷,然後再操作,而且比do..while簡單寫。所以我們就用while循環來處理。
那麼問題又來了。怎麼讓while一直循環呢?只需要while 表達式未true就可以。當while的表達式是false時候,就跳出循環了。
所以我們就可以定義一個boolean 類型的變數,默認為true用於控制while循環。
根據用戶輸入指令:
當為2的時候就把flag的值設置為false這樣就退出了while循環。
具體代碼:
執行結果:
三:本節總結&下節預告
通過本節學習,我們需要掌握的
1:學會自定義方法的使用,體會方法的好處
2:回顧三種循環語句
結束語:
至此,《從零學Java-基礎篇-第一階段(基礎語法)》已完結。
在第一階段(基礎語法)中我們學到什麼?
1:jdk的安裝、校驗是否安裝正確、第一個Java程序--Hello word
2:進位之間的轉換(二進位、八進位、十六進位)、補碼、反碼
3:Java中4類八種基本數據類型
整數型
byte 佔一個位元組 -128到127
short 佔兩個字 -2^15~2^15-1
int 佔四個位元組 -2^31~2^31-1
long 佔八個位元組 -2^63~2^63-1
浮點型
float 佔四個位元組 -3.403E38~3.403E38 單精度
double 佔八個位元組-1.798E308~1.798E308 雙精度
字元型
char 佔兩個位元組 0~65535
布爾型
boolean
4:Java中運算符操作
算術運算符、賦值運算符、關係運算符、邏輯運算符、位異運算符、位運算符、三元運算符
5:鍵盤錄入
6:Java中結構語句學習
順序結構、選擇結構(if else、swithc)語句、循環(for、while、do..while)語句、控制跳轉(break、continue、return)語句
7:方法
8:數組(一維數組及圖解、二維數組及圖解)
接下來我們學習第二階段--面向對象
面向對象幾大特點:繼承、多態、封裝、抽象
通過面向對象的學習,我們將進入另一個不一樣的java世界。歡迎大家一起學《從零學Java-基礎篇-第二階段-面向對象》
※從零學java筆錄-第37完結小項目練習-學生管理系統基礎版
※從零學java筆錄-第36篇 java中值傳遞址值傳遞 圖解
※從零學java筆錄第35篇練習2通過人查出所在班級求年銷售額
※從零學java筆錄-第35篇練習2通過人查出所在班級和年銷售
※從零學java筆錄-第34篇二維數組遍歷 查找3年級2班的Z
TAG:凱哥java |
※24小時:偶像練習生-RedVelvet-NCT-少女時代
※偶像練習生打call 黑科技Panasonic Beauty百年限定EH-NA98Q
※偶像練習生男團Nine percent2018日程規劃
※練習 16-18 Learn Python 3 The Hard Way
※練習 13-15 Learn Python 3 The Hard Way
※tesseract-OCR字型檔練習
※70個NumPy練習:在Python下一舉搞定機器學習矩陣運算
※偶像練習生 盤點vocal主唱TOP10
※記錄創造:防彈少年團MV破5億,blackpin練習室破1億
※每日少女時代資訊精選|24小時:偶像練習生-RedVelvet-NCT-少女時代
※「TWICE」「分享」190224 「MOVE」練習室版本公開!plmm們在線美貌殺人
※第24篇-手繪練習
※<Produce101>後他成簽約最大經紀公司練習生,成為李鍾碩同門師弟
※「Infinite」「新聞」181026 南木式委屈 獨自準備solo演唱會練習
※經濟學人翻譯練習 The Economist
※00.05〡法語發音練習 French Pronunciation Parctice
※AKB48宮脅咲良:以練習生的身份參加《Produce 48》的真正原因
※001-科學60秒聽寫練習
※produce101第四季男版或開播,練習生有防彈少年團伴舞
※【日語學習】N2-N3辭彙練習