CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] le "+="

ScientificBird
ScientificBird
Niveau 9
28 octobre 2014 à 13:35:05

Bonjour, je souhaite juste quelques précisions sur cette syntaxe, je l'utilise de plus en plus et je ne sais pas tellement comment ça fonctionne, et ça me travail :noel:

Donc je pose la question une bonne fois pour toute.

Prenons un truc tout con qui ne fonctionne pas :

----

int exemple = 0;
int var = 0;
int i = 0;

while (exemple == 0){

var += Math.pow(2, i);
i++;

}

----

C'est juste pour remettre la syntaxe en situation, ce code ne fait strictement rien. Il correspond à quoi ? On peut me l'expliquer en therme d'algorithme ? :noel:

Merci :)

ScientificBird
ScientificBird
Niveau 9
28 octobre 2014 à 14:09:52

Ok ! Merci, je peux travailler en paix désormais :noel:

UItraxion
UItraxion
Niveau 10
28 octobre 2014 à 16:17:20

Sache aussi qu'il est possible de l'utiliser avec plusieurs types, pas seulement des Int

Example :
String s = "Hello "
s += "World!"

Bon après pour la concatenation de string en Java sur des boucles ou sur plusieurs lignes, on préfère employer un StringBuilder, plus rapide, consomme moins de memoire, plus propre etc...Mais c'etait juste pour l'exemple

Aldebran
Aldebran
Niveau 10
28 octobre 2014 à 19:38:48

"Bon après pour la concatenation de string en Java sur des boucles ou sur plusieurs lignes, on préfère employer un StringBuilder, plus rapide, consomme moins de memoire, plus propre etc...Mais c'etait juste pour l'exemple "

En général, le compilateur utilise en interne un StringBuilder pour exécuter la concaténation de chaîne via l'opérateur +. Sur une machine virtuelle classique, les deux méthodes se valent strictement.

UItraxion
UItraxion
Niveau 10
28 octobre 2014 à 20:15:16

"En général, le compilateur utilise en interne un StringBuilder pour exécuter la concaténation de chaîne via l'opérateur +. Sur une machine virtuelle classique, les deux méthodes se valent strictement."

Oui, mais ca dépend des cas. Pas dans celui où tu produirais ta concatenation au sein d'une boucle. Par exemple :

String s = "";
for(int i = 0; i < 100; i++) {
s += i + ", ";
}

Par contre si tu inities une chaine de la manière suivante :

String s = "0, " + "1, " + "2, ";

Aucun intêret à déclarer un StringBuilder puisque le compilateur en utilisera un.

UItraxion
UItraxion
Niveau 10
28 octobre 2014 à 20:17:06

HommeMoyen m'a devancé :-(

ScientificBird
ScientificBird
Niveau 9
29 octobre 2014 à 00:58:01

Je vous remercie, je prends bonne note de tout ça ! :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment