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.


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)