Jak pracovat s poli: Deklarace a inicializace

click fraud protection

Pokud program potřebuje pracovat s několika stejnými hodnotami datový typ, můžete prohlásit a proměnná pro každé číslo. Například program, který zobrazuje čísla loterií:

int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;
int lotteryNumber6 = 20;

Elegantnější způsob, jak se vypořádat s hodnotami, které lze seskupit, je použití pole. Pole je kontejner, který obsahuje pevný počet hodnot datového typu. Ve výše uvedeném příkladu lze čísla loterií seskupit do pole int:

int [] lotteryNumbers = {16,32,12,23,33,20}; 

Berte pole jako řadu krabic. Počet polí v poli se nemůže změnit. Každé pole může obsahovat hodnotu, pokud je stejného typu dat jako hodnoty obsažené v ostatních polích. Můžete se podívat do pole a zjistit, jakou hodnotu obsahuje, nebo nahradit obsah pole jinou hodnotou. Když mluvíme o polích, krabice se nazývají elementy.

Deklarace a inicializace pole

Prohlášení pro pole je podobné tomu, které bylo použito deklarovat jakoukoli jinou proměnnou

instagram viewer
. Obsahuje datový typ následovaný názvem pole - jediným rozdílem je zahrnutí hranatých závorek vedle datového typu:

int [] intArray;
float [] floatArray; 
char [] charArray;

prohlášení prohlášení výše, řekněte to kompilátoru

intArray
proměnná je pole
ints
,
floatArray
je pole
plave
a
charArray
je řada znaků. Stejně jako každá proměnná je nelze použít, dokud není inicializována přiřazením hodnoty. Pro pole musí přiřazení hodnoty k poli definovat velikost pole:
intArray = new int [10]; 

Číslo uvnitř závorek definuje, kolik prvků pole obsahuje. Výše uvedený příkaz přiřazení vytvoří pole int s deseti prvky. Samozřejmě neexistuje důvod, proč se prohlášení a přiřazení nemohou stát v jednom prohlášení:

float [] floatArray = nový float [10]; 

Pole se neomezují pouze na primitivní datové typy. Pole objektů lze vytvořit:

String [] names = new String [5]; 

Použití pole

Po inicializaci pole mohou mít prvky přiřazené hodnoty pomocí indexu pole. Index definuje polohu každého prvku v poli. První prvek je 0, druhý prvek 1 a tak dále. Je důležité si uvědomit, že index prvního prvku je 0. Je snadné si to představit, protože pole má deset prvků, že index je od 1 do 10 místo od 0 do 9. Například pokud se vracíme zpět k příkladu čísel loterií, můžeme vytvořit pole obsahující 6 prvků a přiřazit čísla loterií těmto prvkům:

int [] lotteryNumbers = new int [6];
loterijní čísla [0] = 16;
loterijní čísla [1] = 32;
loterijní čísla [2] = 12;
loterijní čísla [3] = 23;
loterijní čísla [4] = 33;
loterijní čísla [5] = 20;

Je zde zkratka pro vyplnění prvků v poli vložením hodnot pro prvky do prohlášení:

int [] lotteryNumbers = {16,32,12,23,33,20};
String [] names = {"John", "James", "Julian", "Jack", "Jonathon"};

Hodnoty pro každý prvek jsou umístěny uvnitř dvojice složených závorek. Pořadí hodnot určuje, kterému prvku je přiřazena hodnota začínající indexovou pozicí 0. Počet prvků v poli je určen počtem hodnot uvnitř složených závorek.

K získání hodnoty prvku se používá jeho index:

System.out.println ("Hodnota prvního prvku je" + lotteryNumbers [0]); 

Chcete-li zjistit, kolik prvků pole používá pole délky:

System.out.println ("Pole lotteryNumbers má" + lotteryNumbers.length + "elements"); 

Poznámka: Běžnou chybou při použití metody délky je zapomenout je použít hodnotu délky jako pozici indexu. To vždy povede k chybě, protože pozice indexu pole jsou 0 až délka - 1.

Vícerozměrná pole

Pole, na které jsme se dosud dívali, jsou známá jako jednorozměrná (nebo jednorozměrná) pole. To znamená, že mají pouze jednu řadu prvků. Pole však mohou mít více než jednu dimenzi. Multidimenzionální je vlastně pole, které obsahuje pole:

int [] [] lotteryNumbers = {{16,32,12,23,33,20}, {34,40,3,11,33,24}}; 

Index pro vícerozměrné pole se skládá ze dvou čísel:

System.out.println ("Hodnota prvku 1,4 je" + loterijní čísla [1] [4]); 

Ačkoli délka polí obsažených v multidimenzionálním poli nemusí být stejná délka:

String [] [] names = new String [5] [7]; 

Kopírování pole

Nejsnadnějším způsobem kopírování pole je použití

pole
metoda třídy System.
pole
metodu lze použít ke zkopírování všech prvků pole nebo jejich podčásti. Je předáno pět parametrů
 pole
metoda - původní pole, pozice indexu pro začátek kopírování prvku, nové pole, pozice indexu pro začátek vkládání, počet prvků ke kopírování:
veřejná statická prázdná pole (Object src, int srcPos, Object dest, int destPos, int length)

Například pro vytvoření nového pole obsahujícího poslední čtyři prvky

int 
pole:
int [] lotteryNumbers = {16,32,12,23,33,20};
int [] newArrayNumbers = new int [4];
System.arraycopy (lotteryNumbers, 2, newArrayNumbers, 0, 4);

Protože pole jsou pevná délka

pole
metoda může být užitečným způsobem, jak změnit velikost pole.

Chcete-li si rozšířit své znalosti o polích, můžete se dozvědět o manipulaci s poli pomocí polí třídy a vytváření dynamických polí (tj. polí, když počet prvků není pevným číslem) za použití Třída ArrayList.

instagram story viewer