![Java基礎案例教程(第3版) 課件全套 黑馬 第1-13章 Java開發(fā)入門 - 綜合項目-黑馬書屋_第1頁](http://file4.renrendoc.com/view12/M0A/02/3D/wKhkGWdjw-aAKu6eAACOxR06S8Y469.jpg)
![Java基礎案例教程(第3版) 課件全套 黑馬 第1-13章 Java開發(fā)入門 - 綜合項目-黑馬書屋_第2頁](http://file4.renrendoc.com/view12/M0A/02/3D/wKhkGWdjw-aAKu6eAACOxR06S8Y4692.jpg)
![Java基礎案例教程(第3版) 課件全套 黑馬 第1-13章 Java開發(fā)入門 - 綜合項目-黑馬書屋_第3頁](http://file4.renrendoc.com/view12/M0A/02/3D/wKhkGWdjw-aAKu6eAACOxR06S8Y4693.jpg)
![Java基礎案例教程(第3版) 課件全套 黑馬 第1-13章 Java開發(fā)入門 - 綜合項目-黑馬書屋_第4頁](http://file4.renrendoc.com/view12/M0A/02/3D/wKhkGWdjw-aAKu6eAACOxR06S8Y4694.jpg)
![Java基礎案例教程(第3版) 課件全套 黑馬 第1-13章 Java開發(fā)入門 - 綜合項目-黑馬書屋_第5頁](http://file4.renrendoc.com/view12/M0A/02/3D/wKhkGWdjw-aAKu6eAACOxR06S8Y4695.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章Java開發(fā)入門《Java基礎案例教程》(第3版)學習目標/Target
了解什么是Java,能夠簡述Java是什么和Java的3個技術平臺
了解Java的特點,能夠簡述Java的主要特點
了解Java程序的運行機制,能夠簡述Java程序的運行機制
掌握JDK的下載與安裝,能夠獨立下載并安裝JDK
掌握環(huán)境變量的配置,能夠獨立配置Path環(huán)境變量學習目標/Target
掌握第一個Java程序的開發(fā),能夠獨立編寫并運行HelloWorld程序
掌握IDEA的下載、安裝與啟動,能夠獨立安裝并啟動IDEA開發(fā)工具
掌握使用IDEA進行程序開發(fā),能夠使用IDEA編寫并運行
HelloWorld程序
掌握IDEA調試工具的使用,能夠在程序中正確設置斷點并進行程序的調試章節(jié)概述/
SummaryJava是一門高級程序設計語言,自問世以來,就受到了前所未有的關注,并成為網絡應用、移動開發(fā)、嵌入式系統(tǒng)等許多領域最受歡迎的開發(fā)語言之一。本章將介紹Java的特點、開發(fā)環(huán)境和開發(fā)工具等相關知識,帶領讀者入門Java開發(fā)。目錄/Contents0102Java概述Java環(huán)境搭建0304Java程序的開發(fā)IntelliJIDEA開發(fā)工具Java概述1.1了解什么是Java,能夠簡述Java是什么和Java的3個技術平臺1.1.1什么是Java
先定一個小目標!在介紹Java之前,在此對計算機語言進行簡述。計算機語言是人與計算機之間進行交流的一種語言形式,計算機語言種類繁多,按照其抽象層次通常將計算機語言分為機器語言、匯編語言、高級語言三大類。1.1.1 什么是Java1.1.1 什么是Java機器語言是計算機可以直接識別和執(zhí)行的語言,使用二進制編碼,表示簡單、控制精確,但不易于編寫和閱讀。機器語言匯編語言使用與機器語言對應的文本式助記符、符號加上操作碼的方式,更易于編寫和閱讀,但需要轉化為機器語言才能被計算機執(zhí)行。匯編語言高級語言通常不直接與計算機硬件交互,更加接近于自然語言,具有結構化和面向對象等優(yōu)勢,編寫和閱讀更加簡便。高級語言計算機語言1.1.1什么是JavaJava是計算機語言中的一種高級語言,于1995年首次發(fā)布。作為一種支持跨平臺和完全面向對象的編程語言,Java已經成為企業(yè)級應用程序和互聯(lián)網應用開發(fā)的首選語言之一。為了滿足不同的開發(fā)需求,Java劃分了3個技術平臺,分別是JavaSE、JavaEE和JavaME。JavaSE(StandardEdition,標準版)。JavaEE(EnterpriseEdition,企業(yè)版)。
JavaME(MicroEdition,微型版)。了解Java語言的特點,能夠簡述Java的主要特點1.1.2Java的特點
先定一個小目標!1.1.2Java的特點Java語言是一門優(yōu)秀的編程語言,它之所以應用廣泛,受到大眾的歡迎,是因為它有眾多突出的特點,其中最主要的特點有以下幾個。簡單:Java語言是一種相對簡單的編程語言,它通過提供最基本的方法完成指定的任務。Java使用引用代替C++中的指針,并提供了自動的垃圾回收機制來解決程序員需要管理內存的問題。面向對象:面向對象的核心由類和對象組成,通過類和對象描述事物之間的關系。Java是一種純粹的面向對象編程語言,支持封裝、繼承和多態(tài),使得代碼更加模塊化和易于維護。1.1.2Java的特點安全性:Java語言具備高度的安全性,它提供了多種安全特性,如數(shù)字簽名、SSL/TLS、安全套接字等機制,幫助開發(fā)者保證代碼的安全性??缙脚_性:Java語言通過JVM(JavaVirtualMachine,Java虛擬機)和字節(jié)碼實現(xiàn)跨平臺。Java程序可以一次編寫,到處運行。支持多線程:Java內置了豐富的多線程支持,使得Java適合于并發(fā)編程和處理大規(guī)模并發(fā)任務的場景。分布性:Java是一門分布式語言,它提供了廣泛的網絡連接支持,并且通過Socket類可以實現(xiàn)可靠的流式網絡連接。Java環(huán)境搭建1.21.2Java環(huán)境搭建Java環(huán)境主要指的是支撐Java開發(fā)和執(zhí)行的一系列工具和組件,搭建Java環(huán)境包括下載和安裝JDK(JavaDevelopmentKit,Java開發(fā)工具包),以及配置系統(tǒng)環(huán)境變量。JDK是構建及運行Java應用程序的核心,包含了Java編譯器、運行時環(huán)境和一系列工具庫,用于開發(fā)和運行Java應用程序。配置環(huán)境變量可以更便捷的使用已安裝的JDK。掌握JDK的下載與安裝,能夠獨立下載并安裝JDK1.2.1JDK的下載與安裝
先定一個小目標!1.2.1JDK的下載與安裝為了適應不斷變化的技術需求和標準,JDK的版本也在不斷升級,在本書完稿時,JDK已更新至JDK23。然而,在企業(yè)中通常會考慮到兼容性、穩(wěn)定性和遷移成本等多種因素,不會立即采用最新版本的JDK。相比之下,JDK17目前被認為是比較穩(wěn)定的版本,同時JDK17將在未來獲得官方長期的支持和維護,因此本書將基于JDK17進行講解。下面對JDK17的下載與安裝進行講解。1.2.1JDK的下載與安裝步驟一:下載JDKOracle公司提供了適應多種操作系統(tǒng)的JDK,讀者可以根據(jù)自己使用的操作系統(tǒng),下載相應版本的JDK。本書以64位的Windows10系統(tǒng)為例來演示JDK的下載和安裝。打開瀏覽器并訪問Oracle官方網站,進入JDK下載頁面,如右圖所示。1.2.1JDK的下載與安裝步驟一:下載JDK在JDK下載頁面中,依次單擊“JDK17”和“Windows”,查看相應的安裝包,如下圖所示。1.2.1JDK的下載與安裝步驟一:下載JDK從JDK17下載頁面可以看到,頁面中提供了三個JDK安裝文件的下載,其類型分別為x64CompressedArchive、x64Installer、x64MSIInstaller,下面分別對這三種類型的安裝文件進行介紹。x64CompressedArchive:免安裝版本,是一個壓縮文件,下載后解壓即可使用。x64Installer:離線安裝包版本,是一個可執(zhí)行文件,包含一個圖形用戶界面的安裝向導程序。x64MSIInstaller:也是離線安裝包版本,通過MSI文件進行安裝,提供了更豐富的安裝選項。1.2.1JDK的下載與安裝步驟二:解壓JDK的壓縮包由于免安裝版本可以直接解壓并使用,無需進行繁瑣的安裝過程,這里選擇下載免安裝版本進行下載和安裝的演示。將下載好的JDK安裝文件“jdk-17_windows-x64_bin.zip”壓縮包解壓到一個不包含中文和空格的目錄中,存放JDK解壓后的目錄也稱為JDK安裝目錄,JDK安裝目錄下的文件如右圖所示。1.2.1JDK的下載與安裝步驟二:解壓JDK的壓縮包下面對JDK安裝目錄中的子目錄和重要文件進行說明。(1)bin目錄:該目錄用于存放一些可執(zhí)行文件,該目錄下常用可執(zhí)行文件如下。javac.exe:Java編譯器。java.exe:Java解釋器。jar.exe:Java打包工具。javadoc.exe:是文檔生成工具。(2)conf目錄:該目錄包含了JDK的配置文件和屬性文件。1.2.1JDK的下載與安裝步驟二:解壓JDK的壓縮包(3)include目錄:該目錄包含了用于本地開發(fā)的頭文件,用于與其他編程語言進行交互。(4)jmods目錄:包含了JDK模塊化系統(tǒng)使用的模塊文件(.jmod文件)。(5)lib目錄:用于存放JDK提供的核心類庫、擴展庫、第三方庫以及本地實現(xiàn)庫。1.2.1JDK的下載與安裝步驟三:驗證JDK是否安裝成功通過JDK相關命令驗證JDK是否安裝成功。打開JDK安裝目錄下的bin目錄,在文件夾地址欄中輸入cmd后按下“Enter”鍵,在當前目錄下打開命令提示符窗口,如下圖所示。1.2.1JDK的下載與安裝步驟三:驗證JDK是否安裝成功在命令提示符窗口輸入以下命令,驗證當前系統(tǒng)中的JDK是否正常安裝。java-version上述命令用于在命令提示符窗口中顯示系統(tǒng)已安裝的Java運行時環(huán)境版本信息,執(zhí)行上述命令,效果如下圖所示。掌握環(huán)境變量的配置,能夠獨立配置Path環(huán)境變量1.2.2配置環(huán)境變量
先定一個小目標!1.2.2配置環(huán)境變量解壓后的免安裝版本的JDK可以直接使用,但執(zhí)行Java的相關命令需要先在JDK安裝目錄的bin目錄執(zhí)行,如果每次執(zhí)行Java有關命令時,都需要進入bin目錄中,操作會比較煩瑣。想要在任意目錄下都可以執(zhí)行Java的相關命令,可以通過配置系統(tǒng)的環(huán)境變量實現(xiàn)。下面將JDK安裝目錄配置到環(huán)境變量中。1.2.2配置環(huán)境變量當在Windows系統(tǒng)的命令提示符窗口中執(zhí)行一條可執(zhí)行命令時,系統(tǒng)首先會在當前目錄中尋找該命令對應的可執(zhí)行文件。如果在當前目錄中找不到該文件,系統(tǒng)會繼續(xù)在Path環(huán)境變量中定義的路徑下查找該文件。Path環(huán)境變量是用于保存一系列可執(zhí)行文件路徑的變量,這些路徑指定了系統(tǒng)可以在其中查找可執(zhí)行文件的位置。1.Path環(huán)境變量的作用1.2.2配置環(huán)境變量下面演示沒有在Path環(huán)境變量設置JDK安裝目錄之前,在其他目錄下執(zhí)行Java命令的效果。按下“Windows+R”快捷鍵,在彈出的對話框中輸入cmd后按下“Enter”鍵打開命令提示符窗口,在命令提示符窗口中輸入“java-version”命令,如下圖所示。1.Path環(huán)境變量的作用1.2.2配置環(huán)境變量右擊本地計算機后選擇“屬性”,在彈出的“設置”窗口中選擇“高級系統(tǒng)設置”選項,彈出“系統(tǒng)屬性”對話框,在“高級”選項卡下單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框。如右圖所示。2.配置Path環(huán)境變量1.2.2配置環(huán)境變量在環(huán)境變量對話框的“系統(tǒng)變量”區(qū)域中選中名為Path的系統(tǒng)變量,單擊“編輯”按鈕,打開“編輯環(huán)境變量”對話框。如右圖所示。2.配置Path環(huán)境變量1.2.2配置環(huán)境變量按下“Windows+R”快捷鍵,在彈出的對話框中輸入cmd后按下“Enter”鍵打開命令提示符窗口,在命令提示符窗口中輸入“java–version”命令,效果如下圖所示。3.驗證Path環(huán)境變量是否配置成功Java程序的開發(fā)1.3在1.2節(jié)中已經成功搭建了Java環(huán)境,下面開發(fā)本書第一個Java程序,并分析其開發(fā)過程,幫助初學者理解Java程序的運行機制。1.3
Java程序的開發(fā)1.3.1
第一個Java程序掌握第一個Java程序的開發(fā),能夠獨立編寫并運行HelloWorld程序
先定一個小目標!1.3.1
第一個Java程序思路:Java程序的執(zhí)行是由JVM負責執(zhí)行Java的字節(jié)碼文件。要得到字節(jié)碼文件,首先需要編寫Java的源文件,再利用Java編譯器將源文件編譯成字節(jié)碼文件。1.3.1
第一個Java程序步驟一:編寫程序代碼在任意目錄下創(chuàng)建一個文本文檔,將其重命名為HelloWorld.java。用記事本打開HelloWorld.java文件,具體代碼如下。classHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("helloworld"); } }需要注意的是,在編寫程序時,程序中出現(xiàn)的空格、括號、分號等符號必須采用英文半角格式,否則程序會出錯。1.3.1
第一個Java程序步驟二:編譯程序Java中提供了javac命令編譯Java的源文件,使用javac命令進行編譯的語法格式如下。javac[options]<sourcefiles>上述命令各項的含義:option:可選參數(shù),用于指定各種參數(shù)和設置。sourcefiles:需要編譯的Java源代碼文件路徑,多個文件使用空格分隔。需要注意的是,在使用javac命令編譯源代碼文件時,需要輸入完整的文件名稱,包括它的擴展名“.java”。1.3.1第一個Java程序步驟二:編譯程序進入HelloWorld.java所在的文件夾中,在該文件夾的地址欄中輸入“cmd”后按下“Enter”鍵,在當前目錄下打開命令提示符窗口,如下圖所示。1.3.1
第一個Java程序步驟二:編譯程序在命令提示符窗口中,通過javac命令編譯HelloWorld.java文件,具體命令如下。javacHelloWorld.java執(zhí)行效果如下圖所示。1.3.1
第一個Java程序步驟二:編譯程序查看HelloWorld.java所在文件夾,發(fā)現(xiàn)該文件夾新增了一個文件,如下圖所示。當前文件夾下生成了HelloWorld.class字節(jié)碼文件,說明HelloWorld.java文件編譯成功。1.3.1
第一個Java程序步驟三:運行程序Java中提供了java命令用于執(zhí)行字節(jié)碼文件,使用java命令執(zhí)行字節(jié)碼文件的語法如下。java[options]<classname>[args]上述命令各項的含義:option:可選參數(shù),用于指定各種參數(shù)和設置。classname:要執(zhí)行的Java類的名稱,該類應該包含main()方法作為程序入口。args:可選參數(shù),作為main()方法的參數(shù)傳入程序中。1.3.1
第一個Java程序步驟三:運行程序在命令提示符窗口中,通過java命令執(zhí)行HelloWorld程序,具體命令如下。javaHelloWorld執(zhí)行效果如下圖所示。1.3.1 第一個Java程序編譯Java源文件時,在輸入的命令和文件名完全正確的情況下,可能會出現(xiàn)“找不到文件”的錯誤。上圖錯誤的原因可能是文件的擴展名被隱藏了。雖然文本文檔顯示的文件名為“HelloWorld.java”,但實際上這個文件的真實名可能為“HelloWorld.java.txt”,文件類型并沒有得到修改。腳下留心:編譯Java源文件時可能出現(xiàn)的錯誤1.3.1 第一個Java程序為了解決這一問題,需要讓文件名被隱藏的擴展名顯示出來,再進行修改。顯示擴展名的方法如下,在任意目錄的窗口頁面,單擊“查看選項”,如下圖所示。腳下留心:編譯Java源文件時可能出現(xiàn)的錯誤1.3.2
Java程序的運行機制了解Java程序的運行機制,能夠簡述Java程序的運行機制
先定一個小目標!1.3.2
Java程序的運行機制Java程序的運行過程包括編譯和執(zhí)行。首先,Java編譯器會將后綴名為.java的源文件編譯成后綴名為.class的字節(jié)碼文件。然后,Java虛擬機會解釋執(zhí)行這些字節(jié)碼文件。以1.3.1節(jié)實現(xiàn)的HelloWorld程序為例,對Java程序的運行機制進行說明。(1)編寫HelloWorld.java源文件。(2)使用“javacHelloWorld.java”命令編譯HelloWorld.java文件。編譯結束后,會生成名為HelloWorld.class的字節(jié)碼文件。(3)使用“javaHelloWorld”命令啟動JVM運行程序。Java虛擬機將字節(jié)碼文件加載到內存,然后對內存中的Java類進行解釋執(zhí)行。1.3.2
Java程序的運行機制Java程序是由虛擬機負責執(zhí)行的,而并非操作系統(tǒng)。這樣做的好處是可以實現(xiàn)Java程序的跨平臺,即相同的Java程序可以在不同的操作系統(tǒng)上運行,只需要安裝相應版本的Java虛擬機即可實現(xiàn)兼容。1.3.2
Java程序的運行機制Java程序的跨平臺特性,有效地解決了程序設計語言在不同操作系統(tǒng)編譯時產生不同機器碼的問題,極大降低了程序開發(fā)和維護的成本。需要注意的是,Java程序通過JVM可以實現(xiàn)跨平臺特性,但JVM不是跨平臺的。也就是說,不同操作系統(tǒng)上的JVM是不同的,即Windows平臺上的JVM不能用在Linux上,反之亦然。IDEA1.41.4IDEA在實際項目開發(fā)中,使用記事本編輯代碼受到許多限制,例如無法提供實時調試和排錯功能、缺乏項目管理和構建工具等,難以滿足開發(fā)需求。正所謂“工欲善其事,必先利其器”,為了提高程序的開發(fā)效率,大部分開發(fā)人員很少直接使用記事本編寫程序,通常都會使用集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)進行Java程序的開發(fā)。本節(jié)將對Java常用的開發(fā)工具——IntelliJIDEA(簡稱IDEA)進行講解。1.4.1
IDEA的下載、安裝與啟動了解Java程序的運行機制,能夠簡述Java程序的運行機制
先定一個小目標!1.4.1
IDEA的下載、安裝與啟動IDEA是用于開發(fā)Java程序的集成開發(fā)環(huán)境,同時也支持其他編程語言。它在業(yè)界被公認是最好的Java開發(fā)工具之一,在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、Junit、CVS整合、代碼審查、創(chuàng)新的GUI設計等方面表現(xiàn)尤為出色。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具打開瀏覽器并訪問IDEA的官網首頁。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在IDEA官網首頁單擊“Download”按鈕,進入IDEA下載頁面。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在IDEA下載頁面可以看到,IDEA有兩個版本,分別是IntelliJIDEAUItimate(旗艦版)和IntelliJIDEACommunityEdition(社區(qū)版)。旗艦版:商業(yè)版本,提供了更多高級功能和企業(yè)特性,適用于專業(yè)開發(fā)人員和大型項目,但是需要收費。社區(qū)版:提供了完整的Java開發(fā)環(huán)境,具有代碼編輯、調試、重構、版本控制等功能,以及豐富的插件,不需要收費。對于初學者和個人開發(fā)來說,社區(qū)版足以滿足學習和開發(fā)的需求。這里選擇社區(qū)版下載進行演示。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在IDEA下載頁面中,單擊IntelliJIDEACommunityEdition下面的“Download”按鈕進行下載。下載完成后會獲得一個ideaIC-2023.2.1.exe名稱的安裝包,雙擊該安裝包啟動安裝程序,彈出IDEA安裝歡迎界面。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在IDEA安裝歡迎界面中,單擊“Next”按鈕,進入選擇安裝位置界面。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在IDEA安裝位置選擇界面,輸入或通過單擊“Browser”按鈕修改自定義路徑,設置完成后,單擊“Next”按鈕,進入基本安裝選項界面。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具基本安裝選項界面的安裝選項含義和勾選情況。CreateDesktopShortcut:創(chuàng)建桌面快捷方式,為了方便打開IDEA,建議勾選。Updatecontextmenu:是否將IDEA的功能集成到操作系統(tǒng)的上下文菜單中。根據(jù)自身需求勾選。CreateAssociations:關聯(lián)文件格式,不推薦勾選。UpdatePATHVariable(restartneeded):是否將IDEA啟動目錄添加到環(huán)境變量中,根據(jù)自身需求勾選。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在基本安裝選項界面勾選完成后,單擊“Next”按鈕,進入選擇開始菜單界面。1.4.1
IDEA的下載、安裝與啟動步驟一:下載并安裝IDEA開發(fā)工具在選擇開始菜單界面,單擊“Install”按鈕安裝IDEA,安裝完成界面如下圖所示。1.4.1
IDEA的下載、安裝與啟動步驟二:啟動IDEA開發(fā)工具IDEA安裝完成之后,雙擊IDEA的桌面快捷方式即可啟動,啟動界面如下圖所示。1.4.1
IDEA的下載、安裝與啟動步驟二:啟動IDEA開發(fā)工具啟動完成后,進入IDEA主界面,如下圖所示。1.4.1
IDEA的下載、安裝與啟動多學一招:修改IDEA主體背景顏色當前安裝的IDEA的主題背景顏色默認是黑色,為了后續(xù)使用時閱讀更清晰、內容的可見性更高,這里將IDEA的主題背景顏色修改為白色。在IDEA主界面中,單擊左側導航菜單欄中的“Customize”選項,進入IDEA定制界面,如右圖所示。1.4.1
IDEA的下載、安裝與啟動多學一招:修改IDEA主體背景顏色在IDEA定制界面,單擊Colortheme下面的下拉框,選擇“Light”選項1.4.2
使用IDEA進行程序開發(fā)掌握使用IDEA進行程序開發(fā),能夠使用IDEA編寫并運行HelloWorld程序
先定一個小目標!1.4.2
使用IDEA進行程序開發(fā)在安裝完IDEA后,為了更好地學習和掌握IDEA的使用,下面使用IDEA實現(xiàn)一個Java程序,實現(xiàn)在控制臺輸出“helloworld”功能。1.4.2
使用IDEA進行程序開發(fā)IDEA提供了強大的代碼管理功能。編寫Java程序時,通過創(chuàng)建項目能夠更好地組織代碼、處理依賴關系,以及簡化構建和部署流程。1.創(chuàng)建Java項目在IDEA主界面單擊“NewProject”選項,進入創(chuàng)建項目界面,如右圖所示。1.4.2
使用IDEA進行程序開發(fā)創(chuàng)建項目界面中,需要設置一些所需的參數(shù),包括Name、Location、Language、Buildsystem和JDK。Name:項目名稱,用于唯一標識一個項目,這里設置為chapter01。Location:位置,用于指定項目的存儲位置或文件保存的路徑,這里設置為“D:\project”。Language:語言,這里指定要使用的編程語言,這里選擇Java作為主要語言。Bulidsystem,構建系統(tǒng),用于管理項目構建和依賴管理的工具,這里使用IDEA自帶的構建系統(tǒng)。JDK:選擇當前項目基于的JDK,這里選擇1.2節(jié)安裝的JDK17。1.創(chuàng)建Java項目1.4.2
使用IDEA進行程序開發(fā)在創(chuàng)建項目界面設置完所有參數(shù)后,單擊“Create”,進入IDEA工作臺。1.創(chuàng)建Java項目1.4.2
使用IDEA進行程序開發(fā)在IDEA工作臺中,選中左側導航欄的src文件夾后鼠標右擊,彈出操作選項菜單,如下圖所示。2.創(chuàng)建Java類1.4.2
使用IDEA進行程序開發(fā)在操作選項菜單中,選擇“New”→“JavaClass”,會彈出一個新建Java類的對話框。2.創(chuàng)建Java類1.4.2
使用IDEA進行程序開發(fā)在新建Java類的對話框中,選擇Class,并在輸入框中輸入類名HelloWorld,然后按下“Enter”鍵完成類的創(chuàng)建,進入IDEA的開發(fā)界面。2.創(chuàng)建Java類1.4.2
使用IDEA進行程序開發(fā)可以看到,在IDEA的開發(fā)界面默認打開了HelloWorld.java文件,可以在文本編輯器視圖中編輯對應的文件內容。在文本編輯器視圖中編寫一個Java程序,如下圖所示。3.編寫程序代碼1.4.2
使用IDEA進行程序開發(fā)在IDEA這樣的集成開發(fā)環(huán)境,它使用了內置的編譯器和構建工具,能夠自動將源代碼編譯成字節(jié)碼文件,因此無需手動進行編譯。4.運行程序編寫好Java程序后,在文本編輯器視圖中,單擊HelloWorld.java文件中第1行或第2行前面的按鈕,運行HelloWorld程序,如右圖所示。1.4.2
使用IDEA進行程序開發(fā)在文本編輯器視圖中,單擊“Run‘HelloWorld.main()’”選項,運行HelloWorld程序,運行結果會在控制臺顯示,如下圖所示。4.運行程序1.4.3
IDEA調試工具掌握IDEA調試工具的使用,能夠在程序中正確設置斷點并進行程序的調試
先定一個小目標!1.4.3
IDEA調試工具在程序開發(fā)過程中,難免會出現(xiàn)各種各樣的錯誤。為了幫助開發(fā)者更有效地定位程序中的錯誤,IDEA提供了強大的調試工具,它通過逐步執(zhí)行代碼、查看變量的值和監(jiān)視程序的執(zhí)行流程,幫助開發(fā)者深入分析和調試程序。調試工具還允許開發(fā)者設置斷點,使程序在執(zhí)行到特定位置時停下來,以便檢查代碼狀態(tài)和調試邏輯。下面演示使用IDEA調試工具對程序進行調試。1.4.3
IDEA調試工具1.設置斷點在IDEA中,斷點是開發(fā)人員為了調試程序而設置的一個特殊標記點,用于暫停程序的執(zhí)行。通過設置斷點,開發(fā)人員可以在程序運行時指定程序在哪個位置暫停,以便觀察程序的執(zhí)行狀態(tài)、檢查變量的值和執(zhí)行其他調試操作。在IDEA中可以通過單擊需要設置斷點的代碼行左側來設置斷點,設置成功的斷點通常以一個紅色圓點進行展示。1.4.3
IDEA調試工具1.設置斷點在HelloWorld.java文件的第3行代碼左側設置斷點,如下圖所示。1.4.3
IDEA調試工具2.以Debug模式啟動程序進行調試單擊IDEA菜單欄中右上方工具欄中的
按鈕,以Debug模式啟動程序,如下圖所示。1.4.3
IDEA調試工具2.以Debug模式啟動程序進行調試在Debug模式界面中提供了一些常用的調試按鈕,使用這些調試按鈕可以幫助開發(fā)者在程序執(zhí)行過程中進行調試操作,這些常用調試按鈕的作用及對應的快捷鍵如下表所示。按鈕快捷鍵顯示效果F8單步調試,執(zhí)行下一行代碼。如果這一行代碼中有方法調用,不會進入方法內部
F7單步調試,執(zhí)行下一行代碼。如果這一行代碼中調用了自定義的方法,則進入所調用的自定義方法內部
Alt+Shift+F7單步調試,執(zhí)行下一行代碼。如果這一行代碼中調用了方法,則進入所調用的方法內部
Shift+F8跳出方法,從進入的方法內退出到方法調用處
Alt+F9運行到光標處F9繼續(xù)執(zhí)行,執(zhí)行到下一個斷點或執(zhí)行完程序1.4.3
IDEA調試工具2.以Debug模式啟動程序進行調試由于HelloWorld程序的方法中只有一行代碼,所以按下F9鍵則可以繼續(xù)執(zhí)行,如下圖所示。本章小結本章主要對Java開發(fā)入門進行了講解。首先講解了Java概述;其次講解了Java環(huán)境搭建;然后帶領讀者進行了第一個Java程序的開發(fā),并了解了Java程序的運行機制;最后為讀者介紹了IntelliJIDEA開發(fā)工具。通過學習本章的內容,讀者能夠對Java語言有一個初步認識,為后面學習Java知識開啟了大門。本章小結第2章Java編程基礎《Java基礎案例教程》(第3版)學習目標/Target了解Java程序的基本結構,能夠簡述Java程序的基本組成結構和各個部分的含義熟悉Java中的注釋,能夠簡述Java中注釋的類型及它們各自的作用熟悉關鍵字和標識符,能夠簡述標識符和關鍵字的含義和使用規(guī)則掌握Java的數(shù)據(jù)類型,能夠簡述Java的所有基本數(shù)據(jù)類型掌握數(shù)據(jù)類型轉換,能夠簡述自動類型轉換和強制類型轉換的區(qū)別學習目標/Target掌握Java中的運算符,能夠使用算術運算符、賦值運算符、比較運算符、邏輯運算符和三元運算符對程序中的數(shù)據(jù)和表達式進行運算掌握選擇結構語句的使用方法,能夠使用if語句和switch語句控制程序中語句的執(zhí)行順序掌握循環(huán)結構語句的使用,能夠使用while循環(huán)語句、do…while循環(huán)語句、for循環(huán)語句,循環(huán)嵌套結構和跳轉語句處理程序中要重復執(zhí)行的代碼掌握變量的定義,能夠定義基本數(shù)據(jù)類型的變量掌握數(shù)組的聲明和初始化,能夠使用靜態(tài)初始化和動態(tài)初始化的方式創(chuàng)建數(shù)組學習目標/Target掌握數(shù)組的常見操作,能夠對數(shù)組進行遍歷、排序,以及數(shù)組的最值的獲取掌握方法的定義和使用,能夠定義方法和調用方法掌握方法的重載,能夠定義和使用重載方法掌握數(shù)組元素的訪問和賦值,能夠通過索引對數(shù)組元素進行訪問并賦值熟悉二維數(shù)組的使用,能夠使用靜態(tài)初始化和動態(tài)初始化的方式創(chuàng)建二維數(shù)組和遍歷二維數(shù)組章節(jié)概述/
Summary通過學習第一章,大家已經對Java有了基本認識。然而,要能夠熟練使用Java編寫程序,需要充分掌握Java的基礎知識,并不斷進行練習和實踐。本章將對Java的基本語法、變量與常量、運算符、結構語句、數(shù)組和方法等知識進行詳細講解。目錄/Contents0102Java基本語法變量0304數(shù)據(jù)類型轉換Java中的運算符目錄/Contents0506選擇結構語句循環(huán)結構語句0708數(shù)組方法Java基本語法2.12.1Java基本語法每一種編程語言都有一套自己的語法規(guī)則,同樣,使用Java編寫程序也必須遵循一定的語法規(guī)范,如程序的基本格式、標識符和關鍵字的定義等。本節(jié)將對Java的基本語法進行詳細講解。了解Java程序的基本結構,能夠簡述Java的基本組成結構和各個部分的含義2.1.1Java程序的基本結構
先定一個小目標!2.1.1Java程序的基本結構一個典型的Java程序包括包聲明、導入類、定義類、入口方法和主體代碼等多個組成部分。這些部分共同協(xié)作,形成完整的Java程序,示例代碼如下。packagecn.itcast.myapp;//包聲明importjava.util.Scanner;//導入類publicclassMyApp{//定義類publicstaticvoidmain(String[]args){//入口方法//主體代碼Scannerscanner=newScanner(System.in);System.out.print("請輸入您的名字:");Stringname=scanner.nextLine();System.out.println("您好,"+name+"!");}}2.1.1Java程序的基本結構下面對Java程序的基本組成結構進行說明。(1)包聲明Java中的包是一種組織和管理類文件的機制,它將相關的類組織到一個包,以便更好地管理和維護代碼。包可以嵌套使用,形成層級結構,通常每個包都有一個唯一的名稱,稱為包名。包使用關鍵字package聲明,具體語法格式如下。package包名;上述語法格式中,包名用于給類和接口提供唯一標識符,避免不同包中同名類產生沖突。包的聲明只能位于Java源文件的第一行。且Java中的包是可選的,沒有顯示聲明包時,類被放置在默認包中。2.1.1Java程序的基本結構(2)導入類在Java開發(fā)過程中,如果一個類要使用另一個包中的類,則需要使用import關鍵字來導入這個類。使用import關鍵字導入類的語法格式如下。import包名.類名;導入類的語句通常出現(xiàn)在聲明包的語句之后。導入類的語句也是可選的,使用import關鍵字導入指定包下的類后,就不必在每次使用到該類時,都書寫類的全限定名。如果需要用到一個包中的多個類,則可以使用如下語法格式,導入該包下所有的類。import包名.*;2.1.1Java程序的基本結構(3)定義類Java的所有代碼都需要在類中書寫,類可以被看作是Java程序的基本單元。類的定義使用關鍵字class,具體語法格式如下。修飾符class類名{//類體}在上述語法格式中,修飾符分為訪問修飾符和非訪問修飾符,訪問修飾符用于控制類的訪問權限,例如public是公共訪問修飾符,非訪問修飾符有final、abstract等等。2.1.1Java程序的基本結構(4)入口方法入口方法也叫主方法。入口方法是程序執(zhí)行的起始位置,具體語法格式如下。publicstaticvoidmain(String[]args){//入口方法主體代碼}上述語法格式中各個元素的含義將會在后續(xù)的章節(jié)中詳細講解。此處讀者只需要知道Java程序執(zhí)行時從入口方法開始即可。2.1.1Java程序的基本結構(5)主體代碼主體代碼位于入口方法中,用于實現(xiàn)程序的具體邏輯。主體代碼還可以使用變量和調用方法來完成特定的任務。2.1.1Java程序的基本結構在編寫Java程序時,需要注意以下幾點。使用public修飾的類名和文件名需要保持一致。Java嚴格區(qū)分大小寫。變量名、方法名、類名等的大小寫需要保持一致。Java程序中每條語句需要以“;”結束,否則程序會報錯。在編寫程序時,為了增強代碼的可讀性,通常會使用空格或制表符來構建代碼塊的層次結構,一般使用四個空格作為一個縮進級別。此外,在編寫程序時通常一行只寫一條語句,符號“{”與代碼同行,符號“}”單獨占一行。熟悉Java中的注釋,能夠簡述Java中注釋的類型和各自的作用2.1.2Java中的注釋
先定一個小目標!2.1.2Java中的注釋在Java中,注釋是用來為代碼添加解釋、說明和文檔化信息的特殊文本,它只在Java源文件中有效,在編譯程序時編譯器會忽略這些注釋信息,不會將其編譯到字節(jié)碼文件中。2.1.2Java中的注釋Java中的注釋有三種類型,分別是單行注釋、多行注釋和文檔注釋。1.單行注釋:用于對程序中的某一行代碼進行解釋。單行注釋以符號“//”開頭,可以添加到代碼的任意位置。intx=5;//定義一個變量并為其賦初始值為5intx=5;//定義一個變量并為其賦初始值為52.多行注釋:注釋的內容可以為多行,常用于對整個類或方法的功能進行說明。多行注釋以符號“/*”開頭,以符號“*/”結尾。2.1.2Java中的注釋3.文檔注釋:是為了生成項目文檔或API文檔而設計的注釋形式,用于對一段代碼進行概括性的解釋說明。文檔注釋通常被用于描述類、接口、方法、字段等代碼元素的用途、輸入參數(shù)、返回值、異常等信息。文檔注釋以/**開始,以*/結束,位于代碼元素的前面。在文檔注釋中,可以使用特定的標簽,例如@param、@return、@throws等標簽提供詳細的解釋和說明。/**
*入門的HelloWorld程序
*@author黑馬程序員//注釋此文檔代碼的作者
*@since1.0//注釋文檔代碼的起始版本信息
*/熟悉關鍵字和標識符,能夠簡述標識符和關鍵字的含義和使用規(guī)則2.1.3關鍵字和標識符
先定一個小目標!2.1.3關鍵字和標識符Java中的關鍵字和標識符用于在程序中標識不同的元素,可以使代碼更容易理解和組織。其中,關鍵字是由Java定義的,具有特殊的含義和功能。標識符是由程序員自己定義的,用于標識變量、方法、類等自定義元素。2.1.3關鍵字和標識符關鍵字是編程語言中具有特殊含義和功能的預定單詞。在Java中,關鍵字用于聲明變量、定義類、控制程序流程、處理異常、實現(xiàn)面向對象的特性等。例如2.1.1中講解的class關鍵字用來定義類,package關鍵字用來定義包等。1.關鍵字2.1.3關鍵字和標識符1.關鍵字abstractcontinuefornewswitchassertdefaultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile2.1.3關鍵字和標識符1.關鍵字對于Java中的關鍵字,有以下幾點需要注意。所有關鍵字都是小寫的。const和goto是保留關鍵字,雖然在Java的當前版本中還沒有任何意義,但在程序中不能用來作為自定義的標識符。true、false和null雖然不屬于關鍵字,但它們具有特殊意義,也不能作為標識符使用。自Java10開始,Java中增加了局部變量類型推斷功能,支持使用var定義變量。但是var不屬于Java中的關鍵字,而是保留類型名,在程序中同樣不能用作自定義的標識符。2.1.3關鍵字和標識符2.標識符Java中的標識符用于唯一的標識程序的各種元素,如變量、方法和類等。Java中的標識符在定義時,需要遵循如下規(guī)則。標識符可以由字母、數(shù)字、下劃線“_”和美元符號“$”組成,但不能以數(shù)字開頭。標識符是區(qū)分大小寫的,也就是說“myVariable”和“myvariable”是兩個不同的標識符。不能是Java中的關鍵字。以上規(guī)則是必須遵守的,否則編譯時會報錯。2.1.3關鍵字和標識符2.標識符為了增強代碼的可讀性,建議遵守下列命名約定和管理。包名所有字母一律小寫。類名和接口名每個單詞的首字母都要大寫。常量名所有字母都大寫,單詞之間用下劃線連接。變量名和方法名一般使用首字母小寫的駝峰命名法。在程序中,建議使用有意義的名稱來定義標識符,以提高程序可讀性。標識符的長度沒有限制,但不要過長。2.1.3關鍵字和標識符VS合法標識符usernameusername123user_name_username$username不合法標識符123username//不能以數(shù)字開頭class//不能是關鍵字98.3//不能數(shù)字開頭HelloWorld//不能包含空格掌握Java的數(shù)據(jù)類型,能夠簡述Java的所有基本數(shù)據(jù)類型2.1.4Java的數(shù)據(jù)類型
先定一個小目標!2.1.4Java的數(shù)據(jù)類型Java提供了一系列的數(shù)據(jù)類型用于表示和處理不同種類的數(shù)據(jù)。Java的數(shù)據(jù)類型可以分為兩大類,分別是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型?;緮?shù)據(jù)類型:由編程語言系統(tǒng)定義、不可再分,每種基本數(shù)據(jù)類型在內存中所占空間固定。引用數(shù)據(jù)類型:包括編程人員自己定義的類型和Java標準庫提供的類型。2.1.4Java的數(shù)據(jù)類型Java中的數(shù)據(jù)類型2.1.4Java的數(shù)據(jù)類型(1)整數(shù)類型整數(shù)類型是表示整數(shù)數(shù)據(jù)的類型。在Java中,為了給不同大小范圍內的整數(shù)合理地分配存儲空間,整數(shù)類型分為4種不同的類型,分別是字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long),4種類型的數(shù)據(jù)所占存儲空間的大小以及取值范圍如下表所示。類型占用存儲空間/字節(jié)
取值范圍byte1-27~27-1short2-215~215-1int4-231~231-1long8-263~263-12.1.4Java的數(shù)據(jù)類型(1)整數(shù)類型Java中的整數(shù)類型的值有二進制、八進制、十進制和十六進制四種表示形式。二進制:由數(shù)字0和1組成的數(shù)字序列。從JDK7開始,二進制數(shù)要以0b或0B開頭,如0B10110101。八進制:以0開頭并且其后由0~7(包括0和7)的整數(shù)組成的數(shù)字序列,如“0342”。十進制:由0~9(包括0和9)的整數(shù)組成的數(shù)字序列,如198。十六進制:以0x或者0X開頭并且其后由0~9、A~F或a~f(包括0和9、A和F,a和f)組成的數(shù)字序列,如0x25AF。2.1.4Java的數(shù)據(jù)類型(2)浮點數(shù)類型浮點數(shù)類型是表示小數(shù)數(shù)據(jù)的類型,包括單精度浮點型(float)和雙精度浮點型(double)。double類型所表示的浮點數(shù)比float類型更精確,這兩種浮點數(shù)類型的數(shù)據(jù)所占存儲空間的大小以及取值范圍如下表所示。類型占用存儲空間/字節(jié)
取值范圍float4約-3.4E+38~3.4E+38double8
約-1.7E+308~1.7E+308E(或者小寫e)表示以10為底的指數(shù),E后面的+號和-號代表正指數(shù)和負指數(shù)。例如,3.4E+38表示3.4×1038。2.1.4Java的數(shù)據(jù)類型(2)浮點數(shù)類型2.3f3.6d3.845.022e+23f5.022e+23f表示5.022×1023的單精度浮點數(shù)。2.1.4Java的數(shù)據(jù)類型(3)字符類型在Java中,字符類型用char表示,用于表示單個字符的類型,字符需要用一對英文半角格式的單引號('')引起來,如'a'。Java中字符類型的值有3種形式進行表示,分別為使用單個字符表示、使用轉義字符表示、使用Unicode表示。'a''.''1''&''\n'//使用轉義字符表示字符'\u0000‘//使用Unicode表示字符2.1.4Java的數(shù)據(jù)類型實際開發(fā)中,如果希望表示一段文本,很顯然使用字符類型就不合適了,因為字符類型只能表示單個字符,這種情況下我們通常使用String類型來描述文本。String是Java標準類庫中提供的一個類,其本質是由多個char類型的數(shù)據(jù)組成的一個序列,所以也叫字符串。String類將會在后面的內容詳細講解,這里只需要做一個大致了解即可。2.1.4Java的數(shù)據(jù)類型(4)布爾類型在Java中,使用boolean表示布爾類型,布爾類型只有true和false兩個值,分別表示邏輯“真”和邏輯“假”。2.1.4Java的數(shù)據(jù)類型Java10引入了一項稱為var的新功能。var關鍵字允許開發(fā)人員在聲明變量時省略其類型,并通過編譯器的類型推斷功能自動推斷變量的類型。但是,盡管var允許類型推斷,但一旦變量被賦予初始值,它的類型將被確定,并且在后續(xù)的使用中不能改變。變量2.2掌握變量的定義,能夠定義基本數(shù)據(jù)類型的變量2.2變量
先定一個小目標!2.2變量程序運行期間,隨時可能產生一些臨時數(shù)據(jù),應用程序會將這些數(shù)據(jù)保存在內存單元中,并通過標識符來訪問和操作。這些用于標識內存單元的標識符就稱為變量,而內存單元中存儲的數(shù)據(jù)即為變量的值。2.2變量1.變量的聲明變量的聲明是指在代碼中明確的指定變量的類型和名稱,以便編譯器識別變量并為其分配合適的存空間。聲明變量的語法格式如下:數(shù)據(jù)類型變量名[,變量名2……];上述語法格式說明:變量名是為變量指定的標識符,用于唯一地標識變量。變量的命名需要遵守標識符的命名規(guī)則。一條語句中可以同時聲明多個變量,變量名之間用逗號分隔。2.2變量2.變量的定義變量的定義是指在聲明的基礎上為變量分配內存空間并選擇性地為其賦予初始值,可以在聲明變量時進行賦值操作,也可以在后續(xù)代碼中進行賦值操作。定義變量的語法格式如下:數(shù)據(jù)類型變量名=初始值;變量的初始值可以是常量、表達式或者其他變量的值。示例代碼如下。intx=25;inty=x;2.2變量下面通過一個案例演示Java中多種數(shù)據(jù)類型的變量定義,案例要求輸出一個商品的信息,包括編號、名稱、價格等。Example01.java源代碼案例演示2.2變量案例運行結果如下圖所示。案例演示2.2變量3.變量的作用域變量具有一定的可訪問范圍,這個范圍被稱為變量的作用域。外層大括號為x的作用域內層大括號為y的作用域。2.2變量案例演示下面通過一個案例演示變量的作用域,該案例要求在不同代碼塊內定義和使用變量來實現(xiàn)。Example02.java源代碼2.2變量案例演示案例的運行結果如下圖所示。將Example02.java文件中的x=y;移動到第8行后再次運行。數(shù)據(jù)類型轉換2.32.3數(shù)據(jù)類型轉換在實際開發(fā)中,程序中不同的組件或模塊可能使用不同的數(shù)據(jù)類型來表示相同或相關的信息。為了使這些組件或模塊能夠相互交互和通信,需要進行數(shù)據(jù)類型轉換以保證數(shù)據(jù)的有效傳遞和相互兼容。Java中數(shù)據(jù)類型的轉換形式分為兩種,分別是自動類型轉換和強制類型轉換。掌握自動類型轉換,能簡述什么是自動類型轉換,以及自動類型轉換需要滿足的條件2.3.1自動類型轉換
先定一個小目標!2.3.1自動類型轉換自動類型轉換是指在不同數(shù)據(jù)類型之間進行操作或賦值時,編譯器會自動完成類型轉換的過程,無須顯示地編寫類型轉換的代碼。自動類型轉換需要滿足的條件。兩種數(shù)據(jù)類型彼此兼容,即二者在語義上或邏輯上是相關聯(lián)的。目標類型的取值范圍大于源類型的取值范圍。bytea=10;intb=a;2.3.1自動類型轉換不同類型數(shù)據(jù)進行運算操作時,自動類型轉換也可能發(fā)生。編譯器根據(jù)運算要求和操作數(shù)的類型自動將其中一個操作數(shù)轉換為取值范圍更大的數(shù)據(jù)類型。常見的自動類型轉換如下。整數(shù)類型之間的轉換。取值范圍小的整數(shù)類型數(shù)據(jù),其數(shù)據(jù)類型可以自動轉換為取值范圍大的整數(shù)類型。整數(shù)類型轉換為float類型。其他類型轉換為double類型。2.3.1自動類型轉換案例演示下面通過一個案例演示自動類型轉換。Example03.java源代碼2.3.1自動類型轉換案例演示案例運行結果如圖所示。2.3.1自動類型轉換自動類型轉換還會發(fā)生在表達式中,表達式是指由操作數(shù)和運算符組成的一個式子,當表達式中操作數(shù)包含多個基本數(shù)據(jù)類型的變量時,低取值范圍較小的操作數(shù)會自動轉換成取值范圍較大的數(shù)據(jù)類型操作數(shù),以便與取值范圍較大的操作數(shù)相匹配,這就是表達式數(shù)據(jù)類型數(shù)據(jù)類型的自動提升。表達式自動類型提升規(guī)則如下。操作數(shù)中的byte類型、short類型和char類型將自動提升為int類型。表達式的數(shù)據(jù)類型自動提升到,表達式中取值范圍最大的操作數(shù)的數(shù)據(jù)類型。掌握強制類型轉換,能夠簡述什么是強制類型轉換,以及在程序中實現(xiàn)強制類型轉換2.3.2強制類型轉換
先定一個小目標!2.3.2強制類型轉換強制類型轉換也稱為顯式類型轉換,指的是兩種數(shù)據(jù)類型之間的轉換需要進行顯式的聲明。當兩種類型彼此不兼容,或者目標類型取值范圍小于源類型時,自動類型轉換無法進行,這時就需要進行強制類型轉換。2.3.2強制類型轉換案例演示下面通過一個案例演示,轉換彼此不兼容兩種類型的情況。在本例中,使用int類型的變量為byte類型的變量賦值。Example04.java源代碼2.3.2強制類型轉換案例演示案例的運行結果如下圖所示。2.3.2強制類型轉換強制類型轉換的格式。目標數(shù)據(jù)類型變量名=(目標類型)值;
強制類型轉換時,如果將取值范圍較大的數(shù)據(jù)類型強制轉換為取值范圍較小的數(shù)據(jù),可能會導致數(shù)據(jù)的截斷或精度丟失。2.3.2強制類型轉換案例演示將Example04.java文件中的第4行代碼修改為如下代碼。byteb=(byte)a;修改后再次運行文件Example04.java,運行結果如下圖所示。2.3.2強制類型轉換為什么a和b的值不一樣?2.3.2強制類型轉換案例演示int類型的變量a占4個字節(jié),byte類型的變量b占1個字節(jié),當把變量a強制轉換為b時,前面高3位字節(jié)的數(shù)據(jù)丟失,數(shù)值發(fā)生改變。Java中的運算符2.42.4Java中的運算符在程序編寫中,會經常需要進行各種數(shù)據(jù)處理和邏輯判斷。為此,Java提供了多種運算符來支持這些操作,包括算術運算符、賦值運算符、比較運算符、邏輯運算符和三元運算符等。這些運算符在使用方式上類似于數(shù)學中的運算符,可以對數(shù)據(jù)進行相應的計算和操作。下面對Java中的運算符進行詳細講解。掌握算術運算符,能夠在程序中使用算術運算符進行加、減、乘、除運算2.4.1算術運算符
先定一個小目標!2.4.1算術運算符Java中的算術運算符是用于對數(shù)值類型數(shù)據(jù)進行算術運算的符號,包括加、減、乘、除等。通過這些運算符,可以方便地對變量進行加減乘除等運算。運算符運算范例結果+加2+35正號+33-減6-42負號b=4;-b-4*乘2*510/除12/52%取模(求余數(shù))9%41++自增(前綴)a=2;b=++a;a=3;b=3自增(后綴)a=2;b=a++a=3;b=2--自減(前綴)a=2;b=--aa=1;b=1;自減(后綴)a=2;b=a--a=1;b=2;2.4.1算術運算符使用算術運算符的注意事項。在進行除運算時,如果兩個操作數(shù)都是整數(shù)類型,則進行整除除法,向下取整,得到整數(shù)結果。當兩個操作數(shù)至少有一個為浮點數(shù)類型,那么結果為一個浮點數(shù)。例如:10/4的結果為2,10/4.0的結果為2.5。在進行取模運算時,運算結果的正負取決于被模數(shù)(即運算符%左邊的數(shù)),與模數(shù)(即運算符%右邊的數(shù)無關)。例如,-9%4的值為1,而9%-4的值為-1。自增自減運算符單獨使用時,++和--放在變量前后沒有區(qū)別,而與其他運算符混合使用時,++和--放在操作數(shù)前面,先進行自增或自減運算,再進行其他運算,反之,先進行其他運算,再進行自增或自減運算。2.4.1算術運算符案例演示自增自減運算符在使用時極容易混淆,下面通過一個案例進一步學習它們的使用。Example05.java源代碼2.4.1算術運算符案例演示案例運行結果如下圖所示。2.4.2賦值運算符
先定一個小目標!掌握賦值運算符,能夠使用賦值運算符對變量進行賦值2.4.2賦值運算符賦值運算符主要用于給一個變量賦值。運算時它將運算符右側的值賦給左側的變量。運算符運算范例結果=賦值a=5a=5+=加等于a=5;b=4;a+=ba=9;b=4-=減等于a=5;b=4;a-=ba=1;b=4*=乘等于a=5;b=4;a*=b;a=20;b=4/=除等于a=5;b=4;a/=b;a=1;b=4%=模等于a=5;b=4;a%=b;a=1;b=4在上表中,除了“=”,其他都屬于復合賦值運算符,即在完成某種運算的同時,進行賦值運算。例如a+=2等價于a=a+2。2.4.2賦值運算符使用賦值運算符需要注意的問題。賦值運算符的左邊只能是變量,右邊可以是常量、變量或表達式。例如:a=5;b=4;a+=b都屬于表達式賦值運算符“=”與數(shù)學中的等號不同。后者強調左右相等之意,而前者無此含義。因此在編程中要注意賦值運算符“=”不能表示符號左右兩邊相等。2.4.3比較運算符
先定一個小目標!掌握比較運算符,能夠使用比較運算符對兩個數(shù)值或變量進行比較2.4.3比較運算符比較運算符也稱為關系運算符,用于對兩個數(shù)值或變量進行比較。通常將比較運算符連接起來的表達式也稱為關系表達式,關系表達式的結果是一個布爾值,即true或false。運算符運算范例結果==等于4==3false!=不等于4!=3true<
小于4<3false>
大于4>3true<=小于或等于4<=3false>=大于或等于4>=3true需要注意的是,在比較運算中,不能將比較運算符“==”誤寫成賦值運算符“=”。2.4.4邏輯運算符
先定一個小目標!掌握邏輯運算符,能夠使用邏輯運算符對布爾型的數(shù)據(jù)進行操作2.4.4邏輯運算符邏輯運算符用于對布爾型的數(shù)據(jù)進行操作,其結果仍是一個布爾值,常用于條件判斷、循環(huán)結構,以及布爾表達式的組合邏輯中。運算符運算范例結果!邏輯非!truefalse!falsetrue&邏輯與true&truetruetrue&falsefalsefalse&falsefalsefalse&truefalse&&短路與true&&truetruetrue&&falsefalsefalse&&falsefalsefalse&&truefalse2.4.4邏輯運算符接上頁表格。運算符運算范例結果|邏輯或true|truetruetrue|falsetruefalse|falsefalsefalse|truetrue||短路或true||truetruetrue||falsetruefalse||falsefalsefalse||truetrue^邏輯異或true^truefalsetrue^falsetruefalse^falsefalsefalse^truetrue2.4.4邏輯運算符使用邏輯運算符的注意事項。運算符“&”、“|”在做邏輯運算時,與“&&”和“||”具有相似的功能,但是它們在使用上有一些關鍵區(qū)別,具體如下。在使用“&”進行運算時,不論左邊表達式的值為true還是false,右邊的表達式都會被執(zhí)行。而在使用“&&”進行運算時,如果左邊表達式的值為false,右邊的表達式將不會被執(zhí)行。在使用“|”進行運算時,不論左邊的值為true還是false,右邊的表達式都會被執(zhí)行。而在使用“||”進行運算時,如果左邊的值為true,右邊的表達式將不被執(zhí)行。2.4.4邏輯運算符下面通過一個案例加深對“&”和“&&”的學習。案例演示Example06.java源代碼2.4.4邏輯運算符案例的運行結果如下圖所示。案例演示2.4.4邏輯運算符多學一招:運算符“&”“|”和“^”的按位運算運算符“&”“|”和“^”在Java中除了可以做邏輯運算還可以做位運算,常用于兩個整數(shù)的二進制位按位運算。使用“&”按位與運算:如果兩個操作數(shù)都為1,則運算結果為1,否則為0。使用“|”按位或運算:對兩個操作數(shù)的每個對應位執(zhí)行邏輯或操作,如果其中至少有一位為1,則結果為1,否則為0。使用“^”按位異或運算:對兩個操作數(shù)的每個對應位執(zhí)行邏輯異或操作,如果兩個位相同,結果為0,否則為1。2.4.4邏輯運算符多學一招:運算符“&”“|”和“^”的按位運算下面以使用“&”進行按位與運算為例進行說明
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國紫水晶紓敏彩膜市場調查研究報告
- 印刷包裝在禮品市場的個性化設計考核試卷
- 攝影器材行業(yè)政策研究與發(fā)展趨勢預測研究報告考核試卷
- 2025-2030年復古軍裝風格男裝企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 2025-2030年戶外便攜燒水器行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年手術室設備租賃服務行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年復古風格牌架設計企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 2025-2030年可穿戴人工脊髓康復裝置企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 2025-2030年啤酒釀造溫控系統(tǒng)行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年發(fā)光音樂手環(huán)行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- JJG 921-2021環(huán)境振動分析儀
- GB/T 308.1-2013滾動軸承球第1部分:鋼球
- 中藥炮制學-第五、六章
- 中國風軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2023機械工程師考試試題及答案
- 2022年電拖實驗報告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 公共政策學(第三版)-課件
- 冷卻塔是利用水和空氣的接觸
- 我的家鄉(xiāng)--安徽亳州.PPT
評論
0/150
提交評論