/**
 * @author HZembr01
 *
 */
class Tablice {

	/**
	 * 
	 */
	public static void main(String[] args) {
		// podstawowa deklaracja i inicjalizacja
		int[] tablicaLiczb;
		/* analogicznie pozostałe typy
		   byte[] anArrayOfBytes;
		   short[] anArrayOfShorts;
		   long[] anArrayOfLongs;
		   float[] anArrayOfFloats;
		   double[] anArrayOfDoubles;
		   boolean[] anArrayOfBooleans;
		   char[] anArrayOfChars;
		   String[] anArrayOfStrings;
		 */
		// tu drobna roznica wzgledem tego co pamiętacie i znacie jest to alokowanie pamięci dla tablicy 8 elementowej
		// opertor new służy właśnie do alokowania pamięci
		tablicaLiczb = new int[8];
		for (int i=0;i<8;i++)
			tablicaLiczb[i]=i;
		for (int i=0;i<8;i++)	System.out.println("Wartosc elemetu o indeksie "+i+" to "+ tablicaLiczb[i]);
		
		// alternatywne zadeklarowanie i zainicjowanie tablicy
		int[] drugaTablicaLiczb = { 
			    700, 200, 300,
			    400, 500, 600, 
			    100, 800, 900, 1000
			};
		// pojawia się pole lenght, oznacza ono rozmiar tablicy. Jest to standardowe pole w każdym kontenerze, o kontenerach bedize innym razem :)
		for (int i=0;i<drugaTablicaLiczb.length;i++)	System.out.println("Wartosc elemetu o indeksie "+i+" to "+ drugaTablicaLiczb[i]);
		
		// tablice wielowymiarowe, jak widac nie musi byc rozmiaru nxm. W Javie tablice wielowymiarowe pozwalaja na inny rozmiar tablicy w kolejnym wierszu
		String[][] napisy = { 
				{" Java to ", "Super jezyk"},
				{" Uwielbiam ", "Wtorkowe ","Wieczory"}
		};
		
		System.out.println(napisy[0][0]+napisy[0][1]);
		System.out.println(napisy[1][0]+napisy[1][1]+napisy[1][2]);
		
		// metody pozwalajace na kopiowanie tablic
        char[] tekstZ = {'d', 'e', 'o', 's', 'i', 'e', 'm',
                'i', 'n', 'a', 't', 'e', 'd'};
        System.out.println(new String(tekstZ));
        // w tym momencie tablica takze zostala zdeklarowana i zainicjowana
        char[] tekstDo = java.util.Arrays.copyOfRange(tekstZ, 2, 7);
        System.out.println(new String(tekstDo));
        System.arraycopy(tekstZ, 2, tekstDo, 0, 5);
        System.out.println(new String(tekstDo));
        
	}
		
}
	
