All programming languages have built in data types that are used when declaring variables (though not all programming languages have variables – don’t worry about this yet though!). Some very common data types, and the ones you need to know for the exam, are as follows:
| Type | Description | Memory Space | Example |
| Integer | a whole number from -2,147,483,648 through 2,147,483,647 | 4 bytes | 37,453 |
| Byte | a whole positive number from 0 to 255 | 1 byte | 12 |
| Real | Visual Basic does not use Real Numbers, instead it uses {Single} and {Double}, which both allow for decimal places | – | – |
| {Single} | 1.5 x 10-45Â to 3.4 x 1038 | 4 bytes | 1002.375 |
| {Double} | 5.0 x 10-324Â to 1.7 x 10308 | 8 bytes | 9997.775 |
| Decimal | 7.9228 x 10-28Â to 7.9228 x 1028 | 16 bytes | 3.8 |
| Boolean | either TRUE or FALSE Alternatively 1 or 0 Alternatively Yes or No |
4 bytes (!) | TRUE |
| Character | A single character | 2 bytes | j |
| String | A collection of characters | A unicode string with a maximum length of 2,147,483,647 characters | cabbage |
| Date/Time | There are several different types of date format that you can apply. 01/01/0001 to 12/31/9999 and times from 12:00:00 AM (midnight) through 11:59:59.9999999 PM | 8 bytes | 08/17/1924 14:34:23 |
Using these data types we can start to write a simple computer program:
dim name as stringdim age as integername = “Barry”age = 56.3 Console.writeline(“hello ” & name & “! you are ” & age & ” years old”)
Data types refer to an extensive system used for declaring variables or functions of different types. The type of a variable determines how much space it occupies in storage and how the bit pattern stored is interpreted.
DATA TYPES AVAILABLE IN VB.NET
VB.Net provides a wide range of data types. The following table shows all the data types available:
| Data Type | Storage Allocation | Value Range |
| Boolean | Depends on implementing platform | True or False |
| Byte | 1 byte | 0 through 255 (unsigned) |
| Char | 2 bytes | 0 through 65535 (unsigned) |
| Date | 8 bytes | 0:00:00 (midnight) on January 1, 0001 through 11:59:59 PM on December 31, 9999 |
| Decimal | 16 bytes | 0 through +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9…E+28) with no decimal point; 0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal |
| Double | 8 bytes | -1.79769313486231570E+308 through -4.94065645841246544E-324, for negative values
4.94065645841246544E-324 through 1.79769313486231570E+308, for positive values |
| Integer | 4 bytes | -2,147,483,648 through 2,147,483,647 (signed) |
| Long | 8 bytes | -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807(signed) |
| Object | 4 bytes on 32-bit platform
8 bytes on 64-bit platform |
Any type can be stored in a variable of type Object |
| SByte | 1 byte | -128 through 127 (signed) |
| Short | 2 bytes | -32,768 through 32,767 (signed) |
| Single | 4 bytes | -3.4028235E+38 through -1.401298E-45 for negative values;
1.401298E-45 through 3.4028235E+38 for positive values |
| String | Depends on implementing platform | 0 to approximately 2 billion Unicode characters |
| UInteger | 4 bytes | 0 through 4,294,967,295 (unsigned) |
| ULong | 8 bytes | 0 through 18,446,744,073,709,551,615 (unsigned) |
| User-Defined | Depends on implementing platform | Each member of the structure has a range determined by its data type and independent of the ranges of the other members |
| UShort | 2 bytes | 0 through 65,535 (unsigned) |



