久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

數(shù)據(jù)類型

來自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu)中的定義是一個(gè)值的集合以及定義在這個(gè)值集上的一組操作。 變量是用來存儲(chǔ)值的所在處;它們有名字和數(shù)據(jù)類型。變量的數(shù)據(jù)類型決定了如何將代表這些值的位存儲(chǔ)到計(jì)算機(jī)內(nèi)存中。在聲明變量時(shí)也可指定它的數(shù)據(jù)類型。所有變量都具有數(shù)據(jù)類型,以決定能夠存儲(chǔ)哪種數(shù)據(jù)。

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

數(shù)據(jù)類型出現(xiàn)的原因[ ]

數(shù)據(jù)類型的出現(xiàn),是因?yàn)?a href="/wiki/%E7%94%B5%E8%84%91" class="mw-redirect" title="電腦">電腦內(nèi)存有限。 把數(shù)據(jù)分成所需內(nèi)存大小不同的數(shù)據(jù),編程的時(shí)候需要用大數(shù)據(jù)的時(shí)候才需要申請(qǐng)大內(nèi)存,就可以充分利用內(nèi)存。

數(shù)據(jù)類型簡(jiǎn)介[ ]

  • 根據(jù)缺省規(guī)定,如果在聲明中沒有說明數(shù)據(jù)類型,則令變量的數(shù)據(jù)類型為 Variant。Variant 數(shù)據(jù)類型很象一條變色龍— 它可在不同場(chǎng)合代表不同數(shù)據(jù)類型。當(dāng)指定變量為 Variant 變量時(shí),不必在數(shù)據(jù)類型之間進(jìn)行轉(zhuǎn)換,Visual Basic 會(huì)自動(dòng)完成各種必要的轉(zhuǎn)換。
  • 如果知道變量確實(shí)總是存儲(chǔ)特定類型的數(shù)據(jù),并且還聲明了這種特定類型的變量,則 Visual Basic 會(huì)以更高的效率處理這個(gè)數(shù)據(jù)。例如,存儲(chǔ)人名的變量最好表示成 String 數(shù)據(jù)類型,因?yàn)槊挚偸怯勺址M成。
  • 除變量外,數(shù)據(jù)類型也用于其它場(chǎng)合。在給屬性賦值時(shí),這個(gè)值就有數(shù)據(jù)類型;函數(shù)的參數(shù)也有數(shù)據(jù)類型。事實(shí)上,在 Visual Basic 中,凡是與數(shù)據(jù)有關(guān)的東西就與數(shù)據(jù)類型有關(guān)。
  • 也可聲明任何基本類型的數(shù)組。

帶數(shù)據(jù)類型的變量[ ]

1、在使用非 Variant 變量之前,必須使用 Private、Public、DimStatic 語句將變量聲明為 As type。例如,下列語句分別聲明了 Integer、Double、String 和 Currency 類型的變量:

  • Private I As Integer
  • Dim Amt As Double
  • Static YourName As String
  • Public BillsPaid As Currency

2、一個(gè)聲明語句可將多個(gè)聲明組合起來,請(qǐng)看下列語句:

  • Private I As Integer,Amt As Double
  • Private YourName As String,BillsPaid As Currency
  • Private Test,Amount,J As Integer

3、如果不提供數(shù)據(jù)類型,則指定變量為缺省類型。在上例中,變量 Test 和 Amount 是 Variant 數(shù)據(jù)類型。如果由于其它編程語言的經(jīng)驗(yàn)使人感到同一個(gè)聲明語句中的所有變量都有相同的指定數(shù)據(jù)類型(此例中為 Integer),那么,此處的結(jié)果可能會(huì)令人感到新鮮。

幾種數(shù)據(jù)類型范圍[ ]

數(shù)據(jù)類型 大小 范圍
整數(shù)類型
Boolean 1bit 0 至 1
Byte 8bit 0 至 255
Word 2 字節(jié) 0 至 65535
Double Word 4 字節(jié),32bit 0 至 4,294,967,295
Integer 4 字節(jié),32bit –2,147,483,648 至 2,147,483,647
Double Integer 8 字節(jié),64bit –9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
浮點(diǎn)類型
浮點(diǎn)數(shù) 4 位元組 1E-37 至 1E+37 (6 個(gè)小數(shù)位數(shù))
Double Float 8 位元組 1E-307 至 1E+308 (15 個(gè)小數(shù)位數(shù))

常見的幾種數(shù)據(jù)類型簡(jiǎn)介[ ]

Numeric[ ]

  • Visual Basic 支持幾種 Numeric 數(shù)據(jù)類型— Integer(整型)、Long(長(zhǎng)整型)、Single(單精度浮點(diǎn)型)、Double(雙精度浮點(diǎn)型)和 Currency(貨幣型)。與 Variant 類型相比,Numeric 類型占用的存儲(chǔ)空間通常要少。
  • 如果知道變量總是存放整數(shù)(如 12 )而不是帶小數(shù)點(diǎn)的數(shù)字(如 3.57),就應(yīng)當(dāng)將它聲明為 Integer 類型或 Long 類型。整數(shù)的運(yùn)算速度較快,而且比其它數(shù)據(jù)類型占據(jù)的內(nèi)存要少。

Byte[ ]

  • 如果變量包含二進(jìn)制數(shù),則將它聲明為 Byte 數(shù)據(jù)類型的數(shù)組。在轉(zhuǎn)換格式期間用 Byte 變量存儲(chǔ)二進(jìn)制數(shù)據(jù)就可保留數(shù)據(jù)。當(dāng) String 變量在 ANSIUnicode 格式間進(jìn)行轉(zhuǎn)換時(shí),變量中的任何二進(jìn)制數(shù)據(jù)都會(huì)遭到破壞。在下列任何一種情況下,Visual Basic 都會(huì)自動(dòng)在 ANSI 和 Unicode 之間進(jìn)行轉(zhuǎn)換:
  1. 讀文件時(shí)
  2. 寫文件時(shí)
  3. 調(diào)用 DLL 時(shí)
  4. 調(diào)用對(duì)象的方法和屬性時(shí)
  • 除一元減法外,所有可對(duì)整數(shù)進(jìn)行操作的運(yùn)算符均可操作 Byte 數(shù)據(jù)類型。因?yàn)?Byte 是從 0 - 255 的無符號(hào)類型,所以不能表示負(fù)數(shù)。因此,在進(jìn)行一元減法運(yùn)算時(shí),Visual Basic 首先將 Byte 轉(zhuǎn)換為符號(hào)整數(shù)。
  • 所有數(shù)值變量都可相互賦值,也可對(duì) Variant 類型變量賦值。 在將浮點(diǎn)數(shù)賦予整數(shù)之前, Visual Basic要將浮點(diǎn)數(shù)的小數(shù)部分四舍五入,而不是將小數(shù)部分去掉。

String[ ]

  • 如果變量總是包含字符串而從不包含數(shù)值,就可將其聲明為 String 類型。
 Private S As String
  • 然后可將字符串賦予這個(gè)變量,并用字符串函數(shù)對(duì)它進(jìn)行操作。
 S = "Database"
 S = Left (S,4)
  • 按照缺省規(guī)定,String 變量或參數(shù)是一個(gè)可變長(zhǎng)度的字符串,隨著對(duì)字符串賦予新數(shù)據(jù),它的長(zhǎng)度可增可減。 也可以聲明字符串具有固定長(zhǎng)度??捎靡韵抡Z法聲明一個(gè)定長(zhǎng)字符串:
 String * size
  • 為了聲明一個(gè)長(zhǎng)度為 50 字符的字符串,可用下列語句:
 Dim EmpName As String * 50
  • 如果賦予字符串的字符少于 50 個(gè),則用空格將 EmpName 的不足部分填滿。如果賦予字符串的長(zhǎng)度太長(zhǎng),已不能成為定長(zhǎng)字符串,則 Visual Basic 會(huì)直接截去超出部分的字符。
  • 因?yàn)槎ㄩL(zhǎng)字符串用空格填充尾部多余的空間,所以在處理定長(zhǎng)字符串時(shí)可發(fā)現(xiàn),刪除空格的 TrimRTrim 函數(shù)是很有用的。
  • 可將標(biāo)準(zhǔn)模塊中的定長(zhǎng)字符串聲明為 Public 或 Private。在窗體和類模塊中,必須將定長(zhǎng)字符串聲明為 Private。

Boolean[ ]

  • 若變量的值只是“true/false”、“yes/no”、“on/off”信息,則可將它聲明為 Boolean 類型。Boolean 的缺省值為 False。在下面的例子中,blnRunning 是 Boolean 變量,存儲(chǔ)簡(jiǎn)單的 yes/no 設(shè)置。
 Dim blnRunning As Boolean
 If Recorder.Direction = 1 Then
 blnRunning = True
 End if

Date[ ]

  • Date 和 Time 值既可包含在特定的 Date 數(shù)據(jù)類型中,又可包含在 Variant 變量中。一般的 Date 特性適用于這兩種類型。
  • 當(dāng)其它數(shù)值數(shù)據(jù)類型轉(zhuǎn)換為 Date 時(shí),小數(shù)點(diǎn)左邊的值表示 Date 信息,小數(shù)點(diǎn)右邊的值則代表 Time。午夜為 0,正午為 0.5。負(fù)數(shù)表示公元 1899 年 12 月 31 日之前的 Date。

Object[ ]

  • Object 變量作為 32 位(4 個(gè)字節(jié))地址來存儲(chǔ),該地址可引用應(yīng)用程序中或某些其它應(yīng)用程序中的對(duì)象??梢噪S后(用 Set 語句)指定一個(gè)被聲明為 Object 的變量去引用應(yīng)用程序所識(shí)別的任何實(shí)際對(duì)象。
 Dim objDb As Object
 Set objDb = OpenDatabase ("c:\Vb5\Biblio.mdb")
  • 在聲明對(duì)象變量時(shí),請(qǐng)?jiān)囉锰囟ǖ念?,而不用一般?Object(例如用 TextBox 而不用 Control,或者象上面的例子那樣,用 Database 取代 Object)。運(yùn)行應(yīng)用程序之前,Visual Basic 可以決定引用特定類型對(duì)象的屬性和方法。因此,應(yīng)用程序在運(yùn)行時(shí)速度會(huì)更快。在“對(duì)象瀏覽器”中列舉了特定的類。
  • 當(dāng)使用其它應(yīng)用程序的對(duì)象,并在“對(duì)象瀏覽器”中的“類”列表中列舉對(duì)象時(shí),不要用 Variant 或一般的 Object,而應(yīng)聲明對(duì)象。這樣可確保 Visual Basic 能夠識(shí)別引用的特定類型對(duì)象,在運(yùn)行時(shí)解決引用問題。

Variant[ ]

  • Variant 變量能夠存儲(chǔ)所有系統(tǒng)定義類型的數(shù)據(jù)。如果把它們賦予 Variant 變量,則不必在這些數(shù)據(jù)的類型間進(jìn)行轉(zhuǎn)換; Visual Basic 會(huì)自動(dòng)完成任何必要的轉(zhuǎn)換。例如:
 Dim SomeValue '缺省為 Variant。
 SomeValue = "17" 'SomeValue包含 "17"(雙字符的串)。
 SomeValue = SomeValue - 15 '現(xiàn)在, SomeValue 包含數(shù)值 2。
 SomeValue = "U" & SomeValue '現(xiàn)在, SomeValue 包含 "U2" (雙字符的串)。
  • 不必過多關(guān)注 Variant 變量中數(shù)據(jù)的類型就可對(duì) Variant 變量進(jìn)行操作,但須避免落入陷阱。
  • 如果對(duì) Variant 變量進(jìn)行數(shù)學(xué)運(yùn)算或函數(shù)運(yùn)算,則 Variant 必包含某個(gè)數(shù)。
  • 如果正在連接兩個(gè)字符串,則用 " & " 操作符而不用 " + " 操作符。
  • 除了可以像其它標(biāo)準(zhǔn)數(shù)據(jù)類型一樣操作外,Variants 還包含三種特定值:Empty,NullError。
  • 有時(shí)需要知道是否已將一個(gè)值賦予所創(chuàng)建的變量。在賦值之前,Variant 變量具有值 Empty。值 Empty 是異于0、零長(zhǎng)度字符串 ("") 或 Null 值的特定值??捎?IsEmpty 函數(shù)測(cè)試 Empty 值:
 If IsEmpty (Z) Then Z = 0
  • 當(dāng) Variant 變量包含 Empty 值時(shí),可在表達(dá)式中使用它;將其作為 0 或零長(zhǎng)度字符串來處理,這要根據(jù)表達(dá)式來定。
  • 只要將任何值(包括 0、零長(zhǎng)度字符串或 Null)賦予 Variant 變量,Empty 值就會(huì)消失。而將關(guān)鍵字 Empty 賦予 Variant 變量,就可將 Variant 變量恢復(fù)為 Empty。

Null和Error值[ ]

  • Variant 數(shù)據(jù)類型還可包含一特定值:Null。
  • Null通常用于數(shù)據(jù)庫應(yīng)用程序,表示未知數(shù)據(jù)或丟失的數(shù)據(jù)。 由于在數(shù)據(jù)庫中使用 Null 方法,Null 具有某些唯一的特性:
  • 對(duì)包含 Null 的表達(dá)式,計(jì)算結(jié)果總是 Null。于是說 Null 通過表達(dá)式“傳播”;如果表達(dá)式的部分之值為 Null,那么整個(gè)表達(dá)式的值也為 Null。
  • 將 Null 值、含 Null 的 Variant 變量或計(jì)算結(jié)果為 Null 的表達(dá)式作為參數(shù)傳遞給大多數(shù)函數(shù),將會(huì)使函數(shù)返回 Null。
  • Null 值經(jīng)由返回 Variant 數(shù)據(jù)類型的內(nèi)在函數(shù)傳播。
  • 也可用 Null 關(guān)鍵字指定 Null 值。
 Z = Null
  • 也可用 IsNull 函數(shù)測(cè)試 Variant 變量是否包含 Null 值。
 If IsNull (X) And IsNull (Y) Then
 Z = Null
 Else
 Z = 0
 End If
  • 如果將 Null 值賦予 Variant 以外的任何其它類型變量,則將出現(xiàn)可以捕獲的錯(cuò)誤。而將 Null 值賦予 Variant 則不會(huì)發(fā)生錯(cuò)誤,Null 將通過包含 Variant 變量的表達(dá)式傳播(盡管 Null 并不通過某些函數(shù)來傳播)??梢詮娜魏尉哂?Variant 返回值的函數(shù)過程返回 Null。
  • 在 Variant 中,Error 是特定值,指出已發(fā)生的過程中的錯(cuò)誤狀態(tài)。但是,與其它類型錯(cuò)誤不同,這里并未發(fā)生正常的應(yīng)用程序級(jí)的錯(cuò)誤處理。因此,程序員或應(yīng)用程序本身可根據(jù) Error 值進(jìn)行取舍。利用 CVErr 函數(shù)將實(shí)數(shù)轉(zhuǎn)換成錯(cuò)誤值就可建立 Error 值。

VB中的數(shù)據(jù)類型[ ]

  • Byte 1 個(gè)字節(jié) 0 到 255
  • Boolean 2 個(gè)字節(jié) True 或 False
  • Integer 2 個(gè)字節(jié) -32,768 到 32,767
  • Long(長(zhǎng)整型) 4 個(gè)字節(jié) -2,147,483,648 到 2,147,483,647
  • Single(單精度浮點(diǎn)型) 4 個(gè)字節(jié) 負(fù)數(shù)時(shí)從 -3.402823E38 到 -1.401298E-45;正數(shù)時(shí)從 1.401298E-45 到 3.402823E38
  • Double(雙精度浮點(diǎn)型) 8 個(gè)字節(jié) 負(fù)數(shù)時(shí)從 -1.79769313486232E308 到-4.94065645841247E-324;正數(shù)時(shí)從4.94065645841247E-324 到 1.79769313486232E308
  • Currency(變比整型) 8 個(gè)字節(jié) 從 -922,337,203,685,477.5808 到 922,337,203,685,477.5807
  • Decimal 14 個(gè)字節(jié) 沒有小數(shù)點(diǎn)時(shí)為 +/-79,228,162,514,264,337,593,543,950,335,而小數(shù)點(diǎn)右邊有 28 位數(shù)時(shí)為 +/-7.9228162514264337593543950335;最小的非零值為 +/-0.0000000000000000000000000001
  • Date 8 個(gè)字節(jié) 100 年 1 月 1 日 到 9999 年 12 月 31 日
  • Object 4 個(gè)字節(jié) 任何 Object 引用
  • String(變長(zhǎng)) 10 字節(jié)加字符串長(zhǎng)度 0 到大約 20 億
  • String(定長(zhǎng)) 字符串長(zhǎng)度 1 到大約 65,400
  • Variant(數(shù)字) 16 個(gè)字節(jié) 任何數(shù)字值,最大可達(dá) Double 的范圍
  • Variant(字符) 22 個(gè)字節(jié)加字符串長(zhǎng)度 與變長(zhǎng) String 有相同的范圍
  • 用戶自定義(利用 Type) 所有元素所需數(shù)目 每個(gè)元素的范圍與它本身的數(shù)據(jù)類型的范圍相同。

數(shù)據(jù)類型轉(zhuǎn)換[ ]

Visual Basic 提供了幾種轉(zhuǎn)換函數(shù),可用來將值轉(zhuǎn)換成特定數(shù)據(jù)類型。例如,用 CCur 函數(shù)將值轉(zhuǎn)換成 Currency 類型:

  • PayPerWeek = CCur (hours * hourlyPay)

轉(zhuǎn)換函數(shù) 將表達(dá)式轉(zhuǎn)換成

  • Cbool Boolean
  • Cbyte Byte
  • Ccur Currency
  • Cdate Date
  • CDbl Double
  • Cint Integer
  • CLng Long
  • CSng Single
  • CStr String
  • Cvar Variant
  • CVErr Error

在個(gè)編程語言中,所表達(dá)的數(shù)據(jù)類型轉(zhuǎn)換方式各有不同,例如,在java中,數(shù)據(jù)類型轉(zhuǎn)換是這樣來描述的:

public class Base{
    public static final String FOO = "foo";
    public static void main(String[] args){
    Base b = new Base();
    Sub s = new Sub();
    System.out.print(((Base)s).FOO);
    }
}
class Sub extends Base{public static final String FOO = "bar";}

相關(guān)條目[ ]

參考來源[ ]