- Java完全自學教程
- 明日科技編著
- 2116字
- 2022-03-02 09:41:53
第2章 走進Java
視頻教學:62分鐘
在真正學習Java這門編程語言之前,應該對Java代碼的組成部分有一個基本的了解。本章首先介紹Java代碼的組成部分及語法結構,然后引入Java語言中變量和常量的相關知識,最后講解如何在控制臺中進行輸入與輸出。
2.1 Java代碼的組成部分
掃碼看視頻(上)
掃碼看視頻(中)
掃碼看視頻(下)
Java代碼由類、主方法、關鍵字、標識符和注釋等內容組成。本節(jié)將一一對其進行介紹。
2.1.1 類
類是Java程序的基本單位,是包含某些共同特征的實體的集合。例如,在某影視網站上,按照電影 → 科幻 → 中國大陸 → 2019的搜索方式能夠搜索到《流浪地球》《瘋狂的外星人》《上海堡壘》《最后的日出》等影視作品。
換言之,《流浪地球》《瘋狂的外星人》《上海堡壘》《最后的日出》等影視作品可以被歸納為2019年上映的中國大陸的科幻電影類。
使用Java語言創(chuàng)建類時,需要使用class關鍵字,創(chuàng)建類的語法如下。
[修飾符] class 類名稱{ }
在程序設計過程中,開發(fā)人員為了避免程序的重要部分被其他程序員訪問,需要借助修飾符予以實現(xiàn)。例如,class被public修飾時,此時的public被稱作公共類修飾符。如果一個類被public修飾,那么這個類被稱作公共類,能夠被其他類訪問。此外,Java語言還提供了其他修飾符,例如private、protected等。修飾符的相關內容詳見后續(xù)章節(jié)。
注意
(1)class與類名稱之間必須至少有一個空格,否則Eclipse會出現(xiàn)圖2.1所示的錯誤提示。
圖2.1 class與類名稱之間沒有空格
(2)“{”和“}”之間的內容叫作類體。類體包含主方法、注釋和Java語句等內容,如圖2.2所示。
圖2.2 類體
2.1.2 主方法
主方法,即main()方法,是Java程序的入口,用于指定程序從這里開始被執(zhí)行。主方法的語法如下。
public static void main(String[] args){
//方法體
}
主方法的各個組成部分的說明如下。
public:當使用public修飾方法時,public被稱作公共訪問控制符,能夠被其他類訪問。
static:被譯為“全局”或者“靜態(tài)”。主方法被static修飾后,當Java程序運行時,會被JVM(Java虛擬機)第一時間找到。
void:指定主方法沒有具體的返回值(即什么也不返回);關于返回值,如果把投籃看作一個方法,那么投籃方法將具有兩個返回值,即籃球被投進籃筐和籃球沒有被投進籃筐。
main:能夠被JVM識別的、不可更改的一個特殊的單詞。
String[] args:主方法的參數(shù)類型,參數(shù)類型是一個字符串數(shù)組,該數(shù)組的元素是字符串。有關數(shù)組和字符串的相關知識,讀者可參閱本書的第6章和第9章。
2.1.3 關鍵字
在Java語言中,關鍵字是指被賦予特定意義的一些單詞,是Java程序重要的組成部分。凡是在Eclipse中顯示為紅色粗體的單詞,都是關鍵字。在編寫代碼時,既要正確區(qū)分關鍵字的大小寫,又要避免關鍵字拼寫錯誤,否則,Eclipse將出現(xiàn)圖2.3和圖2.4所示的錯誤提示。
注意
讀者朋友在使用Java語言中的關鍵字時,要注意以下兩點。
(1)表示關鍵字的英文單詞都是小寫的。
(2)不要少寫或者錯寫英文字母,如將import寫成imprt、super寫成supre。
圖2.3 大小寫錯誤
圖2.4 關鍵字的拼寫錯誤
Java中的關鍵字及其說明如表2.1所示,其中帶有★標志的是Java程序中出現(xiàn)頻率較高的關鍵字。
表2.1 Java中的關鍵字及其說明
說明
(1)Java語言中的關鍵字不是一成不變的,而是隨著新版本的發(fā)布而不斷變化的。
(2)Java語言中的關鍵字不需要專門記憶,隨著編寫代碼的熟練度的提高,自然就記住了。
2.1.4 標識符
什么是標識符呢?先來看一個生活實例,小王乘坐地鐵時,偶遇到了某位同事并隨即喊出了這位同事的名字,這個名字就是這位同事的“標識符”。而在Java語言中,標識符是指開發(fā)者在編寫程序時為類、方法等內容定義的名稱。為了提高程序的可讀性,在定義標識符時,要盡量遵循“見名知意”的原則。例如,當其他開發(fā)人員看到類名ScienceFictionFilms時,就會知道這個類表示的是科幻電影。
Java標識符的具體命名規(guī)則如下。
(1)標識符由一個或多個字母、數(shù)字、下劃線“_”和美元符號“$”組成,字符之間不能有空格。
【正例】a、B、name、c18、$table、_column3。
【反例】hi!、left<、name。
錯誤展示圖如圖2.5所示。
圖2.5 字符之間不能有空格
(2)一個標識符可以由幾個單詞連接而成,以提高標識符的可讀性。
對于類名稱,每個單詞的首字母均為大寫。
【正例】表示“科幻電影類”的類名稱是ScienceFictionFilms。
變量或者方法名稱應采用駝峰式命名規(guī)則,即首個單詞的首字母為小寫,其余單詞的首字母為大寫。
【正例】表示“用戶名”的變量名是userName。
對于常量,每個單詞的所有字母均為大寫;單詞之間不能有空格,但可以用英文格式的下劃線“_”進行連接。
【正例】表示“一天的小時數(shù)”的常量名是HOURSCOUNTS,也可寫作HOURS_COUNTS。
【反例】表示“一天的分鐘數(shù)”的常量名是MINUTES COUNTS,錯誤展示圖如圖2.6所示。
圖2.6 單詞之間不能有空格
(3)標識符中的第一個字符不能為數(shù)字。
【反例】使用24hMinutes命名表示“24個小時的分鐘數(shù)”的變量,錯誤展示圖如圖2.7所示。
圖2.7 標識符中的第一個字符不能為數(shù)字
(4)標識符不能是關鍵字。
【反例】使用class命名表示“班級”的變量,錯誤展示圖如圖2.8所示。
圖2.8 標識符不能是關鍵字
說明
(1)Java語言嚴格區(qū)分單詞的大小寫,同一個單詞的不同形式所代表的含義是不同的。例如,Class和class代表著兩種完全不同的含義:Class是一個類名稱,而class是被用來修飾類的關鍵字。
(2)Java可以用中文作為標識符,但中文標識符不符合開發(fā)規(guī)范。當Java代碼的編譯環(huán)境發(fā)生改變后,中文會變成亂碼,這將導致Java代碼無法通過編譯。
2.1.5 注釋
當我們遇到一個陌生的英文單詞時,會借助英漢詞典進行解惑,詞典會給出這個單詞的中文解釋。Java語言也具有如此貼心的功能,即“注釋”。注釋是一種對代碼程序進行解釋、說明的標注性文字,可以提高代碼的可讀性。在開篇代碼中,“//”后面的內容就是注釋。注釋會被Java編譯器忽略,不會參與程序的執(zhí)行過程。
Java提供了3種代碼注釋,分別為單行注釋、多行注釋和文檔注釋。
1.單行注釋
“//”為單行注釋標記,從符號“//”開始直到換行為止的所有內容均作為注釋而被編譯器忽略。單行注釋的語法如下。
//注釋內容
例如,聲明一個int類型的表示年齡的變量age,并為變量age添加注釋。
int age; // 聲明一個int類型的表示年齡的變量age
說明
int是Java語言中的一種整數(shù)類型(第3章將詳細介紹)。因為年齡是整數(shù),所以需要用整數(shù)類型予以聲明。
注意
注釋可以出現(xiàn)在代碼的任意位置,但是不能分隔關鍵字或者標識符,錯誤展示圖如圖2.9所示。
圖2.9 注釋不能分隔關鍵字
2.多行注釋
“/*…*/”為多行注釋標記,符號“/*”與“*/”之間的所有內容均為注釋內容且可以換行。多行注釋標記的作用有兩個:為Java代碼添加必要信息和將一段代碼注釋為無效代碼。多行注釋的語法如下。
/*
注釋內容1
注釋內容2
...
*/
例如,使用多行注釋添加版權和作者信息的效果圖如圖2.10所示,使用多行注釋將一段代碼注釋為無效代碼的效果圖如圖2.11所示。
圖2.10 使用多行注釋添加版權和作者信息
圖2.11 使用多行注釋將一段代碼注釋為無效代碼
3. 文檔注釋
Java語言還提供了一種借助Javadoc工具能夠自動生成說明文檔的注釋,即文檔注釋。
說明
Javadoc工具是由Sun公司提供的。待程序編寫完成后,借助Javadoc工具就可以生成當前程序的說明文檔。
“/**…*/”為文檔注釋標記,符號“/**”與“*/”之間的內容為文檔注釋內容。不難看出,文檔注釋與一般注釋的最大區(qū)別在于它的起始符號是“/**”而不是“/*”或“//”。
例如,使用文檔注釋為main()方法添加注釋的效果如圖2.12所示。
圖2.12 為main()方法添加文檔注釋
說明
一定要養(yǎng)成良好的編碼習慣。軟件編碼規(guī)范中提到“可讀性第一,效率第二”,所以程序員必須要在程序中添加適量的注釋來提高程序的可讀性和可維護性。建議程序中的注釋總量占程序代碼總量的20%~50%。
表2.2所示為文檔注釋的標簽語法。
表2.2 文檔注釋的標簽語法
說明
(1)注釋的位置的具體要求如下。
單行注釋應該寫在被注釋的代碼的上方或右側。
多行注釋的位置和單行注釋相同,雖然多行注釋可以寫在代碼之內,但不建議這樣寫,因為這樣寫會降低代碼可讀性。
文檔注釋必須寫在被注釋代碼的上方。
(2)注釋是代碼的說明書,用于說明代碼是做什么的、使用代碼時需要注意的問題等內容。編寫注釋時,既不要寫代碼中直觀體現(xiàn)的內容,也不要寫毫無說明意義的內容。
2.2 變量與常量
上一節(jié)講解了Java代碼的組成部分,本節(jié)將介紹Java語言中的兩個重量級的概念:變量和常量。例如,某天美元兌換人民幣的匯率為6.7295,某天92號汽油的價格為每升6.95元等,這些可以被改變數(shù)值的量稱作變量;而1分鐘等于60秒,一年有12個月等,這些不可以被更改數(shù)值的量稱作常量。下面將對變量和常量的異同進行講解。
2.2.1 變量
掃碼看視頻
在講解變量前,先來解釋下聲明的含義。聲明指的是變量被創(chuàng)建后,沒有被賦予具體數(shù)值的過程。那么,變量應該如何聲明呢?
1.聲明變量
變量是用來存儲數(shù)值的,但計算機并不聰明,無法自動分配指定大小的內存空間來存儲這些數(shù)值。這時,需要借助Java語言提供的數(shù)據(jù)類型(第3章將詳細介紹)予以實現(xiàn)。
聲明變量的語法如下。
數(shù)據(jù)類型 變量標識符;
例如,某電商平臺售有后殼為玻璃的手機殼,售價為49.9元,如圖2.13所示。現(xiàn)聲明表示手機殼售價的變量shellPrice。
圖2.13 后殼為玻璃的手機殼
因為表示手機殼售價的變量shellPrice的值是一個小數(shù),而在Java語言中,默認用表示浮點類型的double聲明值為小數(shù)的變量,所以變量shellPrice的數(shù)據(jù)類型應為double。因此,聲明變量shellPrice的代碼如下。
double shellPrice;
2.為變量賦值
聲明變量后,要為變量賦值,為變量賦值的過程稱作定義、初始化或者賦初值。為變量賦值的語法如下。
數(shù)據(jù)類型 變量標識符 = 變量值;
例如,為上文中表示手機殼售價的變量shellPrice賦值,值為49.9,代碼如下。
double shellPrice = 49.9;
注意
選擇正確的數(shù)據(jù)類型是至關重要的,否則Eclipse會出現(xiàn)圖2.14所示的錯誤提示。
圖2.14 數(shù)據(jù)類型選擇不當
說明
int是Java語言中的一種整數(shù)類型,其存儲的是整數(shù)數(shù)值。而49.9是一個小數(shù),這使得等號左右兩端的數(shù)據(jù)類型不匹配,因此需要使用Java語言中表示浮點類型的double予以存儲。
3.同時聲明多個變量
聲明變量時,對于相同數(shù)據(jù)類型的變量,可以同時聲明多個。同時聲明多個變量的語法如下。
數(shù)據(jù)類型 變量標識符1, 變量標識符2, …, 變量標識符n;
例如,某超市特價銷售3種水果,即蘋果每500克4.98元、橘子每500克3.98元和香蕉每500克2.98元;現(xiàn)同時聲明表示蘋果價格的變量applePrice、表示橘子價格的變量orangePrice和表示香蕉價格的變量bananaPrice。因為蘋果價格、橘子價格和香蕉價格都是小數(shù),所以這3個變量的數(shù)據(jù)類型均為double,代碼如下。
double applePrice, orangePrice, bananaPrice;
聲明變量applePrice、orangePrice和bananaPrice后,要分別為這3個變量賦值,進而表示這3種特價水果的價格。賦值的方式有以下兩種。
(1)聲明時直接賦值,代碼如下。
double applePrice = 4.98, orangePrice = 3.98, bananaPrice = 2.98;
(2)先聲明,再賦值,代碼如下。
double applePrice, orangePrice, bananaPrice;
applePrice = 4.98;
orangePrice = 3.98;
bananaPrice = 2.98;
注意
多個變量在“先聲明,再賦值”的過程中,多個賦值語句不能使用逗號間隔開且寫在同一行;否則,Eclipse會出現(xiàn)圖2.15所示的錯誤提示。
圖2.15 多個賦值語句不能使用逗號間隔開且寫在同一行
2.2.2 常量
掃碼看視頻
如果一個值是確定且不會被改變的,那么用常量來存儲這個值。例如,1分鐘等于60秒,60就可以被設置為常量;而2月有多少天是不固定的,非閏年時有28天,閏年時有29天,這種會根據(jù)條件變化的值不可以被設置為常量。
1.聲明常量
如果要聲明一個常量,那么需借助關鍵字final。關鍵字final被譯為“最終的”,當修飾常量時,就相當于標記這個常量的值不允許被改變。聲明常量的語法如下。
final 數(shù)據(jù)類型 常量標識符;
例如,聲明一個表示1分鐘等于多少秒的常量SECONDS,代碼如下。
final int SECONDS;
2.為常量賦值
聲明常量時,通常要直接為其賦值,為常量賦值的語法如下。
final數(shù)據(jù)類型 常量標識符 = 常量值;
例如,為上文中表示1分鐘等于多少秒的常量SECONDS賦值,值為60,代碼如下。
final int SECONDS = 60;
3.同時聲明多個常量
如果需要同時聲明多個同一數(shù)據(jù)類型的常量,可以采用如下格式。
final 數(shù)據(jù)類型 常量標識符1 = 常量值1, 常量標識符2 = 常量值2, …, 常量標識符n = 常量值n;
例如,聲明多個常量,表示“1天有24小時,有1440分鐘,有86400秒”,代碼如下。
final int HOURS = 24, MINUTES = 1440, SECONDS = 86400;
在聲明常量時,如果已經對其賦值了,那么常量的值不允許再被修改;否則,Eclipse會出現(xiàn)圖2.16所示的錯誤提示。
圖2.16 常量的值不允許再被修改
2.3 控制臺的輸入和輸出操作
生活中的輸入與輸出設備有很多。攝像機、掃描儀、話筒、鍵盤等都是輸入設備,經過計算機解碼后,由輸入設備導入的圖片、視頻、音頻和文字會在顯示器、打印機、音響等輸出設備進行輸出,如圖2.17所示。本節(jié)要講解的控制臺的輸入和輸出指的是先使用鍵盤輸入字符,再將輸入的字符顯示在顯示器上。
圖2.17 常用輸入與輸出設備
本書使用的是Eclipse編程軟件,而Eclipse的輸出方式指的是在控制臺中輸出。所謂控制臺,指的是圖2.18所示的Console窗口。通過Console窗口,可以輸出Java代碼的運行結果。
圖2.18 Eclipse中的Console窗口
2.3.1 控制臺輸出字符
掃碼看視頻
在控制臺中輸出字符的方法有3種,具體如下。
1.不會自動換行的print()方法
print()方法的語法如下。
System.out.print("By falling we learn to go safely!");
控制臺輸出“By falling we learn to go safely!”后,光標會停留在這句話的末尾處,不會自動跳轉到下一行的起始位置。
2.可以自動換行的println()方法
println()方法在print后面加上了“l(fā)n”(即line的簡寫)后綴,語法如下。
System.out.println("迷茫不可怕,只要你還在向前走!");
控制臺輸出“迷茫不可怕,只要你還在向前走!”后,光標會自動跳轉到下一行的起始位置。
print()方法與println()方法輸出的效果對比如表2.3所示。
表2.3 兩種輸出方法的效果對比
所以Java換行輸出的方法有以下兩種。
System.out.print("\n"); //利用換行符“\n”實現(xiàn)換行
System.out.println(); //空參數(shù)即可實現(xiàn)換行
注意
使用這兩個方法的時候還要注意以下兩點。
(1)語句“System.out.println("\n");”會輸出兩行空行。
(2)語句“System.out.print();”無參數(shù)會報錯。
實例2-1 創(chuàng)建“老者與小孩的故事”的OlderAndChildStory類。(實例位置:資源包\MR\源碼\02\01。)
利用Java輸出語句模擬老者與小孩的對話,對話內容如圖2.19所示。
圖2.19 老者與小孩的對話內容
創(chuàng)建含義為“老者與小孩的故事”的OlderAndChildStory類,在類中創(chuàng)建main()方法,在main()方法中使用System.out.println()模擬老者與小孩的對話,具體代碼如下。
public class OlderAndChildStory {
public static void main(String[] args) {
int age = 3; ?--- 創(chuàng)建整數(shù)類型變量age,記錄小孩的年齡
System.out.println("老者:小朋友今年幾歲啊?"); ?--- 老者在控制臺中問了一個問題
System.out.println("小孩:" + age + “歲!"); ?--- 小孩在控制臺中回答了自己的年齡
System.out.println("老者:那明年又是幾歲啊?"); ?--- 老者又在控制臺中問了一個問題
int nextYearAge = age + 1; ?--- 小孩對自己的年齡做了一次加法運算
System.out.println("小孩:" + nextYearAge + "歲!"); ?--- 小孩在控制臺中回答了計算得到的年齡
}
}
運行結果如圖2.20所示。
圖2.20 輸出不同類型的值
3.格式化輸出
除了前面兩種常規(guī)的輸出方式,Java語言還提供了格式化輸出。例如,超市購物小票上的應收金額保留了兩位小數(shù),如圖2.21所示。
圖2.21 應收金額保留兩位小數(shù)
Java沿用了C++中用于格式化輸出的printf()函數(shù),使用該函數(shù)即可將指定的內容以指定的格式輸出在控制臺中,其語法如下。
printf(String format, Object…args)
其中,參數(shù)format被譯為“格式化的”,這里表示需要使用格式化的公式;參數(shù)args被譯為“計算機參數(shù)”,是一個Object類型的可變參數(shù),可變表示參數(shù)args的個數(shù)可以是多個。
下面著重介紹兩種用于格式化輸出的轉換符。
輸出數(shù)字時使用轉換符“%d”,舉例如下。
System.out.printf("1251+3950的結果是:%d\n", 1251 + 3950);
輸出結果如下。
1251+3950的結果是:5201
指定小數(shù)位數(shù)時可以使用轉換符“%f”,%與f之間用“.X”的形式指定小數(shù)位數(shù)。其中,X表示的是小數(shù)位數(shù)。例如,圓周率π的近似值為3.1415926,這里保留小數(shù)點后兩位小數(shù),代碼如下。
System.out.printf("π取兩位小數(shù):%.2f\n", 3.1415926);
輸出結果如下。
π取兩位小數(shù):3.14
2.3.2 控制臺輸入字符
掃碼看視頻
有輸出就會有輸入,Java從控制臺中讀取用戶輸入的值時需要借助一個被稱作Scanner的類。Scanner譯為“掃描儀”,其用途和現(xiàn)實生活中的掃描儀一樣,能夠掃描用戶輸入的內容。Java語言中的System.in()方法表示從控制臺輸入,使用Scanner類掃描System.in()方法即可獲取用戶輸入的值。
需要注意的是,Scanner類在java.util這個包里,不能像System類那樣直接被使用。因此,使用前需要先使用import語句導入java.util包中的Scanner類。下面先對import語句進行介紹。
1. import導入語句
import語句用來導入本類所在包之外的類,導入具體包或完整類之后,就可以調用導入的類,舉例如下。
import java.util.Date;
import java.util.Scanner;
import語句與導入的類所在位置如圖2.22所示。
圖2.22 import語句與引入的類位置
import語句可以一次將某個包中的所有類都導入,“*”作為所有類名的替代符號,語法如下。
import java.util.*;
但有一點要注意,“*”只能替代類名,不能替代包名。例如,導入java.awt包中的所有類和java.awt的event子包中的所有類,需要寫兩條import語句,代碼如下。
import java.awt.*;
import java.awt.event.*;
2.使用Scanner類進行輸入
上面介紹了import語句,使用import語句導入Scanner類的代碼如下。
import java.util.Scanner; // 導入java.util包中的Scanner類
Scanner類提供了表2.4所示的常用方法,通過這些方法可以獲取控制臺中輸入的不同類型的值。
表2.4 Scanner類的幾個常用方法
說明
nextLine()方法掃描的內容是從第一個字符開始到換行符為止,而next()、nextInt()等方法掃描的內容是從第一個字符開始到這段完整內容結束。
使用Scanner類掃描控制臺的代碼如下。
Scanner sc=new Scanner(System.in);
其中,System.in表示控制臺的輸入。在創(chuàng)建Scanner掃描器類的對象時,需要把System.in作為參數(shù)。
實例2-2 創(chuàng)建含義為“年齡示例”的AgeDemo類。(實例位置:資源包\MR\源碼\02\02。)
創(chuàng)建含義為“年齡示例”的AgeDemo類,實現(xiàn)根據(jù)輸入的年份(4位數(shù)字,如1981),計算目前的年齡,程序中使用Scanner掃描器類的nextInt()方法獲取用戶輸入的數(shù)字,使用Calendar日歷類獲取當前年份數(shù)字,通過當前年份數(shù)字減去輸入的年份數(shù)字得到年齡,具體代碼如下。
import java.util.Calendar; ?---
import java.util.Scanner; ?--- 首先使用import語句導入Scanner和Calendar類,讓程序知道會用到這兩個類
public class AgeDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); ?--- 告訴Scanner類要掃描控制臺
Calendar c = Calendar.getInstance(); ?--- 獲取系統(tǒng)日歷
int thisYear = c.get(Calendar.YEAR); ?--- 從日歷中取出當前年份數(shù)字,并記錄下來
System.out.println("請輸入您的出生年份"); ?--- 給用戶顯示一個提示
int birth = sc.nextInt(); ?--- 從控制臺中掃描出用戶輸入的年份數(shù)字
int age = thisYear - birth;
System.out.println("您的年齡為:" + age);
if (age < 18) { ?---
System.out.println("您現(xiàn)在是未成年人(
′
`
)");
} else if (age >= 18) {
System.out.println("您現(xiàn)在是青年人(^_-)☆");
} else if (age >= 66) {
System.out.println("您現(xiàn)在是中年人(
)?");
} else if (age >= 88) {
System.out.println("您現(xiàn)在是老年人~@_@~”);
} ?--- 判斷用戶屬于哪個年齡段
}
}
運行程序,提示輸入出生年份。輸入的出生年份必須是4位數(shù)字,例如2005。輸入之后按<Enter>鍵,運行結果如圖2.23所示。
圖2.23 根據(jù)輸入的出生年份計算年齡
說明
圖2.24所示的“2005”是用戶輸入的,在運行程序時,讀者可以自行輸入。
2.4 動手練一練
(1)輸出菱形。創(chuàng)建Image類,在Eclipse的控制臺中輸出圖2.24所示的菱形。(答案位置:資源包\章后練習\02\01)
圖2.24 輸出菱形
(2)輸出錯誤信息與調試信息。程序設計中,業(yè)務代碼的部分功能需要配合調試信息以確定代碼執(zhí)行流程和數(shù)據(jù)的正確性,當程序出現(xiàn)嚴重問題時還要輸出警告信息,這樣才可以在調試中完成程序設計,運行效果如圖2.25所示。(答案位置:資源包\章后練習\02\02)
圖2.25 輸出錯誤信息與調試信息
(3)從控制臺接收輸入的文本。System類除了有out和err兩個輸出流之外,還有in輸入流的實例對象作為類成員,它可以接收用戶的輸入。本題要求通過該輸入流實現(xiàn)從控制臺接收用戶輸入文本,并提示該文本的長度信息,運行效果如圖2.26所示。(答案位置:資源包\章后練習\02\03)
圖2.26 從控制臺接收輸入的文本并輸出文本長度信息
(4)輸入Wi-Fi密碼。創(chuàng)建PassWord類,首先在控制臺中輸入用戶名為MRKJ的Wi-Fi密碼,然后對這個Wi-Fi密碼進行驗證。如果Wi-Fi密碼正確,那么控制臺輸出“正在獲取ip地址……已連接”;否則,控制臺輸出“密碼錯誤”,運行效果如圖2.27所示。(答案位置:資源包\課后練習\02\04)
圖2.27 輸入Wi-Fi密碼
- SQL Server 2016從入門到精通(視頻教學超值版)
- 劍指JVM:虛擬機實踐與性能調優(yōu)
- iOS開發(fā)實戰(zhàn):從零基礎到App Store上架
- Magento 2 Development Cookbook
- Visual Basic學習手冊
- Java性能權威指南(第2版)
- Apache Kafka Quick Start Guide
- 軟件品質之完美管理:實戰(zhàn)經典
- 青少年信息學競賽
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- ASP.NET程序開發(fā)范例寶典
- Illustrator CC平面設計實戰(zhàn)從入門到精通(視頻自學全彩版)
- C語言程序設計教程
- 你必須知道的.NET(第2版)
- Learning ROS for Robotics Programming