對象的屬性變量的詳述_第1頁
對象的屬性變量的詳述_第2頁
對象的屬性變量的詳述_第3頁
對象的屬性變量的詳述_第4頁
對象的屬性變量的詳述_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

對象的屬性變量的詳述第一頁,共四十一頁,2022年,8月28日變量與基本數(shù)據(jù)類型Java與C一樣,數(shù)據(jù)通過變量來存儲和訪問。變量必須先聲明再使用,格式如下: 變量的類型變量名稱; 變量的類型變量名稱1,變量名稱2,…; 變量的類型變量名稱=變量的值;Java語言里變量只聲明而不賦初值,會自動賦默認(rèn)值。Java中可以將聲明放在代碼中的任何地方,良好的編程習(xí)慣提倡把變量的聲明盡可能地靠近變量第一次使用的地方。第二頁,共四十一頁,2022年,8月28日整型int常整型4字節(jié)intx=-100;byte字節(jié)型1字節(jié)bytea=5;short短整型2字節(jié)shortm=25;long長整型8字節(jié)longn=-2000000000L;第三頁,共四十一頁,2022年,8月28日整型相關(guān)說明在Java語言規(guī)定,直接寫出的整數(shù)被認(rèn)為是int類型;如果需要描述一個byte類型的數(shù)據(jù),通常要使用強(qiáng)制類型轉(zhuǎn)換,如(byte)10如果要描述一個short類型的數(shù)據(jù),需要使用強(qiáng)制類型轉(zhuǎn)換,如(short)15要描述長整型的整數(shù)需要在數(shù)字后要加上字母L或l,如6000000000L八進(jìn)制的數(shù)以0開頭,十六進(jìn)制數(shù)以0x或0X開頭。如010表示八進(jìn)制中的8,0x10表示十六進(jìn)制中的16。Java中沒有任何無符號unsigned類型。第四頁,共四十一頁,2022年,8月28日實(shí)型關(guān)鍵字名稱存儲需求定義變量舉例float單精度浮點(diǎn)型4字節(jié)floatx=3.25f;double雙精度浮點(diǎn)型8字節(jié)doubley=37.4;第五頁,共四十一頁,2022年,8月28日實(shí)型相關(guān)說明Java語言規(guī)定,直接寫出的浮點(diǎn)數(shù)被認(rèn)為是double類型。也可以通過在數(shù)字后加上字母D或d來表明當(dāng)前數(shù)據(jù)是double型的實(shí)數(shù)常量,如37.4D,-3.69d等。要描述float型的實(shí)數(shù)常量需要在數(shù)字后要加上字母F或f,如2.5F,0.7f都是單精度浮點(diǎn)類型數(shù)據(jù)。float類型變量保留6~7位有效數(shù)字,double類型變量保留15位有效數(shù)字,實(shí)際精度取決于具體數(shù)值。第六頁,共四十一頁,2022年,8月28日字符型Java語言中的字符采用UNICODE編碼,一個字符在內(nèi)存中占兩個字節(jié)空間。這使得Java可以使用char類型描述更多種類的字符,包括英文字母、標(biāo)點(diǎn)符號、漢字、日文、韓文等。字符類型的數(shù)據(jù)必須用單引號括起來,一個字符型的變量只能存放一個字符。如:

charch1=‘a(chǎn)’,ch2=‘*’,ch3=‘好’;char類型的變量可以與整數(shù)類型的變量通用第七頁,共四十一頁,2022年,8月28日字符型Java中的字符型變量可以用來存儲轉(zhuǎn)義字符。轉(zhuǎn)義字符名稱\n換行\(zhòng)t制表位\r回車\\反斜線\’單引號\”雙引號第八頁,共四十一頁,2022年,8月28日布爾類型(邏輯型)布爾類型用來描述真與假,關(guān)鍵字是boolean每個boolean類型的變量在內(nèi)存中占1個字節(jié)的空間。boolean類型數(shù)據(jù)的常量有true和false,boolean類型的變量只能存儲這兩個值之一,不能存儲其它內(nèi)容。在Java語言中邏輯數(shù)據(jù)不會轉(zhuǎn)換成其它數(shù)值類型的數(shù)據(jù)。第九頁,共四十一頁,2022年,8月28日數(shù)據(jù)類型的轉(zhuǎn)換自動類型轉(zhuǎn)換(隱式)charbyteshortintlongfloatdouble第十頁,共四十一頁,2022年,8月28日數(shù)據(jù)類型的轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換:將一個數(shù)據(jù)或表達(dá)式強(qiáng)制轉(zhuǎn)換成所需的更低類型,格式為:

(類型名)要轉(zhuǎn)換的數(shù)據(jù)強(qiáng)制類型轉(zhuǎn)換是得到一個中間變量,原變量類型并不發(fā)生變化。boolean類型不能與任何數(shù)值類型進(jìn)行類型轉(zhuǎn)換。第十一頁,共四十一頁,2022年,8月28日常量Java共有五種類型的常量。整型常量:如12,12L浮點(diǎn)型常量:如12F,12D,12.0E2D布爾型常量:如true,false字符型常量:如‘a(chǎn)’,’9’字符串常量:如“a”,”Nice”,“你好”自定義常量用關(guān)鍵字final來修飾,要在定義時(shí)賦值,常量定義之后就不能再改變它的值。finalpubliccharch=’#’;

第十二頁,共四十一頁,2022年,8月28日字符串類型Java提供了字符串類型String,實(shí)際上String是一個類,它不屬于基本數(shù)據(jù)類型,但字符串使用得實(shí)在太頻繁了,所以Java提供了對它更方便的使用方式。字符串變量(確切說應(yīng)該是對象,因?yàn)镾tring其實(shí)是一個類,但我們簡單說為變量),可以像基本數(shù)據(jù)類型變量那樣被賦值、訪問。第十三頁,共四十一頁,2022年,8月28日算術(shù)運(yùn)算符+加法運(yùn)算符,或正值運(yùn)算符。如3+5,+3-減法運(yùn)算符,或負(fù)值運(yùn)算符。如5-2,-3*乘法運(yùn)算符。如3*5/除法運(yùn)算符。如5/3%模運(yùn)算符(求余運(yùn)算符),可對小數(shù)操作。如7%4=38.5%3=2.5第十四頁,共四十一頁,2022年,8月28日有關(guān)算術(shù)運(yùn)算符的說明Java語言中運(yùn)算符“+”可用來連接兩個字符串?!癆bc”+123的結(jié)果為”Abc123”整數(shù)相除結(jié)果取整。操作數(shù)有小數(shù)是結(jié)果為小數(shù)。Java語言里“%”可對整數(shù)取模,也可對小數(shù)取模。16.2%5值為1.2可對char類型數(shù)據(jù)運(yùn)算,不能對boolean類型數(shù)據(jù)進(jìn)行運(yùn)算。先(乘、除、取余),后(加、減)。第十五頁,共四十一頁,2022年,8月28日自增自減運(yùn)算符++、--使變量增1、減1

++i,i++相當(dāng)于i=i+1;

--i,i--相當(dāng)于i=i-1;先執(zhí)行i=i+1,再使用i先使用i,再執(zhí)行i=i+1a=3;b=--a;System.out.print(b+(a++));輸出:22最后a的值變?yōu)?符號在前,先自增(減)

符號在后,后自增(減)/*a=a-1;b=a;a為2,b為2*/第十六頁,共四十一頁,2022年,8月28日關(guān)系運(yùn)算符關(guān)系運(yùn)算符的使用注意:區(qū)分“==”與“=”。a==1是比較變量a的值是否等于1,結(jié)果為邏輯值。a=1是將常量1賦值給變量a。5>=5的結(jié)果為true。關(guān)系運(yùn)算符中==和!=的優(yōu)先級略低,混合比較時(shí)其他關(guān)系運(yùn)算符要先執(zhí)行,后判斷相等(==)和不等(!=)。第十七頁,共四十一頁,2022年,8月28日邏輯運(yùn)算符在混合運(yùn)算時(shí),邏輯非(!)的優(yōu)先級別最高,邏輯與(&&)和邏輯或(||)的優(yōu)先級別低于關(guān)系運(yùn)算符的。利用&&、||做邏輯或運(yùn)算時(shí),如果只計(jì)算運(yùn)算符表達(dá)式左邊的結(jié)果即可確定與、或的結(jié)果,則右邊的表達(dá)式將不會執(zhí)行。第十八頁,共四十一頁,2022年,8月28日賦值運(yùn)算符自右向左賦值,左邊必須是變量,不能寫常量或表達(dá)式。賦值運(yùn)算符的優(yōu)先級別低于其他運(yùn)算符,在混合使用時(shí),先處理等號右邊的復(fù)雜表達(dá)式,然后把處理結(jié)果賦給左邊的變量。在使用運(yùn)算符時(shí),盡量使其右端表達(dá)式的類型與其左端變量類型相一致,否則要進(jìn)行類型轉(zhuǎn)換。允許進(jìn)行連續(xù)賦值。復(fù)合的賦值運(yùn)算符:+=、-=、/=、*=、%=,先運(yùn)算后賦值,后面的表達(dá)式相當(dāng)于有括號。第十九頁,共四十一頁,2022年,8月28日條件運(yùn)算符<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>先判斷表達(dá)式1,如果值為true,則執(zhí)行表達(dá)式2,將其結(jié)果作為三目條件表達(dá)式的值;否則,將表達(dá)式3的結(jié)果作為三目條件表達(dá)式的值。條件運(yùn)算符可簡單替換雙分支選擇結(jié)構(gòu)語句。第二十頁,共四十一頁,2022年,8月28日數(shù)組的概念Java中的數(shù)組是一個復(fù)合數(shù)據(jù)類型數(shù)組中的元素具有相同的類型元素類型可以是基本數(shù)據(jù)類型,類的對象,也可以是數(shù)組類型數(shù)組元素是有序排列的,使用下標(biāo)來訪問數(shù)組有一個屬性length,表示數(shù)組的長度數(shù)組必須經(jīng)過聲明,構(gòu)造,賦初值三個步驟以后才能使用(定義—內(nèi)存分配—賦值)第二十一頁,共四十一頁,2022年,8月28日一維數(shù)組的聲明聲明一個一維數(shù)組的方式如下:元素?cái)?shù)據(jù)類型[]數(shù)組名稱;元素?cái)?shù)據(jù)類型數(shù)組名稱[];注意:兩種聲明方式完全相同在[]里面什么都不能有聲明一個數(shù)組并沒有為數(shù)組元素分配內(nèi)存,因此還不能使用它們。第二十二頁,共四十一頁,2022年,8月28日一維數(shù)組的創(chuàng)建聲明數(shù)組后,通過使用運(yùn)算符new為數(shù)組分配內(nèi)存空間,之后數(shù)組才能存儲數(shù)據(jù)。格式:

數(shù)組名稱=new

元素?cái)?shù)據(jù)類型[元素個數(shù)];

/*聲明整型數(shù)組intArray,包含10個元素*/int[]intArray;intArray=newint[10];

/*聲明單精度型數(shù)組floatArray,包含15個元素*/

floatfloatArray[]=newfloat[15];第二十三頁,共四十一頁,2022年,8月28日一維數(shù)組創(chuàng)建的注意一維數(shù)組在聲明的時(shí)候,[]里面是什么都不能有的,但是在使用new運(yùn)算符進(jìn)行創(chuàng)建的時(shí)候,必須指明數(shù)組的長度,只有這樣系統(tǒng)才能知道應(yīng)該給這個數(shù)組分配多少內(nèi)存。與C語言不同,Java允許在創(chuàng)建數(shù)組時(shí)使用整型變量來指定數(shù)組元素的個數(shù)。這位數(shù)組的使用帶來了很大的靈活性。第二十四頁,共四十一頁,2022年,8月28日一維數(shù)組的創(chuàng)建聲明整型數(shù)組a,包含10個元素

int[]a=newint[10];a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]數(shù)組a10個內(nèi)存空間,每個空間可存放一個整型數(shù)據(jù)賦值符“=“此處實(shí)現(xiàn)讓a指向這10個連續(xù)空間。第二十五頁,共四十一頁,2022年,8月28日一維數(shù)組的創(chuàng)建聲明單精度型數(shù)組b,包含5個元素

intn=5;floatb[]=newfloat[n];b[0]b[1]b[2]b[3]b[4]數(shù)組b5個內(nèi)存空間,每個空間可存放一個單精度型數(shù)據(jù)第二十六頁,共四十一頁,2022年,8月28日一維數(shù)組的初始化

Java中,用new運(yùn)算符構(gòu)造一個數(shù)組時(shí),系統(tǒng)就自動將這個數(shù)組初始化好了。即數(shù)組的各個元素都被賦了初始值。如下:數(shù)組元素的類型初始值對象引用null整型變量0浮點(diǎn)變量0.0布爾變量false字符變量‘\u0000’第二十七頁,共四十一頁,2022年,8月28日數(shù)組的靜態(tài)初始化:聲明數(shù)組的同時(shí)對數(shù)組進(jìn)行初始化賦值。

charch[]={‘a(chǎn)’,‘b’,‘c’,‘d’,‘\n’};將各個元素的初始值放在賦值號=右邊的大括號{}里面,各個值之間用逗號,隔開在賦值號=的右邊沒有new運(yùn)算符,也不說明數(shù)組的長度,系統(tǒng)會根據(jù)初始值的個數(shù),自動計(jì)算數(shù)組的長度一維數(shù)組的初始化第二十八頁,共四十一頁,2022年,8月28日通過賦值語句對數(shù)組進(jìn)行初始化賦值。一維數(shù)組的初始化

int[]num=newint[10];for(inti=0;i<=10;i++) num[i]=i*10;

Strings[]=newString[3];s[0]=“I”;s[1]=“l(fā)ove”;s[2]=“China~!”;第二十九頁,共四十一頁,2022年,8月28日類類型的數(shù)組在創(chuàng)建之后,還要記得在使用前必須創(chuàng)建每個數(shù)組元素對象。一維數(shù)組的初始化

Studentstu[]=newStudent[3];stu[0]=newStudent();stu[1]=newStudent();stu[2]=newStudent();第三十頁,共四十一頁,2022年,8月28日利用length屬性獲得數(shù)組的長度使用點(diǎn)運(yùn)算符.和length屬性可以得到數(shù)組的長度。格式:數(shù)組名稱.length int[]intArray=newint[20]; intL=intArray.length;則將數(shù)組的長度值20賦值給了變量L;第三十一頁,共四十一頁,2022年,8月28日一維數(shù)組的有關(guān)說明數(shù)組的類型可以是復(fù)雜結(jié)構(gòu)類型;數(shù)組名代表數(shù)組的首地址,數(shù)組間可相互直接賦值,表示數(shù)組共同指向同一地址。

inta[]={1,2,3,4,5},b[];b=a;

//數(shù)組b指向和數(shù)組a相同的地址12345a[0]a[1]a[2]a[3]a[4]數(shù)組ab[0]b[1]b[2]b[3]b[4]數(shù)組b第三十二頁,共四十一頁,2022年,8月28日一維數(shù)組的有關(guān)說明引用數(shù)組元素使用數(shù)組名加下標(biāo),下標(biāo)從0開始。對數(shù)組進(jìn)行構(gòu)造時(shí),中括號里可以使用帶有整型數(shù)值的變量。引用數(shù)組元素時(shí)下標(biāo)不能超出范圍。Java會自動對下標(biāo)越界檢查,編譯時(shí)沒有提示,但運(yùn)行產(chǎn)生錯誤。第三十三頁,共四十一頁,2022年,8月28日從命令行輸入數(shù)據(jù)步驟一:引入相關(guān)類。importjava.util.Scanner;步驟二:創(chuàng)建Scanner類的一個對象。Scannerreader=newScanner(System.in);步驟三:使用reader對象調(diào)用下列方法讀取用戶輸入的各種類型數(shù)據(jù)。

nextBoolean(); nextByte();nextShort();nextInt();nextLong();nextFloat();nextDouble();第三十四頁,共四十一頁,2022年,8月28日從命令行輸入數(shù)據(jù)importjava.util.*;classReadDemo{ publicstaticvoidmain(String[]args){ System.out.println("請輸入若干個數(shù),每輸入一個數(shù)回車確認(rèn)"); System.out.println("最后輸入數(shù)字0結(jié)束輸入操作"); Scannerreader=newScanner(System.in); doublesum=0; intm=0; doublex=reader.nextDouble(); while(x!=0){ m=m+1; sum=sum+x; x=reader.nextDouble(); } System.out.println(m+"個數(shù)的和為"+sum); System.out.println(m+"個數(shù)的平均值為"+sum/m); }}第三十五頁,共四十一頁,2022年,8月28日對象的成員變量成員變量用來描述對象的狀態(tài)(屬性);成員變量可以根據(jù)需要使用任意類型,包括數(shù)組、類類型等;classStudent{ Stringname; doublescore[];

……}classLine{

Pointp1,p2;

……}classPoint{ doublex,y;

……}第三十六頁,共四十一頁,2022年,8月28日對象的成員變量復(fù)雜類型的成員變量要注意必須先創(chuàng)建,然后再使用。如數(shù)組、類類型。通常不允許通過對象直接操作成員變量,要在類的內(nèi)部定義相應(yīng)的方法對成員變量進(jìn)行數(shù)據(jù)的存儲或訪問。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論