• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型

      2021-07-27 03:48:14張洪雷高喜文佟宏博
      電子元器件與信息技術(shù) 2021年5期
      關(guān)鍵詞:數(shù)據(jù)類型字符串數(shù)組

      張洪雷,高喜文,佟宏博

      (盤錦職業(yè)技術(shù)學(xué)院,遼寧 盤錦 124000)

      關(guān)鍵字:Java;基本數(shù)據(jù)類型;引用數(shù)據(jù)類型

      0 引言

      Java的數(shù)據(jù)類型和C語言相比,更加的豐富也更復(fù)雜,在教學(xué)過程中,很多同學(xué)都很難準(zhǔn)確使用各種數(shù)據(jù)類型,結(jié)合本人多年的教學(xué)經(jīng)驗,在這里對于Java的數(shù)據(jù)類型進行全面的解析,希望給學(xué)習(xí)Java的學(xué)習(xí)者們一些幫助

      我們都知道,Java的數(shù)據(jù)類型包括兩大類,分別是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型?;緮?shù)據(jù)類型包括4類(共8種),引用數(shù)據(jù)類型包括3類,具體如圖1所示

      圖1 Java 的數(shù)據(jù)類型

      1 基本數(shù)據(jù)類型

      基本數(shù)據(jù)類型比較簡單,和C語言中的數(shù)據(jù)類型相似,使用方法也比較簡單,Java的基本數(shù)據(jù)類型又分為四類,共8種數(shù)據(jù)類型,具體情況如下表所示基本數(shù)據(jù)類型存儲在??臻g中,存儲速度很快,通過變量定義就可以創(chuàng)造一個基本數(shù)據(jù)類型的變量,系統(tǒng)會在棧空間中開辟指定大小的空間,該空間中存入變量的值,在變量的生存期結(jié)束后,基本數(shù)據(jù)類型所占的空間也會自動被釋放。

      表1 Java 的8 種基本數(shù)據(jù)類型

      2 引用數(shù)據(jù)類型

      引用數(shù)據(jù)類型是比較復(fù)雜的數(shù)據(jù)類型,也是初學(xué)者不好掌握的一塊內(nèi)容,引用數(shù)據(jù)類型主要包括類、接口和數(shù)組。

      (1)類。類可以是我們自己定義的類,也可以是系統(tǒng)提供的類,常見的有String、Scanner、Random、Integer等。

      (2)接口。接口對于初學(xué)Java的人來說是十分不友好的,接口是常量和方法的集合,接口和類有相同的地方,也有很多的區(qū)別。相對于類來說,接口更不好理解一些,其實類要定義屬性和方法,而接口則包括類要定義的方法,這些方法都是抽像的,接口不能像類那樣實例成一個對象,但接口可以被類實現(xiàn),一個實現(xiàn)接口的類,必須實現(xiàn)接口內(nèi)所描述的所有方法,否則就必須聲明為抽象類。

      從本質(zhì)上講,接口是一種特殊的抽象類,這種抽象類中只包含常量和方法的定義,而沒有變量和方法的實現(xiàn)。接口的出現(xiàn)主要就是為了解決類無法進行多重繼承的缺點。

      接口和類的區(qū)別如下表所示

      (3)數(shù)組。數(shù)組和C語言中的數(shù)據(jù)相似,數(shù)組用來組織多個相同類型的數(shù)據(jù),基本數(shù)據(jù)類型可以定義成數(shù)組,引用數(shù)據(jù)類型也可以定義成數(shù)組,如字符串?dāng)?shù)組就是一個引用數(shù)據(jù)類型的數(shù)組。

      從概念上說,引用數(shù)據(jù)類型的標(biāo)識符表示的是一片內(nèi)存連續(xù)空間的首地址,這個地址指向堆空間的一片區(qū)域,用于存放引用數(shù)據(jù)類型的具體內(nèi)容。

      如int[] arr1={1,2,3,4};

      int[] arr2=arr1;

      以上語句在內(nèi)存中存放的情況如圖2所示。

      圖2 引用型數(shù)據(jù)內(nèi)容存儲情況

      這時如果修改數(shù)組arr2的某個元素的值,則數(shù)組arr1中指定的元素的值也會發(fā)生變化。

      表2 接口和類的區(qū)別

      3 數(shù)據(jù)類型之間的轉(zhuǎn)換

      Java是強數(shù)據(jù)類型的編程語言,要求參與運算的所有量都必須有明確的數(shù)據(jù)類型,同時結(jié)果的數(shù)據(jù)類型會根據(jù)運算量的類型來確定。

      (1)自動轉(zhuǎn)換

      類型自動轉(zhuǎn)換是指在運算過程中,根據(jù)運算規(guī)則和參與運算的運算量類型,系統(tǒng)會自動進行轉(zhuǎn)換某些運算量的類型。在Java的8種基本數(shù)據(jù)類型中,除boolean類型外,其它的7種數(shù)據(jù)類型的數(shù)據(jù)都是可以進行運算的,但由于他們所占內(nèi)存的位數(shù)不同,因此在進行運算時首先要將低位數(shù)的操作數(shù)轉(zhuǎn)換為較高位數(shù)的操作數(shù),之后再進行運算,結(jié)果也是較高位數(shù)的類型,具體如下表所示時就會報錯,這時我們就需要進行強制類型轉(zhuǎn)換,即為c=(char)(c-32)

      (3)使用方法進行轉(zhuǎn)換

      各種基本類型的轉(zhuǎn)換可以通過自動轉(zhuǎn)換或強制轉(zhuǎn)換進行,但如果要想將數(shù)值型與字符串進行轉(zhuǎn)換,就需要使用包裝類的方法來轉(zhuǎn)換數(shù)據(jù)類型了,接下來我們說一下int與String的轉(zhuǎn)換方式,其它基本類型與String的轉(zhuǎn)換方式可以參照int的轉(zhuǎn)換。

      (a)int轉(zhuǎn)換成String,使用整型包裝類Integer的toString()方法,例如:

      inti=123;

      String s=Integer.toString(i);

      除此之外還可以使用空字符串連接的方式巧妙的將整型轉(zhuǎn)換成字符串,如:

      inti=123;

      String s=””+i;

      (b)String轉(zhuǎn)換成int,使用整型包裝類Integer的parseInt()方法,例如:

      String s=”123”;

      inti=Integer.parseInt(s);

      使用這條語句時一定要保證被轉(zhuǎn)換的字符串去換雙引號后是一個整數(shù),不然就會報錯,因此使用此語句時建議進行異常處理。

      表3 系統(tǒng)自動類型轉(zhuǎn)換的規(guī)則

      (2)強制轉(zhuǎn)換

      強制轉(zhuǎn)換是一種顯性的轉(zhuǎn)換方式,其方法就是在要轉(zhuǎn)換的數(shù)據(jù)前加上(要轉(zhuǎn)換的數(shù)據(jù)類型的說明符),如:(int)3.5,就可以將雙精度數(shù)3.5強制轉(zhuǎn)換成整型數(shù)3。當(dāng)將高位數(shù)的數(shù)賦值給低位數(shù)的變量時,就必須進行強制類型轉(zhuǎn)換,否則系統(tǒng)就會報錯,強制類型轉(zhuǎn)換只能在除boolean外的7種基本數(shù)據(jù)類型間進行。

      例:

      char c=’a’;

      c=c-32;

      第二行程序是要將小寫字母轉(zhuǎn)換成大寫字母,按上面的規(guī)則,char和int運算的結(jié)果是int,賦值給char

      4 結(jié)論

      Java的數(shù)據(jù)類型較C語言更加的規(guī)范,這就要求編程人員對于參于運算的所有數(shù)據(jù)和運算結(jié)果的類型都要了然于胸,能否掌握各種數(shù)據(jù)類型之間的關(guān)系是學(xué)習(xí)Java面對第一難關(guān),需要反復(fù)的練習(xí)和不斷的感悟。

      猜你喜歡
      數(shù)據(jù)類型字符串數(shù)組
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      尋找勾股數(shù)組的歷程
      一種新的基于對稱性的字符串相似性處理算法
      范疇數(shù)據(jù)類型上的子類型*
      依據(jù)字符串匹配的中文分詞模型研究
      VB數(shù)組在for循環(huán)中的應(yīng)用
      考試周刊(2012年88期)2012-04-29 04:36:47
      一種針對Java中字符串的內(nèi)存管理方案
      小改字符串讓殺毒軟件閉嘴
      罗平县| 绍兴市| 鹤岗市| 武强县| 乡城县| 米泉市| 紫阳县| 璧山县| 寿阳县| 永德县| 云安县| 浮梁县| 清镇市| 庆安县| 嘉禾县| 乐山市| 德阳市| 南昌县| 宁德市| 东阿县| 屏山县| 甘孜县| 上饶县| 应城市| 清镇市| 小金县| 呼伦贝尔市| 泰兴市| 石林| 个旧市| 吉林省| 墨竹工卡县| 子洲县| 龙游县| 海兴县| 遂溪县| 水富县| 湟中县| 牡丹江市| 石嘴山市| 孙吴县|