Funkcje ciągów w Javie | Ciąg Java [z przykładami]

Opublikowany: 2020-12-01

Spis treści

Wstęp

Java zyskała duży szacunek wśród programistów ze względu na obsługę programowania obiektowego i predefiniowane funkcje dla dostarczanych typów danych. Ciągi są jednym z imponujących typów danych dostarczanych przez java.

Są niezmienne i przechowywane w obszarze sterty w oddzielnym bloku pamięci o nazwie String Constant Pool. Istnieje wiele predefiniowanych funkcji dla ciągów w java, przyjrzyjmy się im!

Funkcje

charAt()

Aby uzyskać dostęp do znaku w określonej pozycji, nie potrzebujemy pętli do iteracji do tego indeksu, funkcja charAt() wykonuje za Ciebie ciężką pracę!. Funkcja charAt() zwraca znak w określonej pozycji w łańcuchu, pamiętaj, że indeks zaczyna się od 0 w java.

Ta funkcja jest zdefiniowana z modyfikatorem dostępu jako public i zwraca znak. Ta metoda oczekuje liczby całkowitej jako parametru, a dostęp do funkcji z parametrem większym niż długość ciągu zwraca wyjątek IndexOutOfBounds, który jest wyjątkiem w czasie wykonywania.

String str = hej tam ;

pierwszy znak = str . charAt( 0 );

znak sekunda = str . charAt( 1 );

System . się . println(pierwszy + + drugi);

Powyższy fragment kodu da 'h e' jako wynik, ponieważ zmienna pierwsza jest przypisana ze znakiem 'h', a zmienna druga jest przypisana ze znakiem 'e'.

PorównajDo() i porównajZignorujCase()

Porównanie dwóch ciągów nie zadziała z operatorem == w java, ponieważ sprawdza, czy adres obu zmiennych i zwraca prawdę, jeśli obie zmienne mają ten sam adres. Tak więc operator == nie porównuje zawartości ciągów, oto wkracza metoda CompareTo().

Ta metoda publiczna oczekuje ciągu znaków lub obiektu jako parametru, który ma być porównywany, i zwraca wartość całkowitą po porównaniu leksykograficznym, pamiętaj, że ta metoda uwzględnia wielkość liter. Ale możemy użyć CompareToIgnoreCase() do porównania, ignorując małe i duże litery znaków.

String str1 = Witaj ;

String str2 = Witaj ;

String str3 = witaj ;

int i1 = str1 . compapreTo(str2);

int i2 = str2 . porównaj do(str3);

int i3 = str2 . porównajZignorujCase(str3);

System . się . println(i1 + " " i2 + " " + i3);

Powyższy fragment wypisze '1 0 1' jako dane wyjściowe, ponieważ zmienna i1 jest przypisana z 1, ponieważ oba ciągi są równe, zmienna i2 ma przypisaną 0, ponieważ porównujemy ciągi według wielkości liter. Podobnie zmienna i3 ma przypisaną wartość 1, ponieważ porównujemy łańcuchy, ignorując duże i małe litery.

concat()

Ponieważ ciągi są niezmienne, nie możemy edytować wartości ciągu, zamiast tego możemy po prostu przypisać zaktualizowaną wartość do tej samej zmiennej. Możemy użyć metody concat() do łączenia obu ciągów. Ta metoda oczekuje ciągu jako parametru, który ma zostać połączony, i zwraca nowy połączony ciąg.

Ciąg s1 = pierwszy ;

Ciąg s2 = druga ;

System . się . println(s1 . concat(s2));

Powyższy fragment kodu drukuje ciąg „pierwsza sekunda”.

Przeczytaj: Właściwości i zalety JavaBeans: jak należy je wykorzystać?

zawiera()

Sprawdzanie, czy ciąg jest obecny jako podsekwencja innego ciągu, to teraz bułka z masłem. Metoda zawiera () w java jest publiczną funkcją logiczną i zwraca prawdę, jeśli ciąg znaków występuje w ciągu znaków, a fałsz, jeśli nie. Ta metoda oczekuje sekwencji znaków jako parametru i zwraca NullPointerException, jeśli jako parametr zostanie przekazany obiekt o wartości null.

String s1 = Cześć ;

System . się . println(s1 . zawiera( the )); //linia 1

System . się . println(s1 . zawiera( “” )); //linia 2

System . się . println(s1 . zawiera( null )); //linia3

Powyższy fragment wypisuje True dla wiersza 1, ponieważ sekwencja „the” jest obecna w ciągu, podobnie wiersz 2 wypisuje True, ponieważ pusta sekwencja domyślnie zwraca True. A wiersz 3 zgłasza wyjątek NullPointerException, ponieważ wartość null jest przekazywana jako parametr.

indeks()

Widzieliśmy funkcję java, która zwraca znak obecny pod danym indeksem, ale co, jeśli chcemy indeks pierwszego wystąpienia danego znaku. Spokojnie, funkcja indexOf() wykonuje zadanie. Ta funkcja jest wewnętrznie nadpisana czterema różnymi sygnaturami, przejrzyjmy je.

String s1 = Hej tam, hej tam, hej tam, hej tam ;

System . się . println(s1 . indexOf( tam )); //linia 1

System . się . println(s1 . indexOf( tam , 5 )); //linia 2

System . się . println(s1 . indexOf( ' T ' ) ); //wiersz 3

System . się . println(s1 . indexOf( ' T ' , 16 )); //wiersz 4

W powyższym fragmencie funkcja wywołana w wierszu1 oczekuje ciągu, a ten zwraca początkowy indeks pierwszego wystąpienia danego ciągu, w tym przypadku wypisuje 4. Funkcja wywołana w wierszu2 oczekuje ciągu znaków wraz z liczbą całkowitą jako parametrami, teraz liczba ta odnosi się do początkowego indeksu, w którym wyszukiwanie danego ciągu rozpoczyna się od tego indeksu, w tym przypadku wypisuje 37.

Funkcja wywołana w wiersz 3 oczekuje znaku jako parametru, zwraca pierwsze wystąpienie danego znaku, w tym przypadku wypisuje 15. Podobnie funkcja obecna w wierszu4 oczekuje znaku i liczby całkowitej.

Gdzie liczba całkowita reprezentuje indeks początkowy, a następnie wyszukiwanie danego znaku zaczyna się od tego znaku, w tym przypadku wypisuje 26. Pamiętaj, że ta funkcja całkowicie rozróżnia wielkość liter, co widać w powyższym fragmencie.

jest pusty()

Ta funkcja wykonuje proste zadanie, ale bardzo przydatne z punktu widzenia programisty. Ta funkcja logiczna zwraca True, jeśli ciąg jest pusty, i False, jeśli nie. Ta funkcja pomaga sprawdzić, czy ciąg jest pusty przed wykonaniem jakichkolwiek zadań na ciągu, ponieważ niewiele funkcji zgłasza wyjątek dla pustych ciągów, który przerywa przepływ wykonywania.

String s1 = Cześć ;

Ciąg s2 = „” ;

System . się . println(s1 . isEmpty()); //linia 1

System . się . println(s2 . isEmpty()); //linia 2

Powyższy fragment kodu wyświetla wartość False dla wiersza 1 i True dla wiersza 2.

długość()

Ustalenie długości łańcucha nie jest już żmudnym zadaniem, funkcja length() w javie zwraca długość danego łańcucha. Zwraca zero, jeśli jako parametr przekazano pusty ciąg.

Ciąg s1 = abcdefghijklmnopqrstuvwxyz ;

System . się . println(s1 . długość());

Powyższy kod drukuje 26.

wymienić()

W przeciwieństwie do funkcji indexOf(), która zwraca tylko pierwsze wystąpienie sekwencji, funkcja replace() zastępuje wszystkie określone znaki danym nowym znakiem i zwraca nowy ciąg. Ta funkcja publiczna oczekuje dwóch znaków, powiedzmy c1 i c2 jako parametrów. Gdzie szuka wszystkich znaków równych c1 i zastępuje je c2.

Ciąg s1 = witajHELLO ;

System . się . println(s1 . replace( ' l ' , ' p ' ) );

Pamiętaj, że ta funkcja rozróżnia wielkość liter, więc powyższy fragment wypisuje „heppoHELLO”.

toLowerCase() i toUpperCase()

Konwertowanie ciągu znaków na małe i odwrotnie to zabawne zadanie w javie, które wymaga tylko sztuki pojedynczego wiersza kodu, a funkcje toLowerCase(), toUpperCase() są artystami.

Te funkcje publiczne nie oczekują żadnych parametrów i zwracają nowy ciąg ze zaktualizowanymi małymi i dużymi literami znaków.

String s1 = Hej tam ;

System . się . println(s1 . toUpperCase()); //linia 1

System . się . println(s1 . toLowerCase()); //linia 2

W powyższym fragmencie line2 drukuje „hej tam”, a line1 drukuje „HEJ TAM”.

Dowiedz się: Obsługa zdarzeń w Javie: co to jest i jak to działa?

przycinać()

Naiwnym podejściem do usuwania końcowych i wiodących spacji w ciągu jest zapętlenie ciągu i usunięcie znaku, jeśli jest to spacja, ale jest optymalny sposób. Funkcja trim() usuwa wszystkie spacje wiodące i końcowe z ciągu i zwraca nowy ciąg. Ta funkcja publiczna nie oczekuje żadnego parametru.

String s1 = Hej tam ;

System . się . println(s1 . trim());

Powyższy fragment wyświetla „Hej tam”, który jest nowym ciągiem po przycięciu końcowych i wiodących białych spacji.

Wniosek

Przejrzeliśmy kilka funkcji łańcuchowych w java, zrozumieliśmy, jak działają, czego oczekują i co zwracają. Zbadałem nadpisane sygnatury kilku funkcji, zapoznałem się z przykładowym fragmentem kodu w celu właściwego zrozumienia. Teraz, gdy znasz już kilka funkcji, zacznij z nich korzystać, gdy jest to wymagane.

Jeśli chcesz dowiedzieć się więcej o Javie, programach OOP i tworzeniu pełnego stosu oprogramowania, zapoznaj się z dyplomem PG upGrad i IIIT-B w zakresie pełnego tworzenia oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznego szkolenia, 9 + projekty i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Przygotuj się na karierę przyszłości

BRANŻOWE ZAUFANIE NAUKI - CERTYFIKACJA UZNANA W BRANŻY.
Ucz się więcej