freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

javaee基礎(chǔ)教程第2章java編程基礎(chǔ)ppt-在線瀏覽

2024-12-05 14:23本頁面
  

【正文】 Java EE基礎(chǔ)教程 20 2021年 11月 10日星期三 ? 3.引用型變量 ? 引用變量將類名、接口和數(shù)組作為數(shù)據(jù)類型。例如,字符串?dāng)?shù)據(jù) (字符集合 )不屬于 8種 Java基本數(shù)據(jù)類型中的任意一種,但字符串?dāng)?shù)據(jù)包含在 String類的一個(gè)實(shí)例中, Java使用String類引用變量來訪問字符串?dāng)?shù)組。 ? 就像聲明基本變量那樣聲明 String引用變量,首先指定數(shù)據(jù)類型為類名 String,然后指定要使用的變量名稱。 ? 此代碼會(huì)創(chuàng)建一個(gè)名為 s的變量,但是不會(huì)將它初始化為一個(gè)值??梢詫⒛硞€(gè)值賦給 String變量 s,就像賦給基本變量值一樣。 ?也可以在聲明 String變量時(shí)為它賦值,就像為基本變量賦值一樣: String s = Hello Again。 char c = 39。 String s = Hello Again。A39。 Java EE基礎(chǔ)教程 22 2021年 11月 10日星期三 ?Java在對(duì)變量進(jìn)行內(nèi)存分配時(shí),把內(nèi)存劃分成兩種:一種是棧內(nèi)存,另一種是堆內(nèi)存。 ?堆內(nèi)存是向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。堆的大小受限于計(jì)算機(jī)系統(tǒng)中有效的虛擬內(nèi)存。 Java EE基礎(chǔ)教程 23 2021年 11月 10日星期三 ? 在程序中定義的一些基本類型的變量和對(duì)象的引用變量都是在棧內(nèi)存中分配,當(dāng)在一段代碼塊定義一個(gè)變量時(shí), Java就在棧中為這個(gè)變量分配內(nèi)存空間,當(dāng)超過變量的作用域后, Java會(huì)自動(dòng)釋放掉為該變量分配的內(nèi)存空間,該內(nèi)存空間可以立即被另作它用。在堆中產(chǎn)生了一個(gè)數(shù)組或者對(duì)象之后,還可以在棧中定義一個(gè)特殊的變量,讓棧中的這個(gè)變量的取值等于數(shù)組或?qū)ο笤诙褍?nèi)存中的首地址,棧中的這個(gè)變量就成了數(shù)組或?qū)ο蟮囊米兞?,以后就可以在程序中使用棧中的引用變量來訪問堆中的數(shù)組或者對(duì)象,引用變量就相當(dāng)于是為數(shù)組或者對(duì)象起的一個(gè)名稱。而數(shù)組和對(duì)象本身在堆中分配,即使程序運(yùn)行到使用 new產(chǎn)生數(shù)組或者對(duì)象的語句所在的代碼塊之外,數(shù)組和對(duì)象本身占據(jù)的內(nèi)存也不會(huì)被釋放,數(shù)組和對(duì)象在沒有引用變量指向它的時(shí)候,才變?yōu)槔?,不能再被使用,但仍然占?jù)內(nèi)存空間不放,在隨后的一個(gè)不確定的時(shí)間被垃圾回收器收走(釋放掉)。 Java EE基礎(chǔ)教程 24 2021年 11月 10日星期三 ? 例 22 涉及基本數(shù)據(jù)類型變量和引用變量的 Java程序。A39。 double d = 。 final double SALES_TAX_RATE = 。 (c = + c)。 (c = + d)。 (SALES TAX RATE = + SALES_TAX_RATE)。 (length of s = + ())。 ? 1. int 型變量 使用關(guān)鍵字 int來定義 int 型整型變量。 ?對(duì)于 int x=7;內(nèi)存的存儲(chǔ)狀態(tài)為: 00000000 00000000 00000000 00000111。 Java EE基礎(chǔ)教程 26 2021年 11月 10日星期三 ?2. byte 型變量 使用關(guān)鍵字 byte 來定義 byte 型整型變量。 例如: short x, tom_12,溫度 =20; ?4. long 型變量 使用關(guān)鍵字 long來定義 long型變量。 ?編譯器按照 IEEE(國(guó)際電子電器工程師協(xié)會(huì))制定的 IEEE 浮點(diǎn)數(shù)表示法進(jìn)行浮點(diǎn)運(yùn)算。 ?1. float型變量 使用關(guān)鍵字 float來定義 float型變量。 Java EE基礎(chǔ)教程 28 2021年 11月 10日星期三 ? ?使用關(guān)鍵字 char來定義字符類型變量。 ?例如: char c=39。 ntcity=39。狼山 =39。; ?對(duì)于 char x=39。;內(nèi)存 x中存儲(chǔ)的是 97, 97是字符a在 Unicode表中的排序位置。 ?要觀察一個(gè)字符在 Unicode 表中的順序位置,必須使用 int 類型轉(zhuǎn)換,如 (int) 39。如果要得到一個(gè)0~65536之間的數(shù)所代表的 Unicode表中相應(yīng)位置上的字符也必須使用 char 型顯示轉(zhuǎn)換。 public static int getValue(char c){ int i = (int)c。 } ?與 C/C++不同, Java不提供無符號(hào)整數(shù)類型。 例如: int three=3; char one=39。; char four=(char)(three+one); //four=39。 ?上例中,在計(jì)算加法時(shí),字符型變量 one先被轉(zhuǎn)化為整數(shù),進(jìn)行相加,然后把結(jié)果又轉(zhuǎn)化為字符型。 ?布爾類型變量的取值為 true或 false。 byte類型的變量可以保存的最大值為 127, int類型為變量可保存的最大值為 , float類型變量的容量為 E38, double類型變量的容量為 E308,后者的容量顯然更大。這些類型按數(shù)據(jù)容量從低到高的順序?yàn)椋? ?byte— char— short— int— long— float— double。如果低級(jí)類型為 char型,向高級(jí)類型(整型)轉(zhuǎn)換時(shí),會(huì)轉(zhuǎn)換為對(duì)應(yīng) ASCII碼值,例如: char c=39。 int i=c。 //輸出: output:99。 char ch=(char)i。 //輸出: output:c。采用下面這種語句格式: int i=99。 char c=(char)i。 ?這種轉(zhuǎn)換可能會(huì)導(dǎo)致溢出或精度的下降,如果容忍可能出現(xiàn)的誤差,可以使用這種轉(zhuǎn)換。從字面上可以看出它們分別對(duì)應(yīng)于基本數(shù)據(jù)類型 boolean、byte、 char、 short、 int、 long、 float和 double。即: Boolean(boolean value)、 Character(char value)、 Integer(int value)、Long(long value)、 Float(float value)、 Double(double value)。利用這種方法,也可以實(shí)現(xiàn)不同數(shù)值型變量間的轉(zhuǎn)換。 ?在進(jìn)行簡(jiǎn)單數(shù)據(jù)類型之間的轉(zhuǎn)換(自動(dòng)轉(zhuǎn)換或強(qiáng)制轉(zhuǎn)換)時(shí),總是可以利用包裝類進(jìn)行中間過渡。例如: ?當(dāng)希望把 float型轉(zhuǎn)換為 double型時(shí): float f1=。 Double d1=()。 Double D1=new Double(d1)。 ?當(dāng)希望把 int型轉(zhuǎn)換為 double型時(shí),自動(dòng)轉(zhuǎn)換: int id=200。 Java EE基礎(chǔ)教程 37 2021年 11月 10日星期三 ? 4.基本數(shù)據(jù)類型轉(zhuǎn)換為字符串型 ?幾乎從 toString()方法,即將該類轉(zhuǎn)換為字符串。 ?字符串與數(shù)據(jù)相加運(yùn)算會(huì)自動(dòng)將數(shù)據(jù)轉(zhuǎn)換為字符串,例如: ? int myint = 1234。 ? String myintString = + myint。 // myfltString= ?其它數(shù)據(jù)類型可以利用同樣的方法轉(zhuǎn)換成字符串。539。 Java EE基礎(chǔ)教程 39 2021年 11月 10日星期三 ? 6.字符串轉(zhuǎn)換成數(shù)據(jù) ?字符串轉(zhuǎn)換成 int數(shù)據(jù)有兩個(gè)方法 : ( 1) int i = (my_str)。 ?( 2) int i = (my_str).intValue()。 int myInt。 myInt= (mystr).intValue()。 Java EE基礎(chǔ)教程 40 2021年 11月 10日星期三 ?7.十進(jìn)制到其他進(jìn)制的轉(zhuǎn)換 ?可以利用 Integer或 Long的 toBinaryString()、toHexString()、 toOctalString()和 toString()方法將byte、 short、 float和 double等數(shù)據(jù)類型轉(zhuǎn)換成其他二進(jìn)制、十六進(jìn)制和八進(jìn)制的字符串形式。 ?十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù),返回結(jié)果是一個(gè)字符串: (int i)。例如: ?五進(jìn)制字符串 14414轉(zhuǎn)換成十進(jìn)制整數(shù): ((14414, 5)。再用 valueOf()方法將字符串 12345678轉(zhuǎn)換為 long型數(shù)據(jù)。 String str2=12345678。 long lng = (str2).intValue()。 (lng)。再用 toString()方法將十進(jìn)制 int型數(shù)據(jù) 100轉(zhuǎn)換為十六進(jìn)制數(shù)表示的字符串。 int int1 = 100。 String str2 = (int1,16).toUpperCase()。 (str2)。區(qū)分引用類型和原始類型并理解引用的語義是很重要的。 Java EE基礎(chǔ)教程 45 2021年 11月 10日星期三 ?該語句包含了如下三個(gè)步驟: ?首先, new StringBuffer( Hello world)申請(qǐng)了堆內(nèi)存,把創(chuàng)建好的 StringBuffer對(duì)象放進(jìn)去。這個(gè)引用變量本身是 存儲(chǔ) 在棧內(nèi)存上的,可以用來指向某個(gè) StringBuffer類型的對(duì)象。 ?最后,當(dāng)中這個(gè)賦值符號(hào)把兩者關(guān)聯(lián)起來,也就是把剛申請(qǐng)的那一內(nèi)存的地址保存成 str的值。而引用數(shù)據(jù)類型的賦值操作“=”傳遞的是堆內(nèi)存中實(shí)例的地址,并非實(shí)際的數(shù)據(jù)拷貝。 這個(gè)賦值語句實(shí)際上就是把 str中保存的地址復(fù)制給 str2, StringBuffer對(duì)象本身并沒有復(fù)制。 Java EE基礎(chǔ)教程 47 2021年 11月 10日星期三 ?明白了賦值,判斷相等的問題(就是 ==操作符)也就簡(jiǎn)單了。 ?比較兩個(gè)引用變量所指向的內(nèi)容是否相等,采用equals()方法,語句為: if( (str))。但是兩個(gè)內(nèi)容相同的對(duì)象,它們的地址可能不一樣,比如克隆出來的多個(gè)對(duì)象之間,地址就不同。實(shí)際上 final只是修飾引用變量的值(也就是限定引用變量保存的地址不能變)。所以,對(duì)于如下語句: ? final StringBuffer strConst = new StringBuffer()。 ?但是不能修改它的值,比如: ?strConst = null。根據(jù)參加運(yùn)算的對(duì)象的數(shù)量,分為單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符。雙目運(yùn)算符都是放在兩個(gè)運(yùn)算對(duì)象的中間。 ? Java語言的運(yùn)算符十分豐富,有 30多種,其分類大致如圖 。每個(gè)表達(dá)式都可以按照運(yùn)算符的運(yùn)算規(guī)則進(jìn)行運(yùn)算,并最終獲得一個(gè)值,稱為表達(dá)式的值。 Java語言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性,在表達(dá)式求值時(shí)按優(yōu)先級(jí)高低次序執(zhí)行。若是自左向右先碰到誰先算誰,則結(jié)合性稱為自左向右的;若是自右向左先碰到誰先算誰,則結(jié)合性稱為自右向左的。 Java使用的算術(shù)運(yùn)算符包括加、減、乘和除( +、-、 *、 /)。除此之外, Java還使用取模運(yùn)算符( %)生成兩個(gè)數(shù)相除所得的余數(shù)。 ?如果兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,如 306+8,則按規(guī)定的結(jié)合方向處理。因此,上述表達(dá)式的執(zhí)行順序?yàn)?306+8=( 306) +8=24+8=32,即先算左邊的減法,再算右邊的加法。表 25列出 Math類的某些方法。例如:對(duì)于關(guān)系表達(dá)式xy,當(dāng) x= y=2時(shí),返回真( true);當(dāng)x= y=5時(shí)返回假( false)。例如 : ?z==xy 等價(jià)于 z==(xy) ?關(guān)系運(yùn)算符的優(yōu)先級(jí)要低于算術(shù)運(yùn)算符,在所有的運(yùn)算符中,賦值運(yùn)算符的優(yōu)先級(jí)最低。對(duì)于引用變量,“==”操作符比較的是引用變量自身的引用值,而不是對(duì)象的實(shí)際內(nèi)容。 equals()方法比較的是對(duì)象的實(shí)際內(nèi)容。 Integer n2=new Integer(47)。 (n1==n2)。 //結(jié)果 true ((n2))。 Java EE基礎(chǔ)教程 57 2021年 11月 10日星期三 需要注意的是,與 C/C++不同,在 Java中不能用 0表示假,用 1(或其他非 0值)表示真。 布爾邏輯非運(yùn)算( !),例如 !a,是對(duì)邏輯量 a的值取反,即如果 a的值為真,則 !a為假;如果 a的值為假,則 !a為真。),例如 aamp。b才為真, a和 b中只要有一個(gè)為假,則 aamp。 布爾邏輯或運(yùn)算符( |),例如 a|b,表示只有當(dāng)邏輯量 a和 b的值同時(shí)為真時(shí), a|b就為真,只有當(dāng) a和 b同時(shí)為假時(shí), a|b的值才為假。 關(guān)系運(yùn)算符的優(yōu)先級(jí)低于“ !”,而高于其他邏輯運(yùn)算符。b|c^xy 上述表達(dá)式的執(zhí)行順序?yàn)椋?((!a)amp。amp。 ?短路或運(yùn)算符( ||)表示當(dāng)?shù)谝粋€(gè)表達(dá)式的值為真時(shí),它不再判斷第二個(gè)表達(dá)式的值,而是直接返回 true。amp。 示例代碼如下 : public static void main (String[ ] args) { int a=0。 boolean f=(a!=0)amp。(b/a5)。} Java EE基礎(chǔ)教程 59 2021年 11月 10日星期三 ? ?位運(yùn)算是一種對(duì)運(yùn)算對(duì)象按二進(jìn)制位進(jìn)行操作的運(yùn)算。例如,對(duì)一個(gè)字節(jié)的數(shù)據(jù)進(jìn)行位運(yùn)算時(shí),是對(duì)其中的 8個(gè)二進(jìn)制位進(jìn)行運(yùn)算。 Java EE
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1