6
votes

Java String Concaténation avec + opérateur

Je suis confondu avec la concaténation de la chaîne.

String s1 = 20 + 30 + "abc" + (10 + 10);
String s2 = 20 + 30 + "abc" + 10 + 10;
System.out.println(s1);
System.out.println(s2);


5 Réponses :


10
votes

L'ajout est laissé associatif. Prendre le premier cas xxx

dans le second cas: xxx


0 commentaires

1
votes

Ajout au concept d'associativité, vous pouvez vous assurer que deux entiers ne sont jamais ajoutés ensemble en utilisant des parenthèses pour associer toujours une chaîne avec un entier afin que l'opération de concaténation souhaitée ait lieu plutôt que d'addition.

2030abc1010


0 commentaires

0
votes

Vous devrez commencer par une chaîne vide.

Donc, cela pourrait fonctionner: xxx

ou ceci: xxx


0 commentaires

0
votes

Vous devez connaître des règles:
1, priorité de l'opérateur Java, la plupart des + priorité de signe.
3, le résultat est la somme, si les deux côtés du signe + sont entier, sinon une concaténation.


0 commentaires

1
votes

Aussi, pour ajouter à cette rubrique, comme la mauvaise partie de la réponse de Jonathan Schober m'a offert sur une chose à garder à l'esprit:

a + = quelque chose n'est pas égal à a = A + : le + = évalue d'abord le côté droit et ne l'ajoute que sur le côté gauche. Donc, il doit être réécrit, il est équivalent à: xxx

montrant la différence xxx


0 commentaires