Algorithmique et langage Java

Opérateurs arithmétiques

Les quatre opérations de base sur des nombres s'effectuent très classiquement à l'aide des opérateurs +,-,* et /.
On dispose également de l'opérateur modulo % qui donne le reste de la division entière du premier terme par le second.

Examinez l'affichage produit par le programme suivant, en regardant ce que donne chaque ligne de code comportant un opérateur:

package initial;
public class OperateursNum {
	public static void main(String[] args) {
		ConsoleTexte mc=new ConsoleTexte();
		int n=5;
		double r=5;
		mc.ecritln(n+n);
		mc.ecritln(3*n);
		mc.ecritln(n/2);
		mc.ecritln(n%2);
		mc.ecritln("_________");
		mc.ecritln(r+r);
		mc.ecritln(3*r);
		mc.ecritln(r/2);
		mc.ecritln(r%2);
		mc.ecritln("_________");
		mc.ecritln(r*n);
	}
}
Quel est le type du résultat d'une opération effectuée entre 2 entiers ? Entre 2 réels ? Entre un entier et un réel ?

Modifier le programme ainsi :

package initial;
public class OperateursNum {
	public static void main(String[] args) {
		final int n=5;
		double d;
		ConsoleTexte mc=new ConsoleTexte();
		mc.ecritln(n+n);
		mc.ecritln(3*n);
		mc.ecritln(n/2);
		mc.ecritln(n%2);
		mc.ecritln("_________");
		d=n/2;
		mc.ecritln(d);
	}

}

Justifier la valeur et le format d'affichage du dernier résultat.

Remarque : le mot-clé final rajouté dans cette seconde version du programme avant la déclaration de n est facultatif et sert à signaler qu'une fois la valeur de la variable affectée, elle ne pourra plus être modifiée ensuite. De fait, cette variable est alors une constante. Si vous essayez d'ajouter une ligne affectant une valeur à la variable final n vous obtiendrez une erreur de compilation.

Dans ces deux programmes d'exemple on n'a pas utilisé les formats les plus économiques en terme d'occupation mémoire : pour stocker la valeur "5" un byte (comme format entier) ou un float (comme format réel) auraient suffit. Cependant les formats int et double sont les formats par défaut utilisés de manière intermédiaire par Java, ce qui les rend les plus simples à utiliser.

 
Licence Creative Commons
licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé
Auteur : Nathalie Bonnin
Professeur de Physique, Chimie, Informatique au lycée La Martinière Monplaisir (Lyon 8ème)
Contact :
nathalie.bonnin (chez) scientillula.net
Licence Creative Commons
La totalité du contenu du site Scientillula.net appartient à Nathalie Bonnin et est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé