《Java面向?qū)ο蟪绦蛟O(shè)計》課件-項目2 Java編程基礎(chǔ)_第1頁
《Java面向?qū)ο蟪绦蛟O(shè)計》課件-項目2 Java編程基礎(chǔ)_第2頁
《Java面向?qū)ο蟪绦蛟O(shè)計》課件-項目2 Java編程基礎(chǔ)_第3頁
《Java面向?qū)ο蟪绦蛟O(shè)計》課件-項目2 Java編程基礎(chǔ)_第4頁
《Java面向?qū)ο蟪绦蛟O(shè)計》課件-項目2 Java編程基礎(chǔ)_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目2Java編程基礎(chǔ)Java程序設(shè)計項目描述

/

Projectdescription學(xué)做任何事情,都要打好基礎(chǔ)。同樣地,要掌握并熟練使用Java語言,必須充分了解Java語言中的基礎(chǔ)知識。本項目將針對Java的基本語法、Java中的數(shù)據(jù)類型、運算符、流程控制、數(shù)組進行詳細地講解。0102顯示購物清單打印結(jié)算清單顯示購物清單任務(wù)102數(shù)據(jù)類型類型數(shù)據(jù)類型占用空間應(yīng)用場合:取值范圍布爾型boolean8位(1個字節(jié))存儲邏輯變量:truefalse字節(jié)型byte8位(1個字節(jié))存儲字節(jié)數(shù)據(jù):-27~27-1整型short16位(2個字節(jié))存儲短整型數(shù)據(jù):-215~215-1int32位(4個字節(jié))存儲整型數(shù)據(jù):-231~231-1long64位(8個字節(jié))存儲長整型數(shù)據(jù):-263~263-1浮點型float32位(4個字節(jié))存儲浮點數(shù)據(jù):-3.4E+38~-1.4E-45,1.4E-45~3.4E+38double64位(8個字節(jié))存儲雙精度浮點靈敏:-1.7E+308~-4.9E-324,4.9E-324~1.7E+308字符型char

存儲一個字符溫濕度傳感器數(shù)據(jù):溫度25.5℃

濕度75%;人體傳感器數(shù)據(jù):truefalse;溫度傳感器范圍:-10~60;風(fēng)扇的控制:’開’‘關(guān)’;這些數(shù)據(jù)在Java程序中要如何表示呢?如何選擇?數(shù)據(jù)類型常量

保持不變的值。常量在程序的運行過程中是不允許改變的。

Java中的常量包括整型常量、浮點型常量、字符型常量、字符串常量、布爾型常量等。整形常量有4種表示形式,分別為:二進制、八進制、十進制和十六進制。0b00000101,0x003A,10001030204常量布爾型常量布爾型常量只有兩個值true和false,該常量用于表示真和假。浮點型常量指的就是小數(shù),可分為單精度float浮點數(shù)和雙精度double浮點數(shù)兩種。1.23f3.14d3.14字符(串)型常量字符型常量用于表示一個字符。'a''1''$''\n''\072''\u0000’字符串表示一串連續(xù)的字符。"HelloWorld""123456""你好!Java"數(shù)據(jù)類型變量聲明、賦值Java使用變量來裝載程序運行過程中可以發(fā)生變化的值,在編程中使用變量讓程序語言表達更方便簡潔。變量聲明語法:

有兩種寫法,一種是聲明時同時賦值,如上面代碼中的1-3行。一種是需要變量時重新賦值,如上面代碼中的第5-6行。數(shù)據(jù)類型

需要注意的是,變量的命名要符合標識符的規(guī)定,變量名首字母小寫,同時變量要使用前必須先聲明和賦值后才可以使用,以下是常見的使用變量的錯誤:數(shù)據(jù)類型變量布爾型變量用來存儲布爾值,變量使用關(guān)鍵字boolean聲明,該類型的變量只有兩個值true和false。整數(shù)類型變量用來存儲整數(shù)數(shù)值,分為4種不同的類型:字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)。數(shù)據(jù)類型變量整數(shù)類型變量用來存儲整數(shù)數(shù)值,分為4種不同的類型:字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)。字符型變量用來存儲一個字符,在Java中使用關(guān)鍵字char表示,字符型變量占用2個字節(jié)。在給char類型變量賦值時,可以使用一對英文半角格式的單引號‘’把符號括起來。數(shù)據(jù)類型下面列舉一個例子來定義八種數(shù)據(jù)類型變量,便于讀者更好的理解在代碼中如何定義變量。數(shù)據(jù)類型的轉(zhuǎn)換自動轉(zhuǎn)換自動類型轉(zhuǎn)換也稱為隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要進行顯示的聲明,自動完成轉(zhuǎn)換。自動類型轉(zhuǎn)換要滿足兩個條件,第一個是兩種數(shù)據(jù)類型彼此兼容,第二個是目標類型的取值范圍要大于源類型的。強制轉(zhuǎn)換強制類型轉(zhuǎn)換也稱為顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中需要進行顯式的聲明。當兩種類型不兼容,或者目標類型取值范圍小于源類型時需要使用。從取值范圍低到高可自動轉(zhuǎn)換的為:byte,short,char>int>long>float>double(其中符號>表示可以自動轉(zhuǎn)換的方向)。其中byte類型還可轉(zhuǎn)換成short類型。數(shù)據(jù)類型的轉(zhuǎn)換需要注意的是,變量在進行強制轉(zhuǎn)換時,如果值的大小超出了目標類型的取值范圍,會造成數(shù)據(jù)精度的丟失。接下來通過一個例子來演示數(shù)據(jù)精度丟失的情況。當變量i強制轉(zhuǎn)換成變量b時,前面3個字節(jié)的數(shù)據(jù)將丟失,得到byte類型數(shù)據(jù)10000001(二進制)。100000001(補碼)換成原碼為11111111,該數(shù)值十進制為-127。數(shù)據(jù)類型的轉(zhuǎn)換關(guān)于補碼計算機中的符號數(shù)有3種表示法:原碼、反碼和補碼。3種表示方法均有符號位和數(shù)值位兩部分,數(shù)的最高位用來表示符號位,符號位用0表示“正”,用1表示“負”。原碼:符號位加上真值的絕對值,即用第一個二進制位表示符號(正數(shù)該位為0,負數(shù)該位為1),其余位表示值。反碼:正數(shù)的反碼與其原碼相同;負數(shù)的反碼符號位不變,其余位為其原碼逐位取反。補碼:正數(shù)的補碼與其原碼相同;負數(shù)的補碼是在其反碼的基礎(chǔ)上加上1。任務(wù)實施1.任務(wù)分析定義變量存儲購買物品的單價和個數(shù),將購物清單打印到控制臺,運行效果如下圖所示。2.代碼參考教材任務(wù)2-1打印結(jié)算清單任務(wù)2算術(shù)運算符運算符可分為算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符等。算術(shù)運算符描述例子(假設(shè)a=2,b=3)結(jié)果+正號,放在一個操作數(shù)前面表示正數(shù)+a2加法,兩個操作數(shù)進行加法運算a+b5-負號,放在一個操作數(shù)前面表示負數(shù)-a-2減法,兩個操作數(shù)進行減法運算a-b-1*乘法,兩個操作數(shù)進行乘法運算a*b6/除法,兩個操作數(shù)進行除法運算a/b0%取余,左操作數(shù)除以右操作數(shù)的余數(shù)a%b2++自增,操作數(shù)的值增加1(放在變量前面或后面)a=2;b=++a;a=3;b=3;a=2;b=a++;a=3;b=2;--自減,操作數(shù)的值減少1(放在變量前面或后面)a=2;b=--a;a=1;b=1;a=2;b=a--;a=1;b=2;算術(shù)運算符從運行結(jié)果中可以看出,在進行算術(shù)運算的時候需要注意幾點如下:(1)在進行除法運算時,當除數(shù)與被除數(shù)都為整數(shù)時,得到的結(jié)果也是一個整數(shù)。但是如果除法運算中有小數(shù)參與,得到的結(jié)果將會是一個小數(shù)。例如1.0/2的結(jié)果為0.5,或者1/2.0的結(jié)果也為0.5。(2)在進行取模運算時,運算結(jié)果和被除數(shù)符號相關(guān),和除數(shù)符號無關(guān)。算術(shù)運算符自增運算符“++”和自減運算符“-–”可以寫在變量前也可以寫在變量后,寫在前面,叫做前置如++a,寫在后面,叫做后置如a++。不管前置不是后置,對于變量而言,都是自增1或自減1。上述代碼中的第6行,變量a會自增,所以a的值為6,但是表達式a++,因為a在前,所以會先用a的值作為表達式a++的值賦給res。上述代碼中的第8行,變量b會自減,所以b的值為9,但是表達式--b,因為b在后,所以會用b減后的值作為表達式--b的值賦給res。也就是說,表達式的值會看看誰在前,就先用誰的值作為表達式的值的結(jié)果,res=a++則res得到a的值,然后a自增。res=--a則res得到a自減后的值。賦值運算符運算符描述例子(假設(shè)x=10)結(jié)果=簡單賦值,將符號右邊的值賦給左邊的變量x=5;5+=加和賦值,將符號左邊的變量與右邊的值相加后再賦值給左邊的變量。x+=5;等價于x=x+5;15-=減和賦值,將符號左邊的變量減去右邊的值后再賦值給左邊的變量x-=5;等價于x=x-5;5*=乘和賦值,將符號左邊的變量乘以右邊的值后再賦值給左邊的變量x*=5;等價于x=x*5;50/=除和賦值,將符號左邊的變量除以右邊的值后再賦值給左邊的變量x/=5;等價于x=x/5;2%=取模和賦值,將符號左邊的變量除以右邊的值后再賦值給左邊的變量x%=5;等價于x=x%5;0賦值運算符的作用就是將常量、變量或者表達式的值賦給某個變量。賦值運算符比較運算符也稱為關(guān)系運算符,用于對兩個數(shù)值或變量進行比較,得到一個布爾值true或false。關(guān)系運算符>、>=、<、<=的優(yōu)先級一樣,比==、!=優(yōu)先級高運算符描述例子結(jié)果>

大于2>1true<

小于2<1false>=大于等于2>=1true<=小于等于2<=1false==等于2==1false!=不等于2!=1true需要注意的是運算符>,<,>=,<=,符號兩邊只能比較數(shù)值,布爾值不能參與。運算符==,!=,符號兩邊可以比較數(shù)值,也可以比較布爾值。邏輯運算符邏輯運算符用于對布爾型的數(shù)據(jù)進行操作,其結(jié)果仍是一個布爾值運算符描述例子結(jié)果&&當且僅當兩個運算量的值都為“真”時,運算結(jié)果為“真”,否則為“假”。true&&truetruetrue&&falsefalsefalse&&truefalsefalse&&falsefalse||當且僅當兩個運算量的值都為“假”時,運算結(jié)果為“假”,否則為“真”。true||truetruetrue||falsetruefalse||truetruefalse||falsefalse!當運算量的值為“真”時,運算結(jié)果為“假”;當運算量的值為“假”時,運算結(jié)果為“真”。!truefalse!falsetrue除了符號“&&”可以進行與運算外,符號“&”也可以進行與運算。符號“&”又稱為非短路與。除了符號“||”可以進行或運算外,符號“|”也可以進行或運算。符號“|”又被稱為非短路或。至于非短路與與短路與,非短路或與短路或的區(qū)別,請讀者自行進行驗證。邏輯運算符例子中的x的初始值為3,y的初始值為1。(1)x>0&&y-->0,“&&”符號兩邊表達式的值都為true,所以結(jié)果為true,y的值為自減后的值0。(2)x<0&&y-->0,“&&”符號左邊的表達式為false,所以與的結(jié)果即為false,此時“&&”符號運算會忽略右邊表達式(即右表達式?jīng)]有參與運算),y的值沒有自減,還是0。所以“&&”符號又被稱為短路與。(3)同理或“||”符號運算x<0||y-->100,兩邊表達式結(jié)果同時為false,或結(jié)果才為false,y的值自減1為0。(4)x>0||y-->100,或符號左邊的表達式為true,即或運算結(jié)果為true,或符號右邊表達式忽略,y的值還是-1。所以“||”符號又被稱為短路或。(5)非運算比較簡單,在布爾值或布爾變量前面加上!,結(jié)果取反。位運算符Java支持的位運算符有:&位與、!位或、~位非、^位異或、<<左移、>>右移、>>>無符號右移。按位與&運算符:兩個操作數(shù)中位都為1,結(jié)果為1,否則為0接位或|運算符:兩個操作數(shù)中有一位為1,結(jié)果就為1,兩位都為0則結(jié)果為0位運算符按位取反~運算符:如果位為0,結(jié)果為1,如果位為1,結(jié)果為0按位異或^運算符:兩個操作數(shù)的位同號為0,異號為1位運算符左移<<右移>>無符號位右移>>>運算符,如圖3-13所示。左移<<:15<<3是指將15的二進制位向左位3位,低位用0補充。右移<<:-15>>3是指將-15的二進制位向右位2位,如果是正數(shù)高位用0補充,負數(shù)高位用1補充。無符號右移>>>:只針對正數(shù)的右移,高位用0補充。三目運算符三目運算符又稱條件運算符,語法是:boolean表達式?表達式1:表達式2。運算規(guī)則是:如果boolean表達式的值是真的,則表達式1的值是整個表達式的值的結(jié)果,否則是表達式2的結(jié)果是整個表達式的值的結(jié)果運算符的優(yōu)先級優(yōu)先級運算符1.[]()2++--~!3*/%4+-5<<>>>>>6<><=>=7==!=8&9^10|11&&12||13?:14=*=/=%=+=-=<<=>>=>>>=&=^=|=任務(wù)實施任務(wù)分析編寫一個模擬無人超市自動結(jié)算機結(jié)算清單打印程序,結(jié)算清單上要顯示結(jié)算商品的行號、編碼、品名、單價、數(shù)量、金額,以及結(jié)算商品的總數(shù)量和應(yīng)付金額,如下所示。任務(wù)實施任務(wù)分析觀察任務(wù)的運行效果圖后,可以把清單分為3部分打印(清單頂部、清單中部、清單底部)。清單頂部為提示信息,直接打印即可。清單中部為商品信息,商品數(shù)據(jù)可以變化??梢酝ㄟ^定義變量來保存商品的屬性。定義的變量有如下幾種。行號:該屬性可以定義成一個自增長的變量,int類型。編號:商品的編號,String類型。品名:商品的名稱,String類型。單價:商品的單價,double類型。數(shù)量:商品的數(shù)量,int類型。金額:商品的單價*數(shù)量,double類型。清單底部顯示商品的統(tǒng)計信息(商品的總數(shù)量和應(yīng)付金額)??梢远x成兩個變量??倲?shù)量:所有商品的數(shù)量之和,int類型。應(yīng)付金額:所有的金額之和,double類型。任務(wù)實施編寫代碼代碼參考教材任務(wù)2-2任務(wù)實施運行結(jié)果超市購物程序設(shè)計任務(wù)2流程控制/

Processcontrol

Java的流程控制包括順序控制、條件控制和循環(huán)控制。順序控制,即程序從頭到尾依次執(zhí)行語言。條件控制,基于條件選擇執(zhí)行語句。循環(huán)控制,根據(jù)循環(huán)初始條件和終結(jié)要求,執(zhí)行循環(huán)體內(nèi)的操作。順序控制很簡單,前面的任務(wù)程序用的就是順序控制。本任務(wù)知識重點介紹條件控制和循環(huán)控制的使用。條件控制if條件語句switch條件語句if…else語句if…elseif…else語句。條件控制ifIf-else判斷一個數(shù)的奇偶性,如果該數(shù)能夠被2整除,則是一個偶數(shù),否則該數(shù)字就是一個奇數(shù)。當室內(nèi)溫度大于30°C時,自動打開空調(diào)條件控制If-else-ifelseif…elseif…else語句用于對多個條件進行判斷,進行多種不同的處理。例如,對一個學(xué)生的成績進行分級,如果分數(shù)大于或等于80分等級為優(yōu);否則,如果分數(shù)大于或等于70分等級為良;否則,如果分數(shù)大于或等于60分等級為及格;否則,等級為差。條件控制switchswitch關(guān)鍵字后面的()內(nèi)放入一個表達式,根據(jù)這個表達式的值去匹配case,匹配成功即執(zhí)行case后面的代碼塊,執(zhí)行完break的時候,switch語句結(jié)束,如果都沒有case匹配,則執(zhí)行default后面的代碼塊。case后面的值必須是常量,且類型只能是byte、short、char、int、enum(枚舉類型)、String(JDK1.7及以上可用)。case執(zhí)行代碼塊后面的break可省略,省略后程序?qū)⒗^續(xù)執(zhí)行下一個case代碼塊,直到遇到break時結(jié)束switch語句。default塊可省略,省略后表示未匹配case的情況下沒有其他處理。條件控制以上程序例子的第一個switch語句表示,變量dayOfWeek為1~6時分別輸出“星期一”到“星期六”,為0時輸出“星期天”。當dayOfWeek的值不是0_6時,輸出“輸入的數(shù)字不正確!”程序的第二個switch語句表示,變量dayOfWeek為1~5時,輸出“工作日”,為6或0時,輸出“休息日”。循環(huán)控制while循環(huán)語句while循環(huán)語句,根據(jù)循環(huán)條件來判斷是否執(zhí)行大括號內(nèi)的代碼塊,如果循環(huán)條件結(jié)果為真,則重復(fù)執(zhí)行代碼塊,直到條件不滿足,while循環(huán)才結(jié)束。do...while循環(huán)語句do…while循環(huán)與while循環(huán)的區(qū)別在于,do…while循環(huán)至少執(zhí)行一次循環(huán)體代碼塊,而while循環(huán)可能一次都不執(zhí)行循環(huán)體代碼塊。for循環(huán)語句for循環(huán)相比較于while循環(huán)和do…while循環(huán),一般用在循環(huán)次數(shù)已知的情況下。嵌套循環(huán)嵌套循環(huán),即在一個循環(huán)語句的循環(huán)體內(nèi)再定義一個循環(huán)語句。while、do…while、for循環(huán)語句都可以進行互相嵌套。循環(huán)控制while上述代碼中,整型變量x的初始值為1,循環(huán)條件為x<=5,第一次x滿足條件,執(zhí)行循環(huán)內(nèi)代碼塊,在代碼塊內(nèi)部對x的值增加1。依次類推,最后一次滿足條件的x值為5,輸出x的值為5。當x=6時,已經(jīng)不滿足條件,while循環(huán)退出,循環(huán)體代碼塊不再被執(zhí)行。循環(huán)控制do..whiledo…while循環(huán)與while循環(huán)的區(qū)別在于,do…while循環(huán)至少執(zhí)行一次循環(huán)體代碼塊,而while循環(huán)可能一次都不執(zhí)行循環(huán)體代碼塊。循環(huán)控制forfor關(guān)鍵字后面的()中包括了:①初始化表達式,②循環(huán)條件,③操作表達式,它們之間使用“;”號隔開。大括號內(nèi)的代碼為④循環(huán)體代碼塊。那么for循環(huán)的執(zhí)行流程為:第一步,執(zhí)行①。第二步,執(zhí)行②,如果條件判斷結(jié)果為true,執(zhí)行第三步,如果條件判斷結(jié)果為false,執(zhí)行第五步。第三步,執(zhí)行④。第四步,執(zhí)行③,然后重復(fù)執(zhí)行第二步。第五步,退出循環(huán)。循環(huán)控制嵌套循環(huán)如何通過代碼演示for循環(huán)嵌套實現(xiàn)輸出直角三角形?break和continuebreak條件控制中,break語句表示終止某個case并跳出switch結(jié)構(gòu),執(zhí)行后面的代碼。循環(huán)中表示中斷循環(huán)的執(zhí)行,跳出循環(huán)結(jié)構(gòu),執(zhí)行后面的代碼。Break和continuecontinuecontinue用在循環(huán)語句中,作用是提前終止本次循環(huán),執(zhí)行下一次循環(huán)。上面程序第6行加了一個條件判斷,當i的值為3時,使用continue語句,此時會跳過本次循環(huán),忽略循環(huán)體的剩余語句,所以“i=3”沒有打印。任務(wù)實施任務(wù)分析超市商品有蘋果、香蕉、毛巾、薯片、面包五種商品,商品價格如表所示。編號商品名稱價格(元)1蘋果13.82香蕉9.53毛巾15.54薯片5.55面包6.8用戶在控制臺輸入商品編號進行購買,并輸入購買數(shù)量進行計算該商品所需要花費的錢。一次購買結(jié)束后,用戶輸入“Y”進行繼續(xù)購買,輸入“N”代表購物結(jié)束,最后在控制臺打印總花費。任務(wù)實施編寫代碼代碼參考教材任務(wù)2-3任務(wù)實施運行結(jié)果數(shù)組的使用任務(wù)4數(shù)組/

Array數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有相同的數(shù)據(jù)類型,可以用一個統(tǒng)一的數(shù)組名和下標來唯一地確定數(shù)組中的元素。數(shù)組有一維數(shù)組和多維數(shù)組。在Java中,數(shù)組是一種引用數(shù)據(jù)類型。一維數(shù)組定義上面的datatype表示Java中的數(shù)據(jù)類型,可以是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。arrayRefVar表示數(shù)組名稱。數(shù)組符號[]可以放在數(shù)據(jù)類型后面,也可以放在數(shù)組名稱后面。建議數(shù)組的符號放在數(shù)據(jù)類型后面。初始化在Java中,數(shù)組的定義并沒有為數(shù)組的元素分配內(nèi)存。所以定義完數(shù)組后還需要為數(shù)組分配內(nèi)存,這樣數(shù)組變量才可以存儲元素。創(chuàng)建的數(shù)組的這個過程也被稱為數(shù)組的初始化。一維數(shù)組數(shù)組的初始化可以分為靜態(tài)初始化和動態(tài)初始化。數(shù)組的動態(tài)初始化,使用關(guān)鍵字new創(chuàng)建數(shù)組對象。

數(shù)組的每個元素都有一個索引,可以通過數(shù)組名與索引訪問數(shù)組中的元素,例如arr[0]、arr[1]。數(shù)組的最小索引值是0,最大索引值為“數(shù)組的長度-1”一維數(shù)組數(shù)據(jù)類型默認值byte、short、int、long0float、double0.0char一個空字符,即‘\u0000’booleanfalse

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論