Toon posts:

[java] long array, initiele waarden?

Pagina: 1
Acties:

Verwijderd

Topicstarter
krijgen de plaatsen van een long en int array een beginwaarde bij het creeëren, en zo ja, is dit dan 0?

alvast bedankt

Verwijderd

Nee. In theorie wel, in de praktijk moet je daar niet op rekenen.

  • ThE_ED
  • Registratie: Oktober 1999
  • Laatst online: 04-09 14:16

ThE_ED

Stuffed Animal

Op zaterdag 05 januari 2002 02:57 schreef joska het volgende:
Nee. In theorie wel, in de praktijk moet je daar niet op rekenen.
is het niet andersom :?

Ik ben fan van dingen


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op zaterdag 05 januari 2002 02:51 schreef Noble_Paladin het volgende:
krijgen de plaatsen van een long en int array een beginwaarde bij het creeëren, en zo ja, is dit dan 0?

alvast bedankt
Ik ga in ieder geval nooit uit van standaard initialisaties en je krijgt geloof ik ook een waarschuwing als je een variable wilt gebruiken die nog niet is geinitialiseerd
code:
1
2
int a; // geen initialisatie
int b=a+10;//foutmelding.. a is niet geinitialiseerd.

Je moet dus zelf initialiseren.

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Ghehe, het is zo simpel jongens...

Een class member wordt standaard op 0 geinitialiseerd.
Een stack variabele is ongedefinieerd.
code:
1
2
3
4
5
6
7
8
9
class blaat
{
 public long langeBla;  // <- die is 0

 public void functie()
 {
  long longBla2;  // Die is ongedefinieerd
 }
}

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Idd zoals al opgemerkt:

in java krijgen de vars een standaard waarde

int = 0;
float = 0.0f
double = 0.0
long = 0
char = /u0000
byte = 0
short = 0
boolean = false
object = null

Dit is vastgelegd en je kunt er op vertrouwen dat dit gebeurd.

Variabelen die in methodes aangemaakt worden hebben dit niet. (daarom kun je ook de compile error:" var may not have been initialized " krijgen :)

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Maar nu de vraag, hoe zit het met array members...


En zie hier:
http://www.javaworld.com/javaworld/javaqa/2000-11/01-qa-1103-array.html

Bron: Link hierboven.
The way that it is
Java initialization is fairly straightforward and, more importantly, consistent. The consistency is important because it ensures common, portable behavior on all platforms. As such, with Java you never have to worry about primitive sizes or initialization behavior.

Practically, initialization issues break down into the following categories: local variables, final members, and everything else.

Local variables
You must explicitly initialize local variables. Local variables are those found inside of methods.

Final members
You must explicitly initialize final instance member variables either in their declaration or within the constructor.

Everything else
All class member variables, instance member variables, and array variables are initialized in the following ways:

[insert rijtje Wasigh]
Leer is zoeken mensen (zeg het de laatste tijd vaak):
"java initial array member value" op google Derde resultaat wat ik had was die hierboven...

  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

als je van te voren weet hoe groot een array wordt, dan kun je ze wel zelf beginwaardes meegeven.
bv. int[] intArray=new int[]{1,2,3,4};
levert een int array op met een lengte van 4 en de aangegeven inhoud.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

als je dus een array alloceert dan worden alle elementen geinitializeerd op 0 (zie het lijstje wat wasigh gaf)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1