2012-11-26 6 views
0

Je suis pressé pour le temps et la pensée va poster ma requête ici. Je suis nouveau à Java et cela devrait être très élémentaire mais je n'ai pas pu obtenir de réponse de Google.Que signifie cette expression Java?

Que signifie la deuxième ligne ci-dessous?

double mutatePercent = 0.01; 
boolean m1 = rand.nextFloat() <= mutatePercent; 

Je pensais que < = signifiait inférieur ou égal à, mais cela ne semble pas dans l'utilisation ci-dessus. Comment la valeur de m1 est-elle décidée?

Merci!

+2

Oui, il est inférieur ou égal à. Il affecte le résultat de la comparaison (qui est de type booléen) à m1. – nhahtdh

Répondre

0

Je pensais que < = signifiait inférieur ou égal à

Il fait.

mais cela ne semble pas le cas dans l'utilisation ci-dessus.

Pourquoi pas?


boolean m1 = rand.nextFloat() <= mutatePercent; 

Affecte la valeur de la condition « Est-ce flotteur aléatoire inférieur ou égal à 0.01? » à la variable m1. Donc, m1 est vrai si le nombre généré aléatoirement est inférieur ou égal à 0.01.

0

C'est exactement ce que cela signifie. La deuxième ligne effectue le test "inférieur à ou égal" et assigne le résultat - ie. true ou false - à la variable booléenne m1.

4

La ligne

boolean m1 = rand.nextFloat() <= mutatePercent; 

est de la forme

boolean m1 = <some boolean value> 

et

rand.nextFloat() <= mutatePercent; 

se traduit par une valeur booléenne, de sorte que le résultat de la comparaison rand.nextFloat() <= mutatePercent est affecté à la boolean variable m1