Exercices JAVA : terminologie, Structure, typage et conversion de type,Opérateurs relationnels

Exercices JAVA

Exercice 1 : terminologie

Soit le morceau de code Java suivant : (x * 3) + 1
• quel nom donne-t-on `a ce morceau de code tout entier ?
• quels sont les opérateurs ?
• quels sont les opérandes de * ?
• quels sont les opérandes de + ?
• quel genre de chose est x dans ce morceau de code ?
• quel(s) type(s) a ou peut éventuellement avoir x ?
• quel est le type de 3 et 1 ?
• quel est le type de (x * 3) + 1 ?
• quelle est la valeur de (x * 3) + 1 ?

Exercice 2 : typage et conversion de type

Nous donnons ci-dessous des expressions avec le cas échéant les déclarations qui permettent de préciser leur sens.
Pour chacune de ces expressions, dˆ?tes si elle est correctement typée ou non. Si elle est correcte, donnez son type et sa
valeur. Notez bien qu’une expression incorrectement typée n’a ni type ni valeur. Elle n’a pas de sens.
1. 37.6 + 15
2. char c = ’a’;
c != ’d’;
3. char c = ’a’;
c + true;
4. char c = ’a’;
’c’ != c;
5. double x = 12.6;
(x + 5.6) < 12;
6. double x = 12.6;
(x + 5.6) < true;
7. double x = 12.6;
char c = ’a’;
(x < 15.0) && (c < ’z’);
8. double x = 12.6;
(x < 15.0) == true;
9. double x = 12.6;
char c = ’a’;
(x < 15.0) <= (c < ’z’);

Exercice 3 : structure d’un programme

Dans le programme suivant , dire quelles sont les les declarations, les appels de methode et les affectations :

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Td1 {
public static void main ( String [ ] arguments )
{
Terminal.ecrireStringln ( ‘ ‘ exo1 ’ ’ ) ;
int n=2 ;
char c ;
boolean b ;
Terminal.ecrireDoubleln (3.0+2) ;
n =3+2;
n = n+n ;
i n t m;
m= n + ( 2 * ( n + 2 ) ) ;
Terminal.ecrireIntln (m) ;
Terminal.ecrireIntln(n) ;
}
}

Exercice 2.4 : exemples du cours

Pour chaque programme, déterminez le résultat de son exécution. Opérateurs booléans
Tous les opérateurs booléans sont binaires, sauf l’opérateur de négation ! qui est unaire. Le résultat d’une expression
booléenne est un booléan.
– && (de conjonction, “et”) ,
– || (de disjonction, “or”), et
– ! (n´egation, “non”)

1
2
3
4
5
6
7
8
9
class Test 2 {
public static void main ( String [ ] arg v ){
Terminal.ecrireBooleanln(true && false ) ;
boolean a = true ;
boolean b = true ;
boolean c = true ;
Terminal.ecrireBooleanln (!a | | ( b && c ) ) ;
    }
}

 

Opérateurs relationnels (de comparaison)

Permettent de comparer deux valeurs ou expressions toutes les deux de de type numérique ou char et renvoient
une valeur booléenne en résultat.

 == égalité. Renvoie true si les deux valeurs comparées sont égales, false sinon.

Exemple : 1==4 renvoie false, ’a’==’a’ renvoie true < est plus petit. Renvoie true si la premi`ere valeur est strictement plus petite que la deuxieme, false sinon.

Exemple : 1<4 renvoie true, ’a’ < ’b’ renvoie true (ordre entre caract`eres ascii).