C'est quoi le problème ?
Tes tests booléens renvoient la bonne valeur, je t'explique sur cet exemple :
N=5; P=2;
B= (N++ <P)|| (P++ !=3);
Le test N++<P est effectué avant l'incrémentation du N, donc N = 5 au moment du test.
N < P renvoi donc false.
Pareil pour P, le test s'effectue avant l'incrémentation, donc il est égal à 2 --> P != 3 renvoi true.
--> B=(false || true) --> true
Par contre quand t'incrémentes avant avec ++ devant la variable, l'incrémentation s'effectue avant le test boolean.
Ce qui te pertube c'est que tes sys.out te renvoient systématiquement les variables APRES incrementation alors que tes tests booleens s'effectuent dans les 2 premiers cas AVANT incrémentation