2) Précédence des opérateurs
Réécrire les expressions suivantes en éliminant toutes les parenthèses inutiles
1.a) (a + b) + (c + 11) // a + b + c + d
1.b) (a * b) – (c * 11) // a * b – c * 11
1.c) (a + b) – (c + 11) // a + b – (c + 11)
1.d) (a * b) / (c * 11) // a * b / (c * 11)
1.e) (((a + b) * c) % 11) // (a + b) * c % 11
1.f) (a + (-b)) / ((-c) % 11) // (a + -b) / (-c % 11) ou (a – b) / (-c % 11)
1.g) ((a == 15) && g) || (b == 15) // a==15 && g || b == 15
1.h) “Java “ + ((1 + 1) + “.“ + 0) // “Java “ + (1 + 1) + “.“ + 0
3) Syntaxe
Quelles sont les erreurs syntaxiques dans les suites d’instructions suivantes ?
2.a) if (a > b) System.out.println(“ suffisant ”) // il manque ; après (“ suffisant ”)
else System.out.println(“ insuffisant ”) ;
2.b) if (a > b) { System.out.println(“ suffisant ”) ; b := a } // b = a au lieu de b := a
// il manque ; après b = a
2.c) switch (a + b ) {case 11 : System.out.println(“ résultat : onze”) ; break ;
case c : System.out.println(“ résultat : “ + c) ; break ;
// les valeurs utilisées après case doivent être des
// expressions constantes
}
2.d) int j = 0 ;
for (int i == 2 ; i == 10 ; i + 2) {sum += i * i ; j++ ; } // i = 2 au lieu de i == 2
// i <= 10 au lieu de i ==
10
// mais ce n’est pas
une
// erreur de syntaxe
// i += 2 au lieu de i + 2