ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
Programování v jazyku Java (6) - Řetězce IV tomto díle si ukážeme jak jsou v Javě ukládány a zpracovávány textové informace. Řetězce I
Řětězce slouží k ukládání textových informací. V Javě jsou vnitřně kódovány v UNICODE. Používají dvě základní objektové třídy - Třída String slouží k ukládání konstantních textových informací, které nehodláme (nebo jen málo) měnit. Hodnota v objektu typu String totiž je konstantní, při změně nebo přiřazení jiné hodnoty je vytvořen v paměti nový objekt a přiřazen původní proměnné. Původní hodnota objektu je posléze v paměti smazána. Což spotřebuje určitou časovou i systémovou režii. Proto je pro ukládání textových informací, které jsou v programu častěji modifikovány, rozšiřovány či spojovány lépe použít třídu StringBuffer, které se budeme věnovat příště. StringProměnnou typu String lze obvykle inicializovat přiřazením textové konstanty: String s= "Helo World"; Kromě přímého přiřazení pevné textové hodnoty můžeme řetězec inicializovat již při jeho deklaraci i jinak: String s= new String() ; // prázdný řetězec String s= new String(String t); //rovnou překopíruje jiný řetězec String s= new String(char ch[] ); // řetězec z pole znaků String s= new StringBuffer(); // řetězec z objektu StringBuffer String s = new String(byte[] pole,"ISO8859_2") /*vytvoří a převede řetězec z pole znaků v jiné znakové sadě" */ Řetězce můžeme spojovat (s výhradou vůči optimalizaci, viz výše ) operátorem + String Jmeno="Jan";String Prijmeni="Novak"; String Vizitka= Jmeno+ " "+ Prijmeni; System.out.println("Jeho inicialy jsou " + Jmeno+ " "+ Prijmeni); Aktuální délku řetězce vrací metoda length : int delka=Jmeno.length();
Co provádět nemůžeme, to je porovnání řetězců operátorem String s1="Jan";boolean ok; ok=s1.equals("Jan"); //vraci true ok=s1.equals("jan"); //vraci false ok=s1.equalsIgnoreCase("jan"); //takhle je to OK ok=s1.equals("franta"); //vraci false
Potřebujeme-li při porovnání určit který z řetězců je větší, použijeme metodu String s1="Jan"; int i=s1.compareTo("franta"); // vrací záporné číslo Metoda compareTo vrací 0 pokud jsou oba řetězce stejné,záporné číslo pokud je porovnávaný řetězec menší než předaný poarametr a kladné číslo pokud je větší.
Pro porovnání zda text obsahuje pouze určité skupiny znaků slouží metoda
Jednotlivé znaky v řetězci lze měnit pomocí metody String s="01234567890"; s=s.replace('0','X'); //změní všechny znaky 0 na X
K metodám, měnícím obsah řetězce patří také
Vyhledávat text v řetězci lze pomocí metody
Opačnou funkci, tedy vrácení řetězce na určité pozici obstarávají metody String s="01234567890" int poz= s.indexOf("456") //vyhledá pozici podřetězce v celém řetězci boolean ok=s.startsWith("0123") // String sub= s.substring(0,2); //vrací podřetězec od indexu 0 do 2-1
Související články
Předchozí Celou kategorii (seriál) Další
Programování v jazyku Java (1) - Úvod
Programování v jazyku Java (2) - instalace, překlad a spouštění Programování v jazyku Java (3) - Základy syntaxe Programování v jazyku Java (4) - Proměnné a operace s nimi Java (5) - Řízení programu Programování v jazyku Java (7) - Řetězce II Programování v jazyku Java (8) - Pole I Programování v jazyku Java (9) - Pole II Java (10) - Kontejnery I. Java (11) - Kontejnery II. Java (12) - Kontejnery III. Java (13) - JDK, vývojová prostředí Java (14) - štábní kultura, specifika Java (15) - I/O operace I. Java (16) - I/O operace II. Java (17) - práce se soubory Java (18) - síťová komunikace I. Java (19) - síťová komunikace II. Java (20) - vlákna Java (21) - datové typy Java 5 - recenze knihy Java (22) - omezování práv I. Java (23) - omezování práv II. Java (24) - úvod do grafiky a GUI Java (25) - základní grafické třídy Java (26) - tvorba GUI Java (27) - seznamy, stromy, tabulky Java (28) - renderery a editory Java (29) - správci rozložení Java (30) - Look and Feel Java (31) - základy tisku Java (32) - tiskové služby BlueJ IDE JavaFX - prostředí pro tvorbu RIA aplikací (1) Java a rozšířené atributy souborů JavaFX - prostředí pro tvorbu RIA aplikací (2) Předchozí Celou kategorii (seriál) Další
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |