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

下載本文檔

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

文檔簡介

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

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

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

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

++i,i++相當于i=i+1;

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

數(shù)組名稱=new

元素數(shù)據(jù)類型[元素個數(shù)];

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

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

floatfloatArray[]=newfloat[15];第二十三頁,共四十一頁,編輯于2023年,星期六一維數(shù)組創(chuàng)建的注意一維數(shù)組在聲明的時候,[]里面是什么都不能有的,但是在使用new運算符進行創(chuàng)建的時候,必須指明數(shù)組的長度,只有這樣系統(tǒng)才能知道應該給這個數(shù)組分配多少內(nèi)存。與C語言不同,Java允許在創(chuàng)建數(shù)組時使用整型變量來指定數(shù)組元素的個數(shù)。這位數(shù)組的使用帶來了很大的靈活性。第二十四頁,共四十一頁,編輯于2023年,星期六一維數(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ù)賦值符“=“此處實現(xiàn)讓a指向這10個連續(xù)空間。第二十五頁,共四十一頁,編輯于2023年,星期六一維數(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ù)第二十六頁,共四十一頁,編輯于2023年,星期六一維數(shù)組的初始化

Java中,用new運算符構造一個數(shù)組時,系統(tǒng)就自動將這個數(shù)組初始化好了。即數(shù)組的各個元素都被賦了初始值。如下:數(shù)組元素的類型初始值對象引用null整型變量0浮點變量0.0布爾變量false字符變量‘\u0000’第二十七頁,共四十一頁,編輯于2023年,星期六數(shù)組的靜態(tài)初始化:聲明數(shù)組的同時對數(shù)組進行初始化賦值。

charch[]={‘a(chǎn)’,‘b’,‘c’,‘d’,‘\n’};將各個元素的初始值放在賦值號=右邊的大括號{}里面,各個值之間用逗號,隔開在賦值號=的右邊沒有new運算符,也不說明數(shù)組的長度,系統(tǒng)會根據(jù)初始值的個數(shù),自動計算數(shù)組的長度一維數(shù)組的初始化第二十八頁,共四十一頁,編輯于2023年,星期六通過賦值語句對數(shù)組進行初始化賦值。一維數(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~!”;第二十九頁,共四十一頁,編輯于2023年,星期六類類型的數(shù)組在創(chuàng)建之后,還要記得在使用前必須創(chuàng)建每個數(shù)組元素對象。一維數(shù)組的初始化

Studentstu[]=newStudent[3];stu[0]=newStudent();stu[1]=newStudent();stu[2]=newStudent();第三十頁,共四十一頁,編輯于2023年,星期六利用length屬性獲得數(shù)組的長度使用點運算符.和length屬性可以得到數(shù)組的長度。格式:數(shù)組名稱.length int[]intArray=newint[20]; intL=intArray.length;則將數(shù)組的長度值20賦值給了變量L;第三十一頁,共四十一頁,編輯于2023年,星期六一維數(shù)組的有關說明數(shù)組的類型可以是復雜結構類型;數(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第三十二頁,共四十一頁,編輯于2023年,星期六一維數(shù)組的有關說明引用數(shù)組元素使用數(shù)組名加下標,下標從0開始。對數(shù)組進行構造時,中括號里可以使用帶有整型數(shù)值的變量。引用數(shù)組元素時下標不能超出范圍。Java會自動對下標越界檢查,編譯時沒有提示,但運行產(chǎn)生錯誤。第三十三頁,共四十一頁,編輯于2023年,星期六從命令行輸入數(shù)據(jù)步驟一:引入相關類。importjava.util.Scanner;步驟二:創(chuàng)建Scanner類的一個對象。Scannerreader=newScanner(System.in);步驟三:使用reader對象調(diào)用下列方法讀取用戶輸入的各種類型數(shù)據(jù)。

nextBoolean(); nextByte();nextShort();nextInt();nextLong();nextFloat();nextDouble();第三十四頁,共四十一頁,編輯于2023年,星期六從命令行輸入數(shù)據(jù)importjava.util.*;classReadDemo{ publicstaticvoidmain(String[]args){ System.out.println("請輸入若干個數(shù),每輸入一個數(shù)回車確認"); System.out.println("最后輸入數(shù)字0結束輸入操作"); 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); }}第三十五頁,共四十一頁,編輯于2023年,星期六對象的成員變量成員變量用來描述對象的狀態(tài)(屬性);成員變量可以根據(jù)需要使用任意類型,包括數(shù)組、類類型等;classStudent{ Stringname; doublescore[];

……}classLine{

Pointp1,p2;

……}classPoint{ doublex,y;

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

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。