Une variable est un emplacement mémoire pouvant contenir une valeur. Les deux opérations que l'on peut faire sur une variable sont :
L'écriture affecte une valeur à la variable ; elle l'initialise, quand elle lui donne une valeur initiale, ou bien elle remplace une valeur précédemment écrite par une nouvelle valeur.
L'affectation var = exp est une expression qui permet d'affecter la valeur de l'expression var = exp à la variable var. Cette expression n'est correctement typée que si le type de exp est égal au type de var ou en est un sous-type. Comme var = exp est une expression, elle a une valeur, qui est celle de exp. Cette évaluation a en outre pour effet d'écrire cette valeur dans la variable var, autrement dit, d'affecter cette valeur à var. La propriété de sûreté de typage garantit alors que la valeur affectée à var est du même type que var ou en est un sous-type.
Il existe plusieurs catégories de variables :