W tym artykule ilustruje trzy sposoby inicjowania tablicy za pomocą typu prymitywnego, typu ciągów i typu zdefiniowanego przez użytkownika. Typ ciągu i typy zdefiniowane przez użytkownika to typy referencyjne. Artykuł rozpoczyna się od inicjalizacji tablicy z pierwotnym typem.
Inicjowanie tablicy z pierwotnym typem
Typ zwęglenia zostanie użyty tutaj. char oznacza charakter. Inne prymitywne typy są wykonywane w ten sam sposób. Cały kod w tej sekcji odbywa się w metodzie Main (). Twierdzenie,
char [] arr;deklaruje tablicę bez żadnej wartości początkowej i bez liczby wskazanych znaków. Liczba znaków dla tablicy to długość tablicy. Po ustaleniu długości pozostaje w ten sposób do końca programu. Kolejne stwierdzenie jest potrzebne wraz z tym, aby nadać długość tej tablicy, w następujący sposób:
char [] arr;Teraz liczba znaków (długość) tablicy wynosi 5. Pewna inicjalizacja miała miejsce w drugim stwierdzeniu. Nie jest to jednak praktyczna inicjalizacja. Jest to inicjalizacja z 5 wartościami domyślnymi dla char. Domyślną wartością dla char jest pusta znak, i.mi. ”, Nie ma miejsca.
Następny segment kodu przypisuje jedną praktyczną wartość (znak) do każdej lokalizacji pamięci, 5 zmiennych znaków tablicy:
arr [0] = 'f';To jest zadanie lub zamiennik. To nie jest inicjalizacja. Inicjalizacja została wykonana z wartościami domyślnymi. Powyższe dwa oświadczenia deklaracji można wykonać w jednym stwierdzeniu, jak następuje:
char [] arr = nowy char [5];Nazwa tablicy to ARR. Char to zarezerwowane słowo na char, które pojawia się po obu stronach operatora przypisania. Nowy to kolejny operator. Tworzy obiekt z wartościami domyślnymi. Drugi kwadratowy wspornik w całym oświadczeniu ma długość tablicy. W tym momencie każdy element tablicy nadal musi mieć wartość praktyczną. To jest drugi sposób ogłoszenia tablicy.
Trzeci sposób deklarowania tablicy obejmuje inicjalizację wartości praktycznych. Jest w dwóch formach, jak następuje:
char [] arr = „f”, „g”, „h”, „i”, „j ';Lub
char [] arr = nowy char [] „f”, „g”, „h”, „i”, „j ';Pierwszy formularz ma literał tablicy, który nazywa się inicjatorem tablicy. Jest w aparat ortodontyczny. Każda postać jest w jednym cytacie. Inicjalizator tablicy pośrednio określa długość tablicy (liczba elementów). Pierwszy formularz nie ma nowego operatora. Drugi formularz ma nowego operatora. Jednak tutaj drugie kwadratowe nawiasy nie mają długości tablicy, ponieważ długość jest ukryta w inicjalizatorze tablicy, zakodowanej obok.
Inicjowanie szeregu ciągów
Obiekt ciągu jest bardzo dobrym przykładem typu odniesienia w Javie. Istnieją dwa rodzaje typów w Javie: typy prymitywne i referencyjne. Prymitywne typy to: boolean, bajt, char, short, int, długi, podwójny, float. Poniższe stwierdzenie deklaruje szereg ciągów bez określonej długości i jakiejkolwiek wartości początkowej (czy to domyślnie, czy praktyczne).
String [] arr;Kolejne stwierdzenie jest potrzebne wraz z tym, aby nadać długość tej tablicy, w następujący sposób:
String [] arr;Teraz liczba ciąży (odniesień) tablicy wynosi 4. Pewna inicjalizacja miała miejsce w drugim stwierdzeniu. Nie jest to jednak praktyczna inicjalizacja. Jest to inicjalizacja z 4 wartościami domyślnymi dla ciągu. Wartość domyślna dla ciągu to NULL, bez cytatów. Poniższy kod w metodzie main () ilustruje to:
String [] arr;Wyjście to:
Null Null Null NullPoniższy segment kodu przypisuje jedną praktyczną wartość (odniesienie do ciągu) do każdej lokalizacji pamięci, 4 zmiennych ciągów tablicy:
ARR [0] = „One”;To jest zadanie lub zamiennik. To nie jest inicjalizacja. Inicjalizacja została wykonana z wartościami domyślnymi. Powyższe dwa oświadczenia deklaracji można wykonać w jednym stwierdzeniu, jak następuje:
String [] arr = nowy ciąg [4];Nazwa tablicy to ARR. String jest zarezerwowanym słowem dla ciągu, które pojawia się po obu stronach operatora przypisania. Nowy to kolejny operator. Tworzy tablicę obiektów z wartościami domyślnymi. W całym stwierdzeniu drugi nawias kwadratowy ma długość tablicy. W tym momencie każdy element tablicy nadal musi mieć wartość praktyczną. To był drugi sposób ogłoszenia tablicy.
Trzeci sposób deklarowania tablicy obejmuje inicjalizację wartości praktycznych. Jest w dwóch formach, jak następuje:
String [] arr = „one”, „dwa”, „trzy”, „cztery”;Lub
String [] arr = nowy String [] „One”, „dwa”, „trzy”, „cztery”;Pierwszy formularz ma literał tablicy, który nazywa się inicjatorem tablicy. Jest w aparat ortodontyczny. Każda postać jest w jednym cytacie. Inicjalizator tablicy pośrednio określa długość tablicy (liczba elementów). Pierwszy formularz nie ma nowego operatora. Drugi formularz ma nowego operatora. Jednak tutaj drugi nawias kwadratowy nie ma długości tablicy, ponieważ długość jest ukryta w inicjalizatorze tablicy, zakodowanej obok.
UWAGA: Aby użyć ciągu lub tablicy w Javie, ani klasa ciągów, ani klasa tablicy nie muszą zostać zaimportowane.
Obiekty zdefiniowane przez użytkownika
Poniżej znajduje się przykład klasy zdefiniowanej przez użytkownika:
klasa AclassAclass to nazwa klasy, z której zostaną utworzone jej obiekty.
W funkcji Main () można zastosować następujące segmenty kodu:
Aclass obj1 = new aclass ();Każdy segment kodu tworzy obiekt typu, Aclass. Każdy to obiekt zdefiniowany przez użytkownika. Każdy segment kodu przypisuje liczbę całkowitą do właściwości (pola) każdego obiektu. Istnieją trzy różne obiekty tej samej klasy. Każdy segment kodu wywołuje swoją metodę dla swojego obiektu. Dane wyjściowe dla trzech segmentów kodu powinny wynosić: 1 2 3, z każdą liczbą w osobnej linii.
Deklaracja tablicy typu klasy zdefiniowanej przez użytkownika odbywa się w taki sam sposób, jak w powyższych przypadkach. Na przykład,
Aclass [] arr = new aclass [3];deklaruje tablicę trzech obiektów typu, aclass. Ta instrukcja utworzyła tablicę zainicjowaną z domyślną wartością typu. Dla dowolnego typu odniesienia, w tym typu ciągu, wartość domyślna jest null. Oznacza to, że w tablicy, arr, są trzy wartości null. Poniższy kod w Main () powinien to udowodnić:
Aclass [] arr = new aclass [3];Wyjście to:
NULL NULL NULLPoniższe stwierdzenie inicjuje tablicę z praktycznymi obiektami typu Aclass:
Aclass [] arr = obj1, obj2, obj3;Wyjście to:
Aclass@6ff3c5b5 Aclass@3764951d Aclass@4B1210EEtrzy różne kody. Powodem tego jest to, że tablica oczekuje literałów obiektowych, ale podano odniesienia obiektowe.
W powyższej procedurze nazwy obiektów, OBJ1, OBJ2 i OBJ3, zostały (utworzone) przed zapisaniem ich do tablicy. Aby obejść ten problem, utworzyć obiekty jako elementy tablicy, bez ich nazwisk, w następujący sposób:
Aclass [] arr = new aclass (), new aclass (), new aclass ();Stąd, zamiast używać nazw obiektów, OBJ1, OBJ2 OBJ3, aby uzyskać dostęp do właściwości i metod, użyj wskaźników tablicy w następujący sposób:
ARR [0].Prop i ARR [0].mthd (); ARR [1].Prop i ARR [1].mthd (); ARR [2].Prop i ARR [2].mthd ();Rozwiązuje problem. I tak powyższe trzy segmenty kodu można przepisać jako:
Aclass [] arr = new aclass (), new aclass (), new aclass ();A ostateczna oczekiwana wydajność jest taka jak poprzednio, to znaczy: 1 2 3, z każdą liczbą we własnej linii.
Wniosek
Istnieją dwa rodzaje rodzajów w Javie: prymitywne typy i typy referencyjne. Tablicę można zadeklarować bez żadnej wartości i długości elementu. Tablicę można zadeklarować swoją długością, ale zainicjowana do wartości domyślnych przez kompilator. Tablicę można zadeklarować, zainicjować wartości praktycznymi. Jeśli wartości są odniesieniami, a literałów nie można użyć jako wartości, wartości tablicy powinny być tworzeniem instancji klasy.