Variables are expressions that can be used in programs to store values, like e.g. sensor reading from an analog pin.
val = analogRead(2);
val is what we call a variable. It is a container for data inside the memory of Arduino. The name of the variable is val in this case, but we could have chosen anything else like e.g. inputPin or sensorA.
You can choose any word that is not already existing in the language. The pre-defined words in the language are also called keywords. Examples of keywords are: digitalRead, pinMode, or setup.
Again it is possible to choose completely random names like tomato or I_love_Sushi but this will make much more complicated for other people to read your code and it is not recommended.
Variables have to be declared before they are used. To declare a variable implies to define its type, and an initial value.
int val = 0;
The previous statement informs that the variable val is of the type int and that its initial value is zero.
Possible types for variables are: