Finn lengden på Java -matrisen

Finn lengden på Java -matrisen
Java -matrisen har en fast lengde. Den kan ikke vokse eller krympe i lengde. Etter at Java -matrisen er initialisert, kan lengden ikke endres. En Java -matrise erklært med et lengdestall blir automatisk initialisert med standardverdietype. Hvis matrisen er deklarert med udefinert lengde og ingen initialisering, lar Java programmereren gi matrisen en lengde senere i programmet. Når lengden er gitt, kan den ikke endres.

Java -matrisen har også lengdeegenskapen, som vil returnere matrisens lengde. Denne artikkelen illustrerer de forskjellige måtene lengden på Java -arrayen kan bestemmes på. Den viser også hvordan du kan iterere gjennom Java -matrisen, ved å bruke lengdeegenskapen.

Husk at Java -matrisen er hentet fra objektklassen. Å bruke matriseobjektet på normal måte innebærer ikke import av objektet eller array -klassen inn i programmet.

Erklæring med udefinert lengde, uten initialisering

Følgende uttalelse erklærer en rekke tegn, med udefinert lengde og uten initialisering:

char [] arr;

Denne matrisen kan gis en lengde senere, som i følgende kodesegment:

char [] arr;
arr = ny røye [10];

Denne lengden på 10 forblir gjennom hele programmet. Array. Hver tomme karakter i denne matrisen vil bli erstattet av ønsket røye av programmereren. Tom karakter betyr ingen karakter; Det er ikke romkarakteren.

Erklæring med definert lengde, med standardinitialisering

Følgende enkeltuttalelse viser hvordan en rekke chars, definert lengde og standardinitialisering, kan erklæres:

char [] arr = new char [10];

Her er "nytt" en operatør. Legg merke til hvor og hvordan lengden 10 er skrevet. Alle primitive typer kan erklæres på denne måten. Referansetyper kan også erklæres på denne måten. Et godt eksempel på referansetypen er strengklassen. Følgende erklæring fungerer bra:

Streng [] arr = ny streng [10];

Merk at typen er kodet to steder: til venstre for oppdragsoperatøren, i en bestemt posisjon og på oppdragsoperatørens høyre side.

Standardverdien for strengen er nullverdien. Verdien av 10 i begge tilfeller ovenfor gjenstår til slutten av programmet. Hver null i matrisen vil ganske enkelt bli erstattet av et strengobjekt (bokstavelig), senere, av programmereren.

Tilordne til matrise med standardverdier

Etter å ha opprettet en matrise med standardverdier, kan de praktiske verdiene tilordne til arrayelementer, for å erstatte standardverdiene, som i følgende program:

public class theclass
public static void main (String [] args)
char [] arr = new char [5];
arr [0] = 'a'; arr [1] = 'b'; arr [3] = 'd'; arr [4] = 'e';
for (int i = 0; i<5; i++) System.out.print(arr[i]); System.out.print(");;
System.ute.println ();

Utgangen er:

A b d e

Legg merke til at i dette programmet er ingenting importert. Standardverdien for ethvert element som ikke ble tildelt forblir standardverdien.

Lengde ved initialisering

Det er to måter å erklære en matrise med initialisering. En måte er som følger:

char [] arr = 'a', 'b', 'c', 'd', 'e';

Høyre side av denne uttalelsen er matrisen bokstavelig. I dette tilfellet tildeles matrisen bokstavelig til matrisen til erklæring. Ethvert standardelement skal skrives bokstavelig talt, som i følgende uttalelse:

char [] arr = 'a', 'b', ", 'd', 'e';

Den tredje verdien er den tomme karakteren. Hvis matrisen var av en referansetype, ville standardverdien vært null, som i følgende uttalelse:

String [] arr = "One", "Two", Null, "Four", "Five";

Null er uten sitater her. For disse tre uttalelsene er lengden 5, som er antall elementer i matrisen bokstavelig. Matrisen bokstavelig er avgrenset av seler.

Den andre veien er som følger:

char [] arr = new char [] 'a', 'b', 'c', 'd', 'e';

Her brukes den nye operatøren, fremdeles uten antall for lengde. I dette tilfellet er matrayen bokstavelig rett etter firkantede parenteser. Ethvert standardelement skal skrives bokstavelig talt, som i følgende uttalelse:

char [] arr = new char [] 'a', 'b', ", 'd', 'e';

Hvis matrisen var av en referansetype, ville standardverdien vært null, som i følgende uttalelse:

String [] arr = new String [] "One", "Two", Null, "Four", "Five";

Null er uten sitater. Hvis null er i sitater, er det ikke lenger null, men en streng. For disse tre uttalelsene er lengden 5, som er antall elementer i matrisen bokstavelig.

I array -erklæring med praktisk initialisering er antall elementer i matrisen bokstavelig lengde på matrisen. Den lengden holder seg til slutten av programmet.

Lengdeegenskapen

En matrise er et objekt som er arvet fra objektklassen. Den har en eiendom, som er lengde. Så lenge lengden på matrisen er definert, vil denne egenskapen alltid returnere den samme faste lengden på matrisen til slutten av programmet. Følgende kodesegment illustrerer hvordan du bruker lengdeegenskapen:

char [] arr = 'a', 'b', 'c', 'd', 'e';
int len ​​= arr.lengde;
System.ute.println (len);

Utgangen er: 5.

Iterere gjennom matrisen

Følgende kode itererer gjennom matrisen. Lengdeegenskapen kan brukes til å iterere, gjennom matrisen, som dette programmet viser:

public class theclass
public static void main (String [] args)
String [] arr = "One", "Two", "Three", "Four", "Five";
for (int i = 0; iSystem.ute.print (arr [i]); System.ute.skrive ut(");

System.ute.println ();

Utgangen er:

en to tre fire fem

Strengklassen trenger ikke å importeres før du brukes.

Normalt søk etter en verdi

Følgende klasse ser etter karakteren, 'D', i en rekke tegn. Når den første 'D' blir sett, returneres arrayindeksen. Hvis slutten av matrisen er nådd, returneres lengden på matrisen.

klasse aclass
int simpleSearch ()
char [] arr = 'a', 'b', 'c', 'd', 'e';
for (int i = 0; iif (arr [i] == 'd')
Returner jeg;

Returner arr.lengde;

I hovedfunksjonen () kan følgende kodesegment brukes:

Aclass anobj = new aclass ();
int ret = anobj.simpleSearch ();
System.ute.println (ret);

Utgangen er 3. Husk at den siste indeksen er array -lengde minus 1. Så hvis lengden på matrisen returneres, betyr det at karakteren så etter ikke ble sett.

Konklusjon

Når lengden på matrisen er definert, forblir den fast til slutten av programmet. Array -lengden er definert i erklæringen om matrisen, med eller uten praktisk initialisering. Hvis matriselengden ikke er definert ved erklæring, må den fortsatt defineres, med et oppdrag, ved bruk av den nye operatøren. Array -objektet har også eiendommen, lengden, for å returnere lengden på matrisen. I Java kalles eiendommen et felt.