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

下載本文檔

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

文檔簡介

1、掌握掌握javajava中的基本數(shù)據(jù)類型中的基本數(shù)據(jù)類型掌握變量的聲明和使用掌握變量的聲明和使用掌握掌握javajava數(shù)組的定義和使用數(shù)組的定義和使用掌握對象的成員變量的賦值和使用掌握對象的成員變量的賦值和使用java與與c一樣,數(shù)據(jù)通過變量來存儲和訪問。變一樣,數(shù)據(jù)通過變量來存儲和訪問。變量必須先聲明再使用,格式如下:量必須先聲明再使用,格式如下:變量的類型變量的類型 變量名稱;變量名稱;變量的類型變量的類型 變量名稱變量名稱1,變量名稱變量名稱2,;變量的類型變量的類型 變量名稱變量名稱 變量的值;變量的值;java語言里變量只聲明而不賦初值,會自動賦默語言里變量只聲明而不賦初值,會自動

2、賦默認值。認值。java中可以將聲明放在代碼中的任何地方,良好中可以將聲明放在代碼中的任何地方,良好的編程習慣提倡把變量的聲明盡可能地靠近變量的編程習慣提倡把變量的聲明盡可能地靠近變量第一次使用的地方。第一次使用的地方。 int常整型常整型 4字節(jié)字節(jié)int x = -100; byte字節(jié)型字節(jié)型 1字節(jié)字節(jié)byte a = 5; short 短整型短整型 2字節(jié)字節(jié)short m = 25; long長整型長整型 8字節(jié)字節(jié) long n = -2000000000l;在在java語言規(guī)定,直接寫出的整數(shù)被認為是語言規(guī)定,直接寫出的整數(shù)被認為是int類型;類型;如果需要描述一個如果需要描述

3、一個byte類型的數(shù)據(jù),通常要使用類型的數(shù)據(jù),通常要使用強制類型轉換,如強制類型轉換,如 (byte)10如果要描述一個如果要描述一個short類型的數(shù)據(jù),需要使用強類型的數(shù)據(jù),需要使用強制類型轉換,如制類型轉換,如 (short)15要描述長整型的整數(shù)需要在數(shù)字后要加上字母要描述長整型的整數(shù)需要在數(shù)字后要加上字母l或或l,如,如6000000000l八進制的數(shù)以八進制的數(shù)以0開頭開頭,十六進制數(shù)以十六進制數(shù)以0 x或或0x開頭。開頭。如如010表示八進制中的表示八進制中的8,0 x10表示十六進制中表示十六進制中的的16。java中沒有任何無符號中沒有任何無符號unsigned類型。類型。關

4、鍵字關鍵字名稱名稱存儲需求存儲需求 定義變量舉例定義變量舉例float單精度浮點型單精度浮點型4字節(jié)字節(jié)float x = 3.25f;double 雙精度浮點型雙精度浮點型8字節(jié)字節(jié)double y = 37.4;java語言規(guī)定,直接寫出的浮點數(shù)被認為是語言規(guī)定,直接寫出的浮點數(shù)被認為是double類型。類型。也可以通過在數(shù)字后加上字母也可以通過在數(shù)字后加上字母d或或d來表明當前來表明當前數(shù)據(jù)是數(shù)據(jù)是double型的實數(shù)常量,如型的實數(shù)常量,如37.4d,-3.69d等。等。要描述要描述float型的實數(shù)常量需要在數(shù)字后要加上型的實數(shù)常量需要在數(shù)字后要加上字母字母f或或f,如,如2.5f,

5、0.7f都是單精度浮點類型數(shù)都是單精度浮點類型數(shù)據(jù)。據(jù)。float類型變量保留類型變量保留67位有效數(shù)字,位有效數(shù)字,double類類型變量保留型變量保留15位有效數(shù)字,實際精度取決于具位有效數(shù)字,實際精度取決于具體數(shù)值。體數(shù)值。java語言中的字符采用語言中的字符采用unicode編碼,一編碼,一個字符在內(nèi)存中占個字符在內(nèi)存中占兩個字節(jié)兩個字節(jié)空間。這使得空間。這使得java可以使用可以使用char類型描述更多種類的字符,類型描述更多種類的字符,包括英文字母、標點符號、漢字、日文、韓包括英文字母、標點符號、漢字、日文、韓文等。文等。字符類型的數(shù)據(jù)必須用單引號括起來,一個字符類型的數(shù)據(jù)必須用單

6、引號括起來,一個字符型的變量只能存放一個字符。如:字符型的變量只能存放一個字符。如:char ch1 = a, ch2 = *, ch3 = 好好;char類型的變量可以與整數(shù)類型的變量通用類型的變量可以與整數(shù)類型的變量通用java中的字符型變量可以用來存儲轉義字符。中的字符型變量可以用來存儲轉義字符。轉義字符轉義字符名稱名稱n換行換行t制表位制表位r回車回車反斜線反斜線單引號單引號”雙引號雙引號布爾類型用來描述真與假,關鍵字是布爾類型用來描述真與假,關鍵字是boolean每個每個boolean類型的變量在內(nèi)存中占類型的變量在內(nèi)存中占1個個字節(jié)的空間。字節(jié)的空間。boolean類型數(shù)據(jù)的常量有

7、類型數(shù)據(jù)的常量有true和和false,boolean類型的變量只能存儲這兩個值之類型的變量只能存儲這兩個值之一,不能存儲其它內(nèi)容。一,不能存儲其它內(nèi)容。在在java語言中邏輯數(shù)據(jù)不會轉換成其它數(shù)語言中邏輯數(shù)據(jù)不會轉換成其它數(shù)值類型的數(shù)據(jù)。值類型的數(shù)據(jù)。自動類型轉換(隱式)自動類型轉換(隱式)charcharbytebyteshortshortintintlonglongfloatfloatdoubledouble強制類型轉換:將一個數(shù)據(jù)或表達式強強制類型轉換:將一個數(shù)據(jù)或表達式強制轉換成所需的更低類型,格式為:制轉換成所需的更低類型,格式為:(類型名類型名) 要轉換的數(shù)據(jù)要轉換的數(shù)據(jù) 強制類

8、型轉換是得到一個中間變量,原強制類型轉換是得到一個中間變量,原變量類型并不發(fā)生變化。變量類型并不發(fā)生變化。 boolean類型不能與任何數(shù)值類型進行類型不能與任何數(shù)值類型進行類型轉換。類型轉換。java共有五種類型的常量。共有五種類型的常量。整型常量:整型常量:如如12, 12l浮點型常量:浮點型常量:如如12f, 12d, 12.0e2d布爾型常量:布爾型常量:如如true, false字符型常量:字符型常量:如如a, 9字符串常量:字符串常量:如如“a”, ”nice”, “你好你好”自定義常量用關鍵字自定義常量用關鍵字final來修飾,要在定義時來修飾,要在定義時賦值,常量定義之后就不能

9、再改變它的值。賦值,常量定義之后就不能再改變它的值。final public char ch = #; java提供了字符串類型提供了字符串類型string,實際上,實際上string是一個類,它不屬于基本數(shù)據(jù)類是一個類,它不屬于基本數(shù)據(jù)類型型,但字符串使用得實在太頻繁了,所以但字符串使用得實在太頻繁了,所以java提供了對它更方便的使用方式。提供了對它更方便的使用方式。字符串變量(確切說應該是對象,因為字符串變量(確切說應該是對象,因為string其實是一個類,但我們簡單說為其實是一個類,但我們簡單說為變量),可以像基本數(shù)據(jù)類型變量那樣變量),可以像基本數(shù)據(jù)類型變量那樣被賦值、訪問。被賦值、

10、訪問。 +加法運算符,或正值運算符。加法運算符,或正值運算符。 如如3+5,+3- 減法運算符,或負值運算符。減法運算符,或負值運算符。 如如5-2,-3*乘法運算符。乘法運算符。 如如3*5/除法運算符。如除法運算符。如5/3%模運算符模運算符(求余運算符求余運算符),可對小數(shù)可對小數(shù)操作操作。 如如7%4=3 8.5%3=2.5java語言中運算符語言中運算符“+”可用來連接兩個字可用來連接兩個字符串。符串。 “abc”+123的結果為的結果為”abc123”整數(shù)相除結果取整。操作數(shù)有小數(shù)是結果整數(shù)相除結果取整。操作數(shù)有小數(shù)是結果為小數(shù)。為小數(shù)。java語言里語言里“%”可對整數(shù)取模,也可

11、對可對整數(shù)取模,也可對小數(shù)取模。小數(shù)取模。16.2%5值為值為1.2可對可對char類型數(shù)據(jù)運算,不能對類型數(shù)據(jù)運算,不能對boolean類型數(shù)據(jù)進行運算。類型數(shù)據(jù)進行運算。先(乘、除、取余),后(加、減)。先(乘、除、取余),后(加、減)。+、- 使變量增使變量增1、減、減1 +i,i+相當于相當于i=i+1; -i,i-相當于相當于i=i-1;先執(zhí)行先執(zhí)行i=i+1,再使用再使用i先使用先使用i,再執(zhí)行再執(zhí)行i=i+1a = 3 ;b = -a;system.out.print (b +( a +) ;輸出:輸出:2 2 最后最后a的值變?yōu)榈闹底優(yōu)?符號在前符號在前,先自增先自增(減減)

12、符號在后符號在后,后自增后自增(減減)/*a=a-1;b=a;a為為2,b為為2*/關系運算符的使用注意:關系運算符的使用注意:區(qū)分區(qū)分“=”與與“=”。a=1是比較變量是比較變量a的值是否等于的值是否等于1,結果為邏輯值。,結果為邏輯值。 a=1是是將常量將常量1賦值給變量賦值給變量a。5=5的結果為的結果為true。關系運算符中關系運算符中=和和!=的優(yōu)先級略低,混的優(yōu)先級略低,混合比較時其他關系運算符要先執(zhí)行,后判合比較時其他關系運算符要先執(zhí)行,后判斷相等(斷相等(=)和不等()和不等(!=)。)。在混合運算時,邏輯非在混合運算時,邏輯非(!)的優(yōu)先級別最的優(yōu)先級別最高,邏輯與高,邏輯與

13、(&)和邏輯或和邏輯或(|)的優(yōu)先級的優(yōu)先級別低于關系運算符的。別低于關系運算符的。利用利用&、|做邏輯或運算時,如果只做邏輯或運算時,如果只計算運算符表達式左邊的結果即可確定計算運算符表達式左邊的結果即可確定與、或的結果,則右邊的表達式將不會與、或的結果,則右邊的表達式將不會執(zhí)行。執(zhí)行。自右向左賦值,左邊必須是變量,不能寫常量自右向左賦值,左邊必須是變量,不能寫常量或表達式。或表達式。賦值運算符的優(yōu)先級別低于其他運算符,在混賦值運算符的優(yōu)先級別低于其他運算符,在混合使用時,先處理等號右邊的復雜表達式,然合使用時,先處理等號右邊的復雜表達式,然后把處理結果賦給左邊的變量。后把處理結果賦給左邊的

14、變量。在使用運算符時,盡量使其右端表達式的類型在使用運算符時,盡量使其右端表達式的類型與其左端變量類型相一致,否則要進行類型轉與其左端變量類型相一致,否則要進行類型轉換。換。允許進行連續(xù)賦值。允許進行連續(xù)賦值。復合的賦值運算符:復合的賦值運算符:+=、-=、/=、*=、%=,先運算后賦值,后面的表達式相當于有,先運算后賦值,后面的表達式相當于有括號。括號。 ?: 先判斷表達式先判斷表達式1,如果值為,如果值為true,則執(zhí)行,則執(zhí)行表達式表達式2,將其結果作為三目條件表達式,將其結果作為三目條件表達式的值;否則,將表達式的值;否則,將表達式3的結果作為三目的結果作為三目條件表達式的值。條件表達

15、式的值。 條件運算符可簡單替換雙分支選擇結構條件運算符可簡單替換雙分支選擇結構語句。語句。java中的數(shù)組是一個復合數(shù)據(jù)類型中的數(shù)組是一個復合數(shù)據(jù)類型數(shù)組中的元素數(shù)組中的元素具有相同的類型具有相同的類型元素類型可以是基本數(shù)據(jù)類型元素類型可以是基本數(shù)據(jù)類型,類的對象類的對象,也可以是數(shù)組類型也可以是數(shù)組類型數(shù)組元素是數(shù)組元素是有序排列有序排列的的,使用下標來訪問使用下標來訪問數(shù)組有一個屬性數(shù)組有一個屬性length,表示表示數(shù)組的長度數(shù)組的長度數(shù)組必須經(jīng)過數(shù)組必須經(jīng)過聲明聲明,構造構造,賦初值賦初值三個步驟三個步驟以后才能使用以后才能使用(定義定義內(nèi)存分配內(nèi)存分配賦值賦值)聲明一個一維數(shù)組的方式

16、如下聲明一個一維數(shù)組的方式如下:元素數(shù)據(jù)類型元素數(shù)據(jù)類型 數(shù)組名稱數(shù)組名稱;元素數(shù)據(jù)類型元素數(shù)據(jù)類型 數(shù)組名稱數(shù)組名稱;注意注意:兩種聲明方式完全相同兩種聲明方式完全相同在在 里面什么都不能有里面什么都不能有聲明一個數(shù)組并沒有為數(shù)組元素分配內(nèi)存,聲明一個數(shù)組并沒有為數(shù)組元素分配內(nèi)存, 因此還不能使用它們。因此還不能使用它們。聲明數(shù)組后,通過使用運算符聲明數(shù)組后,通過使用運算符new為數(shù)組為數(shù)組分配內(nèi)存空間,之后數(shù)組才能存儲數(shù)據(jù)。分配內(nèi)存空間,之后數(shù)組才能存儲數(shù)據(jù)。格式:格式:數(shù)組名稱數(shù)組名稱= =new 元素數(shù)據(jù)類型元素數(shù)據(jù)類型 元素個數(shù)元素個數(shù); /*聲明整型數(shù)組聲明整型數(shù)組intarray

17、, 包含包含10個元素個元素*/ int intarray; intarray=new int10; /*聲明單精度型數(shù)組聲明單精度型數(shù)組floatarray,包含包含15個元素個元素*/ float floatarray = new float15;一維數(shù)組在聲明的時候一維數(shù)組在聲明的時候,里面是什么里面是什么都不能有的都不能有的,但是在使用但是在使用new運算符進運算符進行創(chuàng)建的時候行創(chuàng)建的時候,必須指明數(shù)組的長度必須指明數(shù)組的長度,只只有這樣系統(tǒng)才能知道應該給這個數(shù)組分有這樣系統(tǒng)才能知道應該給這個數(shù)組分配多少內(nèi)存。配多少內(nèi)存。與與c語言不同,語言不同,java允許在創(chuàng)建數(shù)組時允許在創(chuàng)建數(shù)

18、組時使用整型變量來指定數(shù)組元素的個數(shù)。使用整型變量來指定數(shù)組元素的個數(shù)。這位數(shù)組的使用帶來了很大的靈活性。這位數(shù)組的使用帶來了很大的靈活性。 聲明整型數(shù)組聲明整型數(shù)組a, 包含包含10個元素個元素 int a = new int10;a0 a1 a2 a3 a4 a5 a6 a7 a8 a9數(shù)組數(shù)組a10個內(nèi)存空間,每個空間可存放一個整型數(shù)據(jù)個內(nèi)存空間,每個空間可存放一個整型數(shù)據(jù)賦值符賦值符“=“此處此處實現(xiàn)讓實現(xiàn)讓a指向這指向這10個連續(xù)空間。個連續(xù)空間。聲明單精度型數(shù)組聲明單精度型數(shù)組b,包含包含5個元素個元素 int n = 5; float b = new floatn;b0 b1 b

19、2 b3 b4數(shù)組數(shù)組b5個內(nèi)存空間,每個空間可存放一個單精度型數(shù)據(jù)個內(nèi)存空間,每個空間可存放一個單精度型數(shù)據(jù) java中,用中,用new運算符構造一個數(shù)組時運算符構造一個數(shù)組時,系統(tǒng)系統(tǒng)就自動將這個數(shù)組初始化好了。即數(shù)組的各個就自動將這個數(shù)組初始化好了。即數(shù)組的各個元素都被賦了初始值。元素都被賦了初始值。如下如下: 數(shù)組元素的類型數(shù)組元素的類型初始值初始值對象引用對象引用null整型變量整型變量0浮點變量浮點變量0.0布爾變量布爾變量false字符變量字符變量u0000數(shù)組的靜態(tài)初始化:數(shù)組的靜態(tài)初始化:聲明數(shù)組的同時對數(shù)組進行初始化賦值。聲明數(shù)組的同時對數(shù)組進行初始化賦值。char ch

20、= a, b, c, d, n;將各個元素的初始值放在賦值號將各個元素的初始值放在賦值號=右邊的右邊的大括號大括號里面里面, ,各個值之間用逗號各個值之間用逗號,隔開隔開在賦值號在賦值號=的右邊的右邊沒有沒有new運算符運算符, ,也也不不說明數(shù)組的長度說明數(shù)組的長度, ,系統(tǒng)會根據(jù)初始值的個系統(tǒng)會根據(jù)初始值的個數(shù)數(shù), ,自動計算數(shù)組的長度自動計算數(shù)組的長度通過賦值語句對數(shù)組進行初始化賦值。通過賦值語句對數(shù)組進行初始化賦值。 int num = new int10; for( int i=0 ; i=10 ; i+ ) numi=i*10; string s = new string3; s0

21、 = “i”; s1 = “l(fā)ove”; s2 = “china!”;類類型的數(shù)組在創(chuàng)建之后,還要記得在使用類類型的數(shù)組在創(chuàng)建之后,還要記得在使用前必須創(chuàng)建每個數(shù)組元素對象。前必須創(chuàng)建每個數(shù)組元素對象。 student stu = new student3; stu0 = new student(); stu1 = new student(); stu2 = new student();使用點運算符使用點運算符.和和length屬性可以得到數(shù)屬性可以得到數(shù)組的長度。組的長度。格式:格式: 數(shù)組名稱數(shù)組名稱.lengthint intarray = new int20;int l = intar

22、ray.length; 則將數(shù)組的長度值則將數(shù)組的長度值2020賦值給了變量賦值給了變量l;l;數(shù)組的類型可以是復雜結構類型;數(shù)組的類型可以是復雜結構類型;數(shù)組名代表數(shù)組的首地址,數(shù)組間可相互數(shù)組名代表數(shù)組的首地址,數(shù)組間可相互直接賦值,表示數(shù)組共同指向同一地址。直接賦值,表示數(shù)組共同指向同一地址。int a=1,2,3,4,5 , b; b=a; /數(shù)組數(shù)組b指向和數(shù)組指向和數(shù)組a相同的地址相同的地址1 2345a0 a1 a2 a3 a4數(shù)組數(shù)組ab0 b1 b2 b3 b4數(shù)組數(shù)組b引用數(shù)組元素使用數(shù)組名加下標,下標引用數(shù)組元素使用數(shù)組名加下標,下標從從0開始。開始。對數(shù)組進行構造時,中

23、括號里對數(shù)組進行構造時,中括號里可以使用可以使用帶有整型數(shù)值的帶有整型數(shù)值的變量變量。引用數(shù)組元素時下標不能超出范圍。引用數(shù)組元素時下標不能超出范圍。java會自動對下標越界檢查,編譯時沒會自動對下標越界檢查,編譯時沒有提示,但運行產(chǎn)生錯誤。有提示,但運行產(chǎn)生錯誤。步驟一:引入相關類。步驟一:引入相關類。import java.util.scanner;步驟二:創(chuàng)建步驟二:創(chuàng)建scanner類的一個對象。類的一個對象。scanner reader = new scanner(system.in);步驟三:使用步驟三:使用reader對象調用下列方法讀對象調用下列方法讀取用戶輸入的各種類型數(shù)據(jù)。

24、取用戶輸入的各種類型數(shù)據(jù)。nextboolean(); nextbyte(); nextshort(); nextint(); nextlong(); nextfloat(); nextdouble();import java.util.*;class readdemo public static void main(string args) system.out.println(請輸入若干個數(shù),每輸入一個數(shù)回車確認請輸入若干個數(shù),每輸入一個數(shù)回車確認); system.out.println(最后輸入數(shù)字最后輸入數(shù)字0結束輸入操作結束輸入操作); scanner reader = new s

25、canner(system.in); double sum = 0; int m = 0; double x = reader.nextdouble(); while(x!=0) m = m+1; sum = sum+x; x = reader.nextdouble(); system.out.println(m+個數(shù)的和為個數(shù)的和為+sum); system.out.println(m+個數(shù)的平均值為個數(shù)的平均值為+sum/m);成員變量用來描述對象的狀態(tài)(屬性);成員變量用來描述對象的狀態(tài)(屬性);成員變量可以根據(jù)需要使用任意類型,包成員變量可以根據(jù)需要使用任意類型,包括數(shù)組、類類型等;括

26、數(shù)組、類類型等;class studentstring name;double score;class linepoint p1,p2; class pointdouble x,y;復雜類型的成員變量要注意必須先創(chuàng)建復雜類型的成員變量要注意必須先創(chuàng)建,然后再使用。如數(shù)組、類類型。然后再使用。如數(shù)組、類類型。通常不允許通過對象直接操作成員變量,通常不允許通過對象直接操作成員變量,要在類的內(nèi)部定義相應的方法對成員變量要在類的內(nèi)部定義相應的方法對成員變量進行數(shù)據(jù)的存儲或訪問。進行數(shù)據(jù)的存儲或訪問。static修飾過的變量稱為靜態(tài)變量,靜態(tài)變修飾過的變量稱為靜態(tài)變量,靜態(tài)變量可以通過類名直接引用。相關內(nèi)容將在量可以通過類名直接引用。相關內(nèi)容將在第五部分具體介紹。

溫馨提示

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

評論

0/150

提交評論