版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1.1.1Java語言誕生與發(fā)展1.1.2Java語言的特點1.1.3運行機制與虛擬機1.1Java語言概述語言初
識Java語言程序設計Unit11.1.1Java語言誕生與發(fā)展1Java語言的誕生Java語言的誕生最早可以追溯至1991年,那時稱為OAK語言,是SUN公司為一些消費性電子產(chǎn)品而設計的一個通用環(huán)境,其最初目的只是為了開發(fā)一種獨立于平臺的軟件技術(shù)。
1994年,開始將OAK技術(shù)應用于WEB上,并且開發(fā)出了HotJava的第一個版本。
1995年,SUN公司正式推出Java,并快速引發(fā)了全球范圍內(nèi)的Java開發(fā)與應用的熱潮。1.1.1Java語言誕生與發(fā)展2Java語言的發(fā)展0102031996年1月,Sun公司正式發(fā)布了Java開發(fā)工具包(JavaDevelopmentKit)JDK1.0,其中包括兩大部分:運行環(huán)境和開發(fā)工具。1998年12月,Sun公司隆重發(fā)布了JDK1.2,標志著Java2平臺的誕生。在Java1.2版以后將JDK1.2改名為J2SDK,將Java改名為Java2,并推出了備受業(yè)界追捧的Swing組件庫。1999年,Sun公司推出了以Java2為核心的J2EE、J2SE和J2ME三大平臺。隨著三大平臺的迅速推進,全球形成了一股巨大的Java應用浪潮。1.1.1Java語言誕生與發(fā)展2Java語言的發(fā)展Java2平臺微型版。J2ME適合于小型設備的開發(fā),尤以手機Java應用開發(fā)著稱。Java2Platform,MicroEdition(J2ME)Java2平臺標準版,適用于桌面系統(tǒng)應用程序的開發(fā)。Java2Platform,StandardEdition(J2SE)J2EE是一種利用Java2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理等相關復雜問題的體系結(jié)構(gòu)。Java2Platform,EnterpriseEdition(J2EE)031.1.1Java語言誕生與發(fā)展2Java語言的發(fā)展04052000年5月,Sun公司推出J2SE1.3,豐富了已有的API并加強對新API的拓展;2002年2月,Sun公司發(fā)布J2SE1.4,它是J2SE第一個參與了Java共同體過程(JCP)的J2SE版本。Borland、Compaq、Symbian、IBM等公司參與共同體規(guī)范定制;062004年10月,Sun公司隆重發(fā)布J2SE5.0,J2SE的這次變更之重大和意義之深遠,無論在成熟度、穩(wěn)定性、可伸縮性、安全性上都有大幅度提升,市場的反應證明它的確值得升級為J2SE5.0。072009年4月,著名的甲骨文公司(財團)收購SUN公司,次年發(fā)布了對Sun各項業(yè)務的整合規(guī)劃,Java平臺的發(fā)展迎來新的飛躍。1.1.1Java語言誕生與發(fā)展1.1.2Java語言的特點1.1.3運行機制與虛擬機1.1Java語言概述浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言初
識Java語言程序設計Unit1主講胡堅1.1.2Java語言的特點(1)Java語言是簡單的Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂。(2)Java語言是面向?qū)ο蟮腏ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關鍵字為implements)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定??傊?,Java語言是一個純面向?qū)ο蟪绦蛟O計語言。1.1.2Java語言的特點(3)Java語言是分布式的Java語言支持Internet應用的開發(fā),在基本的Java應用編程接口中有一個網(wǎng)絡應用編程接口(),它提供了用于網(wǎng)絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。(4)Java語言是健壯的Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。(5)Java語言是跨平臺的Java語言具有跨平臺性,且提出了“一次編譯、隨處運行”的口號,這是因為Java源文件(.java)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(.class),然后可以在實現(xiàn)這個Java平臺(裝有JVM)的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡環(huán)境和軟件的分發(fā)。1.1.2Java語言的特點(6)Java語言是可移植的Java的可移植性源于其跨平臺性,此外Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度,它們在不同的機型上都保持固定的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。(7)Java語言是多線程的在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制。1.1.1Java語言誕生與發(fā)展1.1.2Java語言的特點1.1.3運行機制與虛擬機1.1Java語言概述浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言初
識Java語言程序設計Unit1主講胡堅1.1.3運行機制與虛擬機1Java程序運行機制獨立運行的Application應用程序非獨立運行的Applet小應用程序12Java程序按運行方式分類1.1.3運行機制與虛擬機1Java程序運行機制interpretJava程序運行機制兩種程序的運行過程及差異,如下圖所示:1.1.3運行機制與虛擬機2Java虛擬機Java程序最大特點就是“一次編譯,隨處運行”,其實現(xiàn)的核心就是Java虛擬機(JavaVirtualMachine,JVM),它是java實現(xiàn)跨平臺的最核心的部分。1.1.3運行機制與虛擬機2Java虛擬機所有的Java程序會首先經(jīng)Java編譯器被編譯為一種與平臺無關的字節(jié)碼文件(.class格式),該文件不能被直接執(zhí)行,必須經(jīng)過由JVM負責的特定解釋操作,生成可以被各類本地平臺所識別的機器碼指令后才能被執(zhí)行,如圖所示。1.2.1JavaSE的下載與安裝1.2.2Eclipse的下載與使用1.2搭建開發(fā)環(huán)境浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言初
識Java語言程序設計Unit1主講胡堅1.2.1JavaSE的下載與安裝基于Java的程序開發(fā)工具配置常見的有3種選擇適合于編寫一些規(guī)模較小的、獨立的Java程序,通常不適合于中大型項目的開發(fā),但作為Java的初學者應該了解這種模式,有助于了解Java程序運行的過程及相關命令的使用。JDK+文本編輯器,(如Editplus)是Borland公司開發(fā)的Java集成開發(fā)環(huán)境,可視化開發(fā)功能強大但軟件本身昂貴,對于開發(fā)企業(yè)來說使用成本太高。JBuilder是IBM開發(fā)并貢獻的一個開源且免費的Java開發(fā)平臺,功能較為完備,目前已經(jīng)可以通過WindowBuilder插件進行可視開發(fā),已成為國內(nèi)外企業(yè)的主流Java開發(fā)工具。Eclipse1.2.1JavaSE的下載與安裝1JavaSE的下載下載安裝Oracle公司的Java標準開發(fā)工具包是走入Java大門的第一步。目前JavaSE的最新版本是9.0,基于穩(wěn)定性考慮,教材中將采用JavaSE8.0的版本。下載JavaSE可去Oracle公司官網(wǎng)下載,如圖所示,網(wǎng)址為:/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1.2.1JavaSE的下載與安裝2JavaSE的安裝下載好合適的JavaSE版本之后,類似普通應用程序的安裝,選擇合適安裝路徑,并按照窗口提示,點擊“下一步”即可,最后出現(xiàn)安裝的成功的界面,如圖所示。1.2.1JavaSE的下載與安裝2JavaSE的安裝文
件
夾
名
稱說
明binJDK開發(fā)工具的可執(zhí)行文件db安裝JavaDB的路徑include供C語言使用的頭文件jre運行Java程序所必須的JRE環(huán)境libJDK工具命令的實際執(zhí)行程序JavaSE8安裝后,系統(tǒng)的安裝路徑下出現(xiàn)的幾個重要的的文件夾及其功能說明1.2.1J2SE的下載與安裝1.2.2Eclipse的下載與使用1.2搭建開發(fā)環(huán)境浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言初
識Java語言程序設計Unit1主講胡堅1.2.2Eclipse的下載與使用1Eclipse的下載使用Eclipse首先要到其官方網(wǎng)站下載較新的版本,注意選擇合適操作系統(tǒng)版本,本系統(tǒng)開發(fā)選擇官網(wǎng)下載eclipse-inst-win64版本。下載頁面如圖所示。
1.2.2Eclipse的下載與使用1Eclipse的下載下載到本地硬盤后,雙擊安裝文件,選擇“EclipseIDEforJavaDevelopers”,單擊開始安裝,如圖所示。1.2.2Eclipse的下載與使用1Eclipse的下載進入下一窗口,需要用戶設置Eclipse的安裝路徑,然后點擊“INSTALL”按鈕開始安裝,如圖所示。安裝完畢后,點擊“LAUNCH”按鈕即可進入Eclipse系統(tǒng)。1.2.2Eclipse的下載與使用2Eclipse的基本使用設置工作區(qū)(WorkSpace)創(chuàng)建項目(Project)創(chuàng)建項目中的包(Package)創(chuàng)建項目包的類(class)1243Eclipse的基本使用方法1.3.1程序編寫與實現(xiàn)1.3.2代碼規(guī)范與注釋1.3第一個Java程序浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言初
識Java語言程序設計Unit1主講胡堅1.3.1程序編寫與實現(xiàn)第一個Java程序編寫第一個Java程序:顯示“歡迎進入Java的世界!”,也是最簡單的一個Java程序。JDK+Editplus
Eclipse1.3.1程序編寫與實現(xiàn)1JDK+Editplus方式JDK模式下運行程序的效果如圖所示Editplus環(huán)境下編輯的源代碼1.3.1程序編寫與實現(xiàn)1JDK+Editplus方式(1)編寫源文件及程序結(jié)構(gòu)分析第1行publicclassWelcomeToJava,這是類的聲明,聲明名稱為“WelcomeToJava”的類(class)。其中:public:說明這個類屬性為public。class:這是Java類的關鍵字,如果想聲明一個類,必須使用這個關鍵字class。類是構(gòu)成Java程序的基本模塊,Java程序中的任何語句都必須包含在類中。WelcomeToJava:是類的名字,用戶可以根據(jù)個人的意愿而為自己所編寫的類起一個有意義的名字。類的命名規(guī)則很簡單,一般要見名知意,若有多個單詞組成的,通常首字母大寫,其余小寫。第2行和第7行組成的一對{}。其中:"{",這代表類"WelcomeToJava"是從這里開始,最后的結(jié)束是在"}"處。1.3.1程序編寫與實現(xiàn)1JDK+Editplus方式(1)編寫源文件及程序結(jié)構(gòu)分析第3行publicstaticvoidmain(Stringargs[]){...}是一個特殊方法,又稱main方法。當程序執(zhí)行時,解釋器會自動地尋找這個方法并執(zhí)行。其中:public:表示main方法可以被其他對象調(diào)用和使用,由于main方法是程序的入口,在程序運行時,這個方法必須可以被調(diào)用,所以這個public不能省。static:是將main方法聲明為靜態(tài)的,在這里這個關鍵字也不能省,至于static關鍵字的詳細說明請參閱后面的相關章節(jié)。void:說明main方法不會返回任何內(nèi)容,在這里也不能省略。String[]args:這是用來接收命令行傳入的參數(shù),String[]是聲明args可存儲字符串數(shù)組。雖然在這個程序中我們沒有用到這個參數(shù),但這個參數(shù)是不可以刪除的,否則程序在執(zhí)行時會出現(xiàn)下列錯誤。Exceptioninthread“main“java.lang.NoSuchMethodError:main。{…}:第4行和第6行這對大括號中間的內(nèi)容是main方法所要做的工作,這對大括號與上面講述的類的大括號是一致的,也必須是一一對應的,且注意方向性。1.3.1程序編寫與實現(xiàn)1JDK+Editplus方式(1)編寫源文件及程序結(jié)構(gòu)分析第5行System.out.println(“歡迎進入JAVA的世界!”);該語句將字符串信息“歡迎進入JAVA的世界!”顯示到屏幕上。其中:System是Java中的系統(tǒng)類,該類定義了與系統(tǒng)相關的內(nèi)容;out是System類中的一個變量;println是一個系統(tǒng)打印方法。1.3.1程序編寫與實現(xiàn)1JDK+Editplus方式(2)編譯源文件010203當源文件編寫好之后,我們將之保存為WelcomeToJava.java(注意主文件名即類名),并保存在JDK安裝路徑下的bin目錄下。然后執(zhí)行編譯命令,如下:E:\ProgramFiles\Java\jdk1.8.0_20\bin>javacWelcomeToJava.java(回車)系統(tǒng)將在同名目錄下生成相應的字節(jié)碼文件WelcomeToJava.class。1.3.1程序編寫與實現(xiàn)1JDK+Editplus方式(3)解釋字節(jié)碼文件生成.class文件之后,就可以在bin路徑下執(zhí)行解釋命令,如下:E:\ProgramFiles\Java\jdk1.8.0_20\bin>javaWelcomeToJava(回車)1.3.1程序編寫與實現(xiàn)2Eclipse方式在Eclipse環(huán)境下,按照前述方法創(chuàng)建新工程并創(chuàng)建cn.campsg.java.experiment包,在該包下創(chuàng)建WelcomeToJava類,如圖所示點擊工具欄上的Run按鈕運行WelcomeToJava.java,如圖所示程序運行成功的話,將在控制臺(Console)中顯示“歡迎進入Java的世界!”,如圖所示:1.3.1程序編寫與實現(xiàn)1.3.2代碼規(guī)范與注釋1.3第一個Java程序浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言初
識Java語言程序設計Unit1主講胡堅1.3.2代碼規(guī)范與注釋1代碼編寫規(guī)范一個軟件的生命周期中,80%的花費在于維護。但幾乎沒有任何一個軟件,在其整個生命周期中均由最初的開發(fā)人員來維護。因此,任何編程對于代碼編寫的規(guī)范化都很重視,它直接影響到程序的質(zhì)量。作為Java語言編程的初學者,應該了解Java代碼編寫的基本規(guī)范。1.3.2代碼規(guī)范與注釋1代碼編寫規(guī)范(1)標識符的命名見名知意統(tǒng)一簡潔12標識符的命名力求做到見名知意、統(tǒng)一簡潔。是指標識符能準確的表達出它所代表的意義,比如:HangzhouSupplier,BeijingSupplier明顯比Supplier1,Supplier2描述的更加達意、準確,更不恰當?shù)氖鞘褂肧1,S2等標識。是指于同一個概念在程序中用同一種表示方法,比如對于供應商,既可以用supplier,也可以用provider,但我們只能選定一個使用,簡潔則是指在統(tǒng)一和達意的前提下,用盡量少的標識符,如果不能達意,寧愿不要簡潔。1.3.2代碼規(guī)范與注釋1代碼編寫規(guī)范(1)標識符的命名首字母大寫,如:Teacher。類名首字母小寫,mathScore。變量名首單詞小寫,后續(xù)單詞首字母大寫,如:addSalary()。方法名均大寫,如LENGTH。常量名Java中常見標識命名規(guī)范1.3.2代碼規(guī)范與注釋1代碼編寫規(guī)范(2)代碼的縮排在編碼過程中,代碼的書寫風格很重要,成熟的工業(yè)代碼都具有良好的縮排風格,基本的要求是具有從屬關系的下層語句應該相對于上層語句縮進若干格,這樣可以有效提升程序的可讀性和代碼的可維護性,典型的縮排風格如圖所示。1.3.2代碼規(guī)范與注釋2代碼注釋注釋對于一個程序編寫的質(zhì)量來說是重要的,對于代碼的可讀性和維護來說是至關重要的。注釋,即對程序內(nèi)容的解釋,它不屬于正式代碼,會被編譯器忽略而不被編譯。注釋從使用者的角度可以分為實現(xiàn)注釋和文檔注釋,如圖所示。1.3.2代碼規(guī)范與注釋2代碼注釋(1)實現(xiàn)注釋(1)單行文本注釋符“//”這種注釋的屏蔽范圍是從“//”開始一直到本行結(jié)束為止。(2)多行文本注釋符“/*...*/”該方法適用添加較長的注釋,可以跨越多行,在“/*”與“*/”之間的所有內(nèi)容都是注釋。實現(xiàn)注釋的功能是對部分或者某語句進行功能解釋,幫助代碼閱讀者能正確而順暢地理解代碼和實現(xiàn)細節(jié)。基本的方法有兩種:1.3.2代碼規(guī)范與注釋2代碼注釋(2)文檔注釋
文檔注釋的功能是對整個類的功能、類方法和變量等進行完整的說明,文檔注釋是Java獨有的并可以通過javadoc工具轉(zhuǎn)換成HTML文件。格式如下所示:/***對程序、類和變量等進行解釋*/由/**...*/界定,通??梢詫Τ绦?、類和變量等進行說明/***對方法進行解釋*@param參數(shù)名參數(shù)說明*/由/**...*/界定,對類中的方法進行注釋,并說明參數(shù)等信息浙江經(jīng)貿(mào)職業(yè)技術(shù)學院案例
1-1單元1
初識Java語言Java文檔注釋案例單元Java語言程序設計主講胡堅eclipseeclipseeclipse案例
1-1:Java文檔注釋案例目標
在Eclipse環(huán)境下生成TestJavaDoc.java程序的幫助文檔(HTML格式)。案例解釋
Eclipse利用封裝的javadoc命令生成java程序幫助文檔(即API文檔)。案例效果實現(xiàn)思路基本步驟1.創(chuàng)建工程并配置環(huán)境:(1)限制1.工程取名:SE_JAVA_EXP_E002。(2)限制2.創(chuàng)建包,取名:cn.campsg.java.experiment。2.為main方法設置文檔注釋:
(1)創(chuàng)建類,類名:TestJavaDoc,并創(chuàng)建main方法。(2)為main方法添加文檔注釋:這是應用程序的主入口函數(shù)。(3)為main方法的args參數(shù)添加文檔注釋:控制臺參數(shù)集合。3.輸出并生成程序技術(shù)手冊:(1)限制1.文檔的存儲目錄:項目根目錄/doc文件夾。
案例
1-1:Java文檔注釋2.1.1包2.1.2主函數(shù)2.1.3代碼塊2.1Java程序結(jié)構(gòu)Java語言基礎Java語言程序設計Unit22.1.1包
在Java中,包(package)是一種松散的類的集合,它可以將各種類文件組織在一起,就像磁盤的目錄(文件夾)一樣。包的管理機制提供了類的多層次命名空間避免了命名沖突問題,解決了類文件的組織問題,方便了我們的使用。情形package包名;格式常用類包(1)java.lang包包中存放了Java最基礎的核心類(2)javax.swing包包中提供了更加豐富的、精美的、功能強大的GUI組件,比如它提供
了如JFrame、JButton、JTextField等等(3)java.util包包中提供了一些實用工具類(4)java.io包包中提供了數(shù)據(jù)流輸入/輸出操作的類。(5)java.sql包包中提供了支持使用標準SQL方式訪問數(shù)據(jù)庫功能的類。2.1.1包01創(chuàng)建包02引用包基本語法:package包名;import包名.*;//可以使用包中所有的類或import包名.類名;//只裝入包中類名指定的類
2.1.1包創(chuàng)建與引用2.1.1包
應用java.util包中的Calendar類輸出當前日期,且將當前類打包到C2.package1包中。知識應用2.1.1包2.1.2主函數(shù)2.1.3代碼塊2.1Java程序結(jié)構(gòu)浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.1.2主函數(shù)在Java中,主函數(shù)就是主方法,即main()方法。它是Java應用程序的入口方法,也就是說,程序在運行的時候,第一個執(zhí)行的方法就是main()方法,這個方法和其他的方法有很大的不同,比如方法的名字必須是main,方法必須是publicstaticvoid類型的,方法必須接收一個字符串數(shù)組的參數(shù)等等。情形public
static
void
main(Stringargs[]){}格式注意事項(1)必須是public這樣才能保證無條件訪問該方法(2)必須是staticmain()被調(diào)用的時候無需創(chuàng)建當前類的實例即可執(zhí)行(3)返回類型為voidmain()沒有返回類型(4)參數(shù)必須是String類型的數(shù)組可以接收命令行參數(shù)(5)方法名必須是main()這里main()方法名稱必須是這樣寫法,嚴格區(qū)分大小寫。2.1.2主函數(shù)2.1.2主函數(shù)
通過main()方法輸出HelloWorld字符串。知識應用2.1.1包2.1.2主函數(shù)2.1.3代碼塊2.1Java程序結(jié)構(gòu)浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.1.3代碼塊
在代碼塊本身并不是很難理解的概念,實際上我們一直在使用。所謂的代碼塊就是指使用“{}”括起來的一段代碼,根據(jù)位置及聲明關鍵字的不同,代碼塊可以分為普通代碼塊、靜態(tài)代碼塊、構(gòu)造塊、同步代碼塊四種,其中,同步代碼塊將在后面的多線程中進行講解。下面進行前面三種代碼塊的講解。情形{……}格式分類(1)普通代碼塊普通代碼塊就是指直接在方法或是語句中定義的代碼塊(2)構(gòu)造塊構(gòu)造代碼塊是直接寫在類中的代碼塊。(3)靜態(tài)代碼塊靜態(tài)代碼塊是使用static關鍵字聲明的代碼塊。2.1.3代碼塊2.1.3代碼塊
應用構(gòu)造代碼塊就和一般代碼塊的概念,區(qū)分不同代碼塊中被執(zhí)行的時機。知識應用2.2.1整數(shù)類型2.2.2浮點類型2.2.3
字符類型2.2基本數(shù)據(jù)類型浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.2.1整數(shù)類型二進制十進制十六進制
①有兩個數(shù)字:0、1②運算時逢二進一八進制①有8個數(shù)字:0、1、2、3、4、5、6、7②運算時逢八進一③以0開頭,如0123①有10個數(shù)字:0、1、2、3、4、5、6、7、8、9②運算時逢十進一①有十六個數(shù)字:0~9、A、B、C、D、E、F②運算時逢十六進一③以0x或0X開頭,如0x123舉例intx=123; //指定變量x為int型,且賦初值為123byteb=8;//指定變量b為byte型,且賦初值為8shorts=10;//指定變量s為short型,且賦初值為10longy=123L,z=123l;//指定變量y,z為long型,且分別賦初值為1232.1.3整數(shù)類型2.1.3整數(shù)類型
應用整數(shù)類型的概念,區(qū)分不同操作中被執(zhí)行的時機。知識應用2.2.1整數(shù)類型2.2.2
浮點類型2.2.3
字符類型2.2基本數(shù)據(jù)類型浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.2.2浮點類型在Java中,Java提供了兩種浮點型數(shù)據(jù),單精度float和雙精度double。情形格式一般情況下實型常量以如下形式表示:0.123,1.23,123.0等等表示雙精度數(shù);123.4f,145.67F,0.65431f等等表示單精度數(shù)。當表示的數(shù)字比較大或比較小時,采用科學計數(shù)法的形式表示,如:1.23e13或123E11均表示123×1011;0.1e-8或1E-9均表示10-9。注意事項(1)整數(shù)可以無條件賦值給浮點類型數(shù)據(jù)如:floatf1=100;(2)float類型數(shù)據(jù)一定要加f或者F如:floatf1=3.1415f;(3)float類型可以賦值給double類型如:double
d1=123.45f;(4)如果不加f,則系統(tǒng)任務是double類型如:floatf1=123.34;//出錯,因為123.45是double類型,無法放入float類型的變量中2.2.2浮點類型2.2.2浮點類型
通過浮點類型的數(shù)據(jù)求圓的面積。知識應用2.2.1整數(shù)類型2.2.2浮點類型2.2.3字符類型與布爾類型2.2基本數(shù)據(jù)類型浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.2.3字符類型與布爾類型字符型(char)數(shù)據(jù)占據(jù)兩個字節(jié)16個二進制位。布爾型(boolean)數(shù)據(jù)的值只有兩個:true和false。因此布爾的常量值也只能取這兩個值情形格式字符類型賦值的格式:charc=’a’;布爾類型賦值的格式:booleanb1=true,b2=false;注意事項(1)字符常量是用單引號括起來的一個字符如:’a’‘A’‘&’(2)布爾類型數(shù)據(jù)只有true和false如:c語言中的非0表示true,而java中無此說法2.2.3字符類型與布爾類型2.2.3字符類型與布爾類型
通過字符類型和邏輯變量的控制輸出姓氏。知識應用2.3.1
標識符和關鍵字2.3.2變量和常量的聲明與使用型2.3常量和變量浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.3.1標識符和關鍵字
1標識符
定義用來標識類名,變量名,方法名,類型名,數(shù)組名,文件名的有效序列稱為標識符。簡單地說,標識符就是一個名字。
標識符命名規(guī)則大小寫有別,例如a和A是兩個變量,Boy和boy是不同的標識符。長度任意。可以任何字母開始,另外還可以以"_"和"$"開始,一般"$"是很多代碼生成器用的,人工寫出來的代碼不鼓勵"_""$"。除了第一個字符,后面可以跟任何字母,數(shù)字,_和$的組合。2.3.1標識符和關鍵字1標識符的約定包名的約定:Java包的名字都是由小寫單詞組成。類的命名:類的名字由大寫字母開頭而單詞中的其他字母均為小寫;如果類名稱由多個單詞組成,則每個單詞的首字母均應為大寫例如TestPage。方法的命名:方法的名字的第一個單詞應以小寫字母作為開頭,后面的單詞則用大寫字母開頭。常量的命名:常量的名字應該都使用大寫字母,并且指出該常量完整含義。參數(shù)的命名:參數(shù)的命名規(guī)范和方法的命名規(guī)范相同,而且為了避免閱讀程序時造成迷惑,請在盡量保證參數(shù)名稱為一個單詞的情況下使參數(shù)的命名盡可能明確。2.3.1標識符和關鍵字1關鍵字關鍵字就是Java語言中已經(jīng)被賦予特定意義的單詞,這些關鍵字只能由Java系統(tǒng)使用,用戶自定義的類名、方法名和變量名不可以使用關鍵字的名稱。abstractelseinterfacesupercharforprivatetransientbooleanextendslongswitchclassifprotected-trybreakfalsenativesynchronizedocontinueimplementspublictruebytefinalnew-thisdefaultimportreturnvoidcasefinallynull-throwdoinstanceofshortvolatilecatchfloatpackagethrowsdoubleintstaticwhile2.3.1標識符和關鍵字2.3.2變量和常量的聲明與使用2.3常量和變量浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華1變量
聲明
對于變量的定義,就是程序中值可以改變的量。說明:(1)Java要求在使用一個變量之前要對變量的類型加以聲明。(2)Java中一個變量的聲明就是一條完整的Java語句,所以應該在結(jié)尾使用分號。(3)變量名的命名規(guī)則與一般標識符一樣。(4)一條語句中進行多個變量的聲明,不同變量之間用逗號分隔。
初始化
變量初始化的方法有兩種:
(1)inta;
(2)inta=10;//聲明同時初始化a=10;//先聲明后初始化2.3.2變量和常量的聲明與使用
1變量的使用說明注意事項:
(1)在Java中絕對不能出現(xiàn)未初始化的變量,在使用一個變量前必須給變量賦值。
(2)聲明可以在代碼內(nèi)的任何一個位置出現(xiàn),但在方法的任何代碼塊內(nèi)只可對一個變量聲明一次。有效范圍:
變量的有效范圍也叫變量的作用域,是指變量自定義的地方起,可以使用的有效范圍。在程序中不同的地方定義的變量具有不同的作用域。一般情況下,在本程序塊(即以大括號“{}”括起的程序段)內(nèi)定義的變量在本程序塊內(nèi)有效。2.3.2變量和常量的聲明與使用
2常量
常量的概念
所謂常量就是在程序運行過程中保持不變的量即不能被程序改變的量,也把它稱為最終量。常量標識符一般全部使用大寫書寫。
常量的聲明格式
final數(shù)據(jù)類型常量名=value[,常量名=value…];
例如:finaldoublePI=3.1415926;2.3.2變量和常量的聲明與使用
2.4.1
自動(隱式)類型轉(zhuǎn)換2.4.2強制類型轉(zhuǎn)換2.4數(shù)據(jù)類型間的相互轉(zhuǎn)換浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華1自動轉(zhuǎn)換規(guī)則
整型、浮點型、字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進行運算,一般情況下,系統(tǒng)自動將兩個運算術(shù)中低級的運算術(shù)轉(zhuǎn)換為和另一個較高級運算術(shù)的類型相一致的數(shù),然后再進行運算。
類型從低級到高級順序示意如下低>高byte—>short,char—>int—>long—>float—>double2.4.1自動(隱式)類型轉(zhuǎn)換
1舉例inti=100;floatf1=12.3f;System.out.println(f1+i);
這時輸出的結(jié)果是112.3,因為在System.out.println(f1+i);語句中,將i自動轉(zhuǎn)換為float類型后,在進行相加運算。2.4.1自動(隱式)類型轉(zhuǎn)換
2.4.1
自動(隱式)類型轉(zhuǎn)換2.4.2
強制類型轉(zhuǎn)換2.4數(shù)據(jù)類型間的相互轉(zhuǎn)換浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華1強制類型轉(zhuǎn)換規(guī)則
低級到高級的自動類型轉(zhuǎn)換;高級到低級的強制類型轉(zhuǎn)換(會導致溢出或丟失精度);基本類型向類類型轉(zhuǎn)換;基本類型向字符串的轉(zhuǎn)換;
在一個雙操作數(shù)以及位運算等算術(shù)運算式中,會根據(jù)操作數(shù)的類型將低級的數(shù)據(jù)類型自動轉(zhuǎn)換為高級的數(shù)據(jù)類型,如果在必須情況下,結(jié)果要獲取低級數(shù)據(jù)類型的數(shù)據(jù),可以使用下述的強制類型轉(zhuǎn)換。2.4.2強制類型轉(zhuǎn)換
數(shù)據(jù)類型之間的轉(zhuǎn)換強制轉(zhuǎn)換1標識符
強制類型轉(zhuǎn)換規(guī)則不能在布爾值和任何數(shù)字類型間強制類型轉(zhuǎn)換;不同級別數(shù)據(jù)類型間的強制轉(zhuǎn)換,可能會導致溢出或精度的下降。
當字節(jié)類型變量參與運算,java作自動數(shù)據(jù)運算類型的提升,字母,數(shù)字,_和$的組合。2.4.2強制類型轉(zhuǎn)換
1舉例
shorti=101;charc=(char)i;System.out.println("output:"+c);
以上代碼輸出結(jié)果是:output:e。這里直接把int類型轉(zhuǎn)換為對應的ASCII碼字符了,十進制的101對應的字符是小寫字母e。
2.4.2強制類型轉(zhuǎn)換
2.5.1
控制臺輸入數(shù)據(jù)2.5.2格式化輸出2.5控制臺輸入輸出浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.5.1控制臺輸入數(shù)據(jù)1控制臺輸入數(shù)據(jù)常用類
Scanner類
在很多情況下,我們需要Java程序能夠?qū)ξ覀冎付ǖ闹颠M行計算,這樣的話就需要我們的Java程序能夠讀取我們所輸入的值。我們可以使用Java自帶的Scanner類來從控制臺獲取輸入。
Scanner類在包java.util里。我們一般在程序代碼的最開始引入所有需要用到的包和類。下面我們嘗試引入Scanner類,讓我們在代碼的最前面插入一行,然后寫下這條語句:
importjava.util.Scanner;1Scanner類的初始化Java本身并不直接支持控制臺輸入,我們就要使用Scanner類創(chuàng)建它的對象,用以讀取來自System.in設備的數(shù)據(jù),即來自于標準輸入設備的數(shù)據(jù),這里一般指鍵盤。即:
Scannerinput=newScanner(System.in);說明:
其中newScanner(System.in)表明創(chuàng)建了一個Scanner類型的對象,而Scannerinput聲明input是一個Scanner類型的對象,這樣的對象可以接受來自于System.in設備的數(shù)據(jù)。2.5.1控制臺輸入數(shù)據(jù)1從控制臺輸入整數(shù)
我們聲明一個int類型的變量i,然后使用Scanner類的nextInt()方法來接收數(shù)據(jù),且將接收的數(shù)據(jù)賦值給變量i,這樣變量i中就存放了從輸入設備輸入的整數(shù)了。importjava.util.Scanner;publicclassInput_Int
{publicstaticvoidmain(Stringargs[])
{Scannersc=newScanner(System.in); inti1=sc.nextInt(); inti2=sc.nextInt(); inti3=sc.nextInt();System.out.println(“您所輸入的三個整數(shù)的平均值為:"+(i1+i2+i3)/3);
}}2.5.1控制臺輸入數(shù)據(jù)2從控制臺輸入字符串
利用Scanner類接收字符串的方法是next()。下面我們用一個例子來說明該方法的使用。importjava.util.Scanner;publicclassInput_String{ publicstaticvoidmain(Stringargs[]){Scannersc=newScanner(System.in);System.out.print("請輸入同學的名字:");Stringname=sc.next();//name接收字符串數(shù)據(jù)intmath=sc.nextInt(); intenglish=sc.nextInt();System.out.println(name+"的平均分是:"+(math+english)/2);}}2.5.1控制臺輸入數(shù)據(jù)2其他類型數(shù)據(jù)的輸入
除了以上所提到的對于整數(shù)和字符串數(shù)據(jù)的輸入方法,Scanner類還提供了對于輸入其他類型數(shù)據(jù)的方法,nextByte()、nextShort()nextLong()、nextFloat()、nextDouble()這些方法。分別對應next后面的數(shù)據(jù)輸入,請大家多加嘗試。2.5.1控制臺輸入數(shù)據(jù)2.5.1
控制臺輸入數(shù)據(jù)2.5.2格式化輸出2.5控制臺輸入輸出浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.5.2格式化輸出1常用格式化輸出方法
printf()方法
通過前面一系列的講解,常用的一個輸出方法就是System.out.println(),該方法將指定內(nèi)容直接輸出,之后回車換行;與之對應的一個方法就是System.out.print(),該方法與System.out.println()的不同之處在于輸出指定后不進行回車。如果想要將輸出的內(nèi)容按照指定的格式輸出,而不是直接輸出,以上兩個方法就無法完成了。下面為大家介紹一個可以格式化輸出內(nèi)容的方法,該方法基本格式如下:System.out.printf(“格式化字符串”,輸出對象);1常用格式化輸出方法
printf()方法
System.out.printf(控制格式列表,表達式1(或變量),表達式2...表達式n)把各表達式或變量的值按各自控制格式輸出到屏幕上,與C相似例如:
inta=3,b=2;System.out.printf("%d+%d=%d",a,b,a+b);2.5.2格式化輸出1printf()方法參數(shù)說明控制格式符功
能%d以十進制形式輸出帶符號整數(shù)%c輸出單個字符%f以小數(shù)形式輸出單、雙精度實數(shù)%s輸出字符串2.5.2格式化輸出浙江經(jīng)貿(mào)職業(yè)技術(shù)學院案例
2-1單元2Java語言基礎查詢銀行余額案例單元Java語言程序設計主講呂麗華eclipseeclipseeclipse案例目標
根據(jù)用戶輸入的姓名,查詢輸出該客戶的余額。案例解釋
“銀行余額查詢”主要由用戶從客戶端輸入客戶姓名,然后根據(jù)客戶姓名輸出用戶的賬戶余額。案例2-1:查詢銀行余額案例效果案例2-1:查詢銀行余額實現(xiàn)思路基本步驟按實訓要求創(chuàng)建工程并配置環(huán)境提示用戶輸入姓名聲明一個String類型的變量name接收用戶名并存放于String類型的變量name中聲明模擬變量float類型的account用于存放客戶余額將name中存放的姓名作為查找對象輸出對應的用戶姓名和余額2.7.1算術(shù)運算符2.7.2關系運算符2.7運算符浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.7.3邏輯運算符和位運算符2.7.4賦值運算符和條件運算符2.7.5運算符優(yōu)先級2.7.1算術(shù)運算符
1運算符介紹
運算符
計算機的最基本用途之一就是執(zhí)行數(shù)學運算,作為一門計算機語言,Java也提供了一套豐富的運算符來操縱變量。我們可以把運算符分成以下幾種:算術(shù)運算符、關系運算符、位運算符、邏輯運算符、賦值運算符、其他運算符。2.7.1算術(shù)運算符
1算術(shù)運算符介紹
算術(shù)運算符用在數(shù)學表達式中,它們的作用和在數(shù)學中的作用一樣。下表列出了所有的算術(shù)運算符。表格2-3中的實例假設整數(shù)變量A的值為10,變量B的值為20。2.7.1算術(shù)運算符
1算術(shù)運算符運算表操作符描述例子+加法-相加運算符兩側(cè)的值A+B等于30-減法-左操作數(shù)減去右操作數(shù)A-B等于-10*乘法-相乘操作符兩側(cè)的值A*B等于200/除法-左操作數(shù)除以右操作數(shù)B/A等于2%取模-右操作數(shù)除左操作數(shù)的余數(shù)B%A等于0++自增-操作數(shù)的值增加1B++等于21--自減--操作數(shù)的值減少1B--等于192.7.1算術(shù)運算符2.7.2關系運算符2.7運算符浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.7.3邏輯運算符和位運算符2.7.4賦值運算符和條件運算符2.7.5運算符優(yōu)先級2.7.1關系運算符
1關系運算符
關系運算符就是表示兩個參加運算的對象關系的運算符。2.7.1關系運算符
1關系運算符表
運算符描述例子==如果兩個操作數(shù)的值是否相等,如果相等則條件為真。(A==B)為假。!=如果兩個操作數(shù)的值是否相等,如果值不相等則條件為真。(A!=B)為真。>
左操作數(shù)的值是否大于右操作數(shù)的值,如果是那么條件為真。(A>B)非真。<
左操作數(shù)的值是否小于右操作數(shù)的值,如果是那么條件為真。(A<B)為真。>=左邊數(shù)據(jù)的值是否大于或等于右邊的值,如果是那么條件為真。(A>=B)為假。<=左邊數(shù)據(jù)的值是否小于或等于右邊的值,如果是那么條件為真。(A<=B)為真。2.7.1關系運算符
1關系運算符舉例
publicclassTest{publicstaticvoidmain(Stringargs[]){inta=10;
intb=20;
System.out.println("a==b="+(a==b));
System.out.println("a!=b="+(a!=b));
System.out.println("a>b="+(a>b));
System.out.println("a<b="+(a<b));
System.out.println("b>=a="+(b>=a));
System.out.println("b<=a="+(b<=a));}}2.7.1關系運算符
1關系運算符舉例
2.7.1算術(shù)運算符2.7.2關系運算符2.7運算符浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.7.3
邏輯運算符和位運算符2.7.4賦值運算符和條件運算符2.7.5運算符優(yōu)先級2.7.3邏輯運算符和位運算符
1邏輯運算符
邏輯運算符就是表示邏輯關系的運算符。下表列出了邏輯運算符的基本運算,假設布爾變量A為真,變量B為假。2.7.3邏輯運算符和位運算符
1邏輯運算符表
操作符描述例子&&當且僅當兩個操作數(shù)都為真,條件才為真。(A&&B)為假。||如果任何兩個操作數(shù)任何一個為真,條件為真。(A||B)為真。!如果條件為true,則邏輯非運算符將得到false。?。ˋ&&B)為真。2.7.3邏輯運算符和位運算符
1邏輯運算符舉例
publicclassTest_luoji{
publicstaticvoidmain(Stringargs[]){
booleana=true;
booleanb=false;
System.out.println("a&&b="+(a&&b));
System.out.println("a||b="+(a||b));
System.out.println("!(a&&b)="+!(a&&b));
}}2.7.3邏輯運算符和位運算符
2位運算符
邏位運算符主要用于整數(shù)的二進制位運算??梢园阉鼈兎譃橐莆贿\算和按位運算。2.7.3邏輯運算符和位運算符
2位運算符
(1)移位運算:位右移運算(>>)>>用于整數(shù)的二進制位右移運算,在移位操作的過程中,符號位不變,其他位右移。位左移運算(<<)<<用于整數(shù)的二進制位左移運算,在移位操作的過程中,左邊的位移出(舍棄),右邊位補0。例如,將整數(shù)a進行左移3位的操作:a<<3不帶符號右移運算(>>>)>>>用于整數(shù)的二進制位右移運算,在移位操作的過程中,右邊位移出,左邊位補0。2.7.3邏輯運算符和位運算符
2位運算符
(2)按位運算&(按位與)
在按位與操作過程中,如果對應兩位的值均為1,則該位的運算結(jié)果為1,否則為0。|(按位或)
在按位或操作過程中,如果對應兩位的值只要有一個為1,則該位的運算結(jié)果為1,否則為0。^(按位異或)
在按位異或操作過程中,如果對應兩位的值相異,則該位的運算結(jié)果為1,否則為0。~(按位取反)~是一元運算符,用于單個整數(shù)的二進制按位取反操作(即將二進制位的1變?yōu)?,0變?yōu)?)。2.7.1算術(shù)運算符2.7.2關系運算符2.7運算符浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.7.3
邏輯運算符和位運算符2.7.4
賦值運算符和條件運算符2.7.5運算符優(yōu)先級2.7.4賦值運算符和條件運算符
1賦值運算符
賦值運算是任何一種編程語言非常重要的功能。下表是Java語言支持的賦值運算符列表說明。2.7.4賦值運算符和條件運算符
1賦值運算符表
操作符描述例子=簡單的賦值運算符,將右操作數(shù)的值賦給左側(cè)操作數(shù)C=A+B將把A+B得到的值賦給C+=加和賦值操作符,它把左操作數(shù)和右操作數(shù)相加賦值給左操作數(shù)C+=A等價于C=C+A-=減和賦值操作符,它把左操作數(shù)和右操作數(shù)相減賦值給左操作數(shù)C-=A等價于C=C-
A*=乘和賦值操作符,它把左操作數(shù)和右操作數(shù)相乘賦值給左操作數(shù)C*=A等價于C=C*A/=除和賦值操作符,它把左操作數(shù)和右操作數(shù)相除賦值給左操作數(shù)C/=A等價于C=C/A%=取模和賦值操作符,它把左操作數(shù)和右操作數(shù)取模后賦值給左操作數(shù)C%=A等價于C=C%A<<=左移位賦值運算符C<<=2等價于C=C<<2>>=右移位賦值運算符C>>=2等價于C=C>>2&=按位與賦值運算符C&=2等價于C=C&2^=按位異或賦值操作符C^=2等價于C=C^2|=按位或賦值操作符C|=2等價于C=C|22條件運算符
條件運算符是三元運算符,有條件運算符組成的條件表達式的一般使用格式是:
邏輯(關系)表達式
?表達式1:表達式22.7.4賦值運算符和條件運算符
2條件運算符功能說明
其功能是:若邏輯(關系)表達式的值為true,取表達式1的值,否則取表達式2的值。條件運算符及條件表達式常用于簡單分支的取值處理。例如,若已定義a,b為整型變量且以賦值,求a,b兩個數(shù)中的最大者,并賦給另一個量max,可以用如下表達式處理:
max=(a>b)?a:b;2.7.4賦值運算符和條件運算符
2.7.1算術(shù)運算符2.7.2關系運算符2.7運算符浙江經(jīng)貿(mào)職業(yè)技術(shù)學院Java語言基礎Java語言程序設計Unit2主講呂麗華2.7.3
邏輯運算符和位運算符2.7.4
賦值運算符和條件運算符2.7.5
運算符優(yōu)先級2.7.5運算符優(yōu)先級
1運算符優(yōu)先級
表達式中運算的先后順序由運算符的優(yōu)先級確定,掌握運算的優(yōu)先次序是非常重要的,它確定了表達式的表達是否符合題意,表達式的值是否正確。1賦值運算符表
2.7.5運算符優(yōu)先級
優(yōu)先級運算符結(jié)合性1()
[]
.從左到右2!
+(正)
-(負)
~
++
--從右向左3*
/
%從左向右4+(加)
-(減)從左向右5<<
>>
>>>從左向右6<
<=
>>=
instanceof從左向右7==
!=從左向右8&(按位與)從左向右9^(按位或)從左向右10|從左向右11&&從左向右12||從左向右13?:從右向左14=
+=
-=
*=
/=
%=
&=
|=
^=
~=
<<=
>>=
>>>=從右向左1運算符優(yōu)先級表
該表中優(yōu)先級按照從高到低的順序書寫,也就是優(yōu)先級為1的優(yōu)先級最高,優(yōu)先級14的優(yōu)先級最低。結(jié)合性是指運算符結(jié)合的順序,通常都是從左到右。從右向左的運算符最典型的就是負號,例如3+-4,則意義為3加-4,符號首先和運算符右側(cè)的內(nèi)容結(jié)合。2.7.5運算符優(yōu)先級
浙江經(jīng)貿(mào)職業(yè)技術(shù)學院案例
2-2單元2Java語言基礎銀行智能取款案例單元Java語言程序設計主講呂麗華eclipseeclipseeclipse案例目標
根據(jù)用戶輸入的取款數(shù)目,輸出成功取出的額度。案例解釋
“銀行智能取款”接收到用戶取款額度,判斷是否大于0,再次判斷是否額度超出余額,二者都符合,才能成功取款。案例2-2:銀行智能取款案例效果案例2-2:銀行智能取款實現(xiàn)思路基本步驟按實訓要求創(chuàng)建工程并配置環(huán)境提示用戶輸入提取的額度聲明一個float類型的變量money用于模擬存放用戶賬戶余額聲明float類型變量input,用于存放提取額度判斷提取額度是否大于0,若小于0,則提取額度為0判斷提取額度是否大于余額,小于余額允許取款輸出提取的額度和余額3.1.1if條件語句3.1.2嵌套if語句3.1.3switch選擇語句3.1分支結(jié)構(gòu)與數(shù)組流程控制Java語言程序設計Unit33.1.1if條件語句當判斷條件滿足時,執(zhí)行語句體S,而不滿足則什么都不做。情形if(條件判斷表達式)語句體S格式1單分支選擇語句(if)如:if(a%2==0)System.out.print("aisanevennumber!");3.1.1if條件語句
當條件A滿足時,你就執(zhí)行語句體S1,而不滿足的時候就執(zhí)行語句體S2。情形if(條件判斷表達式)語句體S1else
語句體S2格式2雙分支選擇語句(if…else)如:intx=10,y=20;if(x>y)System.out.println("x的值比y的值大。");else{System.out.println("x與y相等。");System.out.println("或者x小于y。");}3.1.1if條件語句
求一元二次方程:ax2+bx+c=0的解(a≠0)知識應用3.1.1if條件語句3.1.2嵌套if語句3.1.3switch選擇語句3.1分支結(jié)構(gòu)浙江經(jīng)貿(mào)職業(yè)技術(shù)學院與數(shù)組流程控制Java語言程序設計Unit3主講胡堅3.1.2嵌套if語句盡管單分支和雙分支選擇語句已經(jīng)可以處理不同的兩類分支情況,但實際情況往往更為復雜。而Java也允許在雙分支的語句體S1和S2中各嵌入一套完整的if…else語句。情形if(條件判斷表達式1)
if(條件判斷表達式2)語句體S3else語句體S4elseif(條件判斷表達式3)語句體S5else語句體S6格式3.1.2嵌套if語句如:intx=95;if(x>=60)if(x>=90)System.out.println("優(yōu)秀!");elseSystem.out.println("中等!");elseif(x>=45)System.out.println("可以補考!");elseSystem.out.println("不能補考!");}理論上,if…else語句可以隨意嵌套,但是從理解和閱讀的方便性角度講,最好不要超過三層的if…else語句嵌套,否則會降低程序的可讀性。3.1.1if條件語句3.1.2嵌套if語句3.1.3switch選擇語句3.1分支結(jié)構(gòu)浙江經(jīng)貿(mào)職業(yè)技術(shù)學院與數(shù)組流程控制Java語言程序設計Unit3主講胡堅3.1.3switch選擇語句雖然if…else語句通過嵌套可以處理多分支的情況,但分支不宜太多,在Java語言中,提供了switch語句可以直接、高效地處理多分支選擇的情況。情形switch(表達式){case常量表達式1:語句1;……語句n;[break;]case常量表達式2:語句1;……語句n;[break;]……[default:語句;]}格式執(zhí)行過程STEP1當switch后面“表達式”的值與某個case后面的“常量表達式”的值相同時,就執(zhí)行該case后面的語句(組);當執(zhí)行到中斷語句(break;)時,跳出整個switch語句,轉(zhuǎn)向執(zhí)行switch語句的下一條。STEP2如果沒有任何一個case后面的“常量表達式”的值與“表達式”的值匹配,則執(zhí)行default后面的語句(組)。然后,再執(zhí)行switch語句的下一條。3.1.3switch選擇語句01020304switch后面的“表達式”的值可以是整型或字符型中的一種。每個case后面“常量表達式”的值,必須各不相同,否則會出現(xiàn)相互矛盾的現(xiàn)象。case后面的常量表達式僅起語句標號作用,并不進行條件判斷。各case及default子句的先后次序,不影響程序執(zhí)行結(jié)果。05
用switch語句實現(xiàn)的多分支結(jié)構(gòu)程序,完全可用if語句或if語句的嵌套來實現(xiàn)。3.1.3switch選擇語句注意點3.1.3switch選擇語句
輸入一個整型的百分制分數(shù),并轉(zhuǎn)化為相應的五分制成績。知識應用浙江經(jīng)貿(mào)職業(yè)技術(shù)學院案例
3-1單元3
流程控制和數(shù)組水仙花數(shù)案例單元Java語言程序設計主講胡堅eclipseeclipseeclipse案例
3-1:水仙花數(shù)案例目標用戶通過鍵盤輸入一個整數(shù)值,判斷該數(shù)值是否為“水仙花數(shù)”。案例解釋水仙花數(shù),是指一個三位數(shù),其各個位數(shù)的立方和等于該數(shù)本身。例如:153是一個"水仙花數(shù)",因為153=13+53+33。案例效果案例
3-1:水仙花數(shù)實現(xiàn)思路基本步驟按實訓要求創(chuàng)建工程并配置環(huán)境獲取用戶輸入的數(shù)值:(1)創(chuàng)建Scanner對象,設置參數(shù):System.in。(2)調(diào)用Scanner的nextInt方法獲取用戶輸入的數(shù)值。(3)調(diào)用close方法關閉Scanner。判斷輸入的數(shù)值是否合法:(1)如用戶輸入數(shù)值不在0-1000內(nèi),打印提示語句:
“輸入的不是0-1000內(nèi)的數(shù)字!”(2)退出程序。案例效果案例
3-1:水仙花數(shù)實現(xiàn)思路基本步驟判斷輸入的數(shù)值是否是水仙花數(shù):(1)獲取用戶輸入的數(shù)值的個位數(shù)=數(shù)值%10(2)獲取用戶輸入的數(shù)值的十位數(shù)=數(shù)值/10%10(3)獲取用戶輸入的數(shù)值的百位數(shù)=數(shù)值/100(4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GA 659.7-2006互聯(lián)網(wǎng)公共上網(wǎng)服務場所信息安全管理系統(tǒng) 數(shù)據(jù)交換格式 第7部分:上網(wǎng)服務場所運行狀態(tài)基本數(shù)據(jù)交換格式》專題研究報告
- 養(yǎng)老院服務質(zhì)量評估制度
- 2026浙江臺州市溫嶺市海城集團下屬子公司招聘編外人員8人備考題庫附答案
- 2026湖北武漢市太平洋高級中學教師招聘3人考試備考題庫附答案
- 2026湖南岳陽市市直省級示范性高中“四海攬才”教師人才校園招聘27人考試備考題庫附答案
- 2026福建南平市建陽區(qū)城市管理和綜合執(zhí)法局招聘協(xié)管員5名備考題庫附答案
- 2026福建漳州市金盾城市服務集團有限公司職業(yè)經(jīng)理人市場化選聘1人參考題庫附答案
- 2026福建省面向西南財經(jīng)選調(diào)生選拔工作參考題庫附答案
- 公共交通車輛駕駛?cè)藛T行為規(guī)范制度
- 2026重慶飛駛特人力資源管理有限公司派往某機關事業(yè)單位駕駛員招聘1人備考題庫附答案
- 主管護師護理學考試歷年真題試卷及答案
- 華文慕課《刑法學》總論課后作業(yè)答案
- 公路護欄波型梁施工方案
- 2025版煤礦安全規(guī)程新增變化條款考試題庫
- 基于SOLO分類理論剖析初中生數(shù)學開放題解決水平:現(xiàn)狀差異與提升策略
- 2025至2030全球及中國用戶研究軟件行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 砌筑施工安全教育培訓課件
- GB/T 7122-2025高強度膠粘劑剝離強度的測定浮輥法
- 海洋水文氣象觀測員測試考核試卷及答案
- 人教版七年級數(shù)學上冊 第四章《整式的加減》單元測試卷(含答案)
- 五常市水稻種植技術(shù)規(guī)程
評論
0/150
提交評論