Computer Programming - Data Types

Let's discuss about a very simple but very important concept available in almost all the programming languages which is called data types. As its name indicates, a data type represents a type of the data which you can process using your computer program. It can be numeric, alphanumeric, decimal, etc.
Apart from Computer Programming, let's take a nursery class problem to add two whole numbers 10 & 20, which we can do simply as follows:
10 + 20
Let's take another problem where we want to add two decimal numbers 10.50 & 20.50, which will be written as follows:
10.50 + 20.50
Above two examples are straight forward now let's take one example where we want to record student information in a notebook. Here is following important information, which we can record:
  • Name:
  • Class:
  • Section:
  • Age:
  • Sex:
Now, let's put one student record as per the given requirement:
  • Name: Zara Ali
  • Class: 6th
  • Section: J
  • Age: 13
  • Sex: F
First example dealt whole numbers and second example added two numbers with decimals where as third example is dealing with a mix of different data. Let's put it as follows:
  • Student name "Zara Ali" is a sequence of characters which is also called a string.
  • Student class "6th" has been represented by a mix of whole number and a string of two characters. Such a mix is called alphanumeric.
  • Student section has been represented by single character which is 'J'.
  • Student age has been represented by whole number which is 13.
  • Student sex has been represented by a single character which is 'F'.
This way we realized that in our day-2-day life we deal with different types of data like strings, characters, whole numbers which is also called integers, decimal numbers which is also called floating point numbers.
Similar way when we write our computer program to process different types of data, we need to specify its type clearly otherwise computer does not understand how different operations can be performed on that given data. Different programming languages use different keywords to specify different data types. For example C and Java programming languages use int to specify integer data whereas char specifies a character data type.
Subsequent chapters will show you how to use different data types in different situations. For now let's check what are the important data types available in C, Java and Python programming languages and what are the keywords we will use to specify those data types.

C & Java Data Types

Programming languages C and Java support almost same set of data types, though Java supports additional data types. For now, we are taking few common data types supported by both the programming languages:
TypeKeywordValue range which can be represented by this data type
Characterchar-128 to 127 or 0 to 255
Numberint-32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
Small Numbershort-32,768 to 32,767
Long Numberlong-2,147,483,648 to 2,147,483,647
Decimal Numberfloat1.2E-38 to 3.4E+38 till 6 decimal places
These data types are called primitive data types and you can use these data types to build more complex data types, which are called user-defined data type, for example a string will be a sequence of characters.

Python Data Types

Python has five standard data types but this programming language does not make use of any keyword to specify a particular data type rather Python is intelligent enough to understand given data type automatically.
  • Numbers
  • String
  • List
  • Tuple
  • Dictionary
Here, Number specifies all types of numbers including decimal numbers and string represents a sequence of characters with a length of 1 or more characters. For now, let's proceed with these two data types and skip List, Tuple and Dictionary, which are advanced data types in Python.
This session will teach you another most important concept of computer programming which is called variables. Actually, variables are the names you give to computer memory locations which are used to store values in a computer program.
For example, assume you want to store two values 10 and 20 in your program and at later stage you want to use these two values. Let's see how you will do it, here are the following three simple steps:
  • Create variables with appropriate names.
  • Store your values in those two variables.
  • Retrieve and use stored values from the variables.

Creating variables

Creating variables is also called declaring variables in C programming language. Different programming languages have different ways of creating variables inside your program. For example, C programming language has the following simple way of creating variables:
#include <stdio.h>

main()
{
   int a;
   int b;
}
Above program creates two variables, i.e., reserves two memory locations with names a and b. We created these variables using int keyword to specify variable data type which means we want to store integer values in these two variables. Similar way, you can create variables to store long, float, char or any other data type. For example:
/* variable to store long value */
long a;

/* variable to store float value */
float b;
You can create variables of similar type by putting them in a single line but separated by comma as follows:
#include <stdio.h>

main()
{
   int a, b;
}
Following are few important points to remember about variables:
  • A variable name can hold a single type of value. For example, if variable a has been defined int type, then it can store only integer.
  • C programming language requires a variable creation, i.e., declaration before its usage in your program. You can not use a variable name in your program without creating it, though programming language like Python allows you to use a variable name without creating it.
  • You can use a variable name only once inside your program. For example, if a variable a has been defined to store an integer value, then you can not define a again to store any other type of value.
  • There are programming languages like Python, PHP, Perl, etc., which do not want you to specify data type at the time of creating variables. So you can store integer, float or long without specifying their data type.
  • You can give any name to a variable like age, sex, salary, year1990 or anything else you like to give, but most of the programming languages allow to use only limited characters in their variables names. For now, I will suggest to use only a....z, A....Z, 0....9 in your variable names and start their names using alphabets only instead of digit.
  • Almost none of the programming languages allow to start their variable names with a digit, so 1990year will not be a valid variable name where as year1990 or ye1990ar are valid variable names.
Every programming language provides more rules related to variables and you will learn them when you will go in further detail of that programming language. But for now above rules are enough to proceed and let's see next section, which will teach you how to store values in defined variables.

Store values in variables

You have seen how we created variables in previous section. Now, let's store some values in those variables:
#include <stdio.h>

main()
{
   int a;
   int b;
   
   a = 10;
   b = 20;
}
Above program has two additional statements where we are storing 10 in variable a and 20 is being stored in variable b. Almost all the programming languages have similar way of storing values in variable where we keep variable name in the left hand side of an equal sign = and whatever value we want to store in the variable, we keep that value in the right hand side.
Now, we have completed two steps, first we created two variables and then we stored required values in those variables. Now variable a has value 10 and variable b has value 20. In other words we can say, when above program is executed, the memory location named a will hold 10 and memory location b will hold 20.

Access stored values in variables

If we do not make use of stored values in the variables then there is no point in creating variables and storing values in them. We know that above program has two variables a and b and they store values 10 and 20, respectively. So let's try to print the values stored in these two variables. Following is a C program, which prints the values stored in variables:
#include <stdio.h>

main()
{
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d\n", a );
   printf( "Value of b = %d\n", b );
   
}
When above program is executed, it produces the following result:
Value of a = 10
Value of b = 20
You must have seen printf() function in previous chapter where we had used it to print "Hello, World!". This time, we are using it to print the values of variables. We are making use of %d, which will be replaced with the values of given variable in printf() statements. We can print both values using a single printf() statement as follows:
#include <stdio.h>

main()
{
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}
When above program is executed, it produces the following result:
Value of a = 10 and value of b = 20
If you want to use float variable in C programming, then you will have to use %f instead of %d, and if you want to print a character value, then you will have to use %c. Similar way, different data types can be printed using different % and characters.

Variables in Java

Following is the equivalent program written in Java programming language. This program will create two variables a and b and very similar to C programming, then we assign 10 and 20 in these variables and finally print the values of the two variables in two ways:
public class DemoJava
{    
   public static void main(String []args) 
   {
   
      int a;
      int b;
   
      a = 10;
      b = 20;
   
      System.out.println("Value of a = " + a);
      System.out.println("Value of b = " + b); 
            
      System.out.println("Value of a = " + a + " and value of b = " + b);     
   }
}

Variables in Python

Following is the equivalent program written in Python. This program will create two variables a and b and same time assign 10 and 20 in those variables.
Python does not want you to specify data type at the time of variable creation and there is also no need of creating variable in advance before using it.
a = 10
b = 20
   
print "Value of a = ", a
print "Value of b = ", b

print "Value of a = ", a, " and value of b = ", b
Though you can use the following syntax in C and Java programming to declare variables and assign values at the same time:
#include <stdio.h>

main()
{
   int a = 10;
   int b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}