ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
Programování v jazyku Java (7) - Řetězce IIV této části si povíme o třídě StringBuffer, sloužící k ukládání často měněných řetězců, a následně ještě o konverzích mezi řetězci a dalšími typy. Řetězce IIStringBufferJak již bylo uvedeno, třída StringBuffer se používá pro ukládání textových řetězců, které budou častěji modifikovány. Pro jejich deklaraci lze použít jeden z těch to způsobů: StringBuffer strbuf1= new StringBuffer(); //prázdný StringBuffer strbuf2= new StringBuffer("Text");//z prom.typu String StringBuffer strbuf3= new StringBuffer(80);//s kapacitou 80 znaků Rozšíření řetězce pak provést metodami: StringBuffer strbuf= new StringBuffer("text"); strbuf.append("text2"); // rozšíří řetězec strbuf.insert(1,"ret"); //vloží text za 2.znak (počítá se od 0) Metody append a insert nemusí vkládat pouze řetězec, ale i další primitivní typy (např. čísla) nebo pole znaků. Modifikace obsahu řetězce lze provádět pomocí metod replace(od, do-1 , novýtext) či setCharAt (jen jeden znak). StringBuffer strbuf= new StringBuffer("stary text"); strbuf.replace(0,5,"novy"); // změní "stary" na "novy" // nutno přičíst k pozici do +1 strbuf.setCharAt(0,'X'); //přepíše znak na pozici 0 Xkem Obsah řetězce lze i rušit pomocí metod delete(od,do-1), a deleteCharAt(index)), ta zruší jen znak na určené pozici indexu. StringBuffer strbuf= new StringBuffer("textbezKonec"); strbuf.delete(4,7);//smaž text bez(od poz. 4 do 6+1) strbuf.deleteCharAt(0); Podobně jako u třídy String lze hledat v řetězci pozici určitého podřetězce metodou indexOf a opačně načíst obsah řetězce od určité pozice metodami substring a charAt.
Při popisu inicializace byla zmíněna
Samotnou délku řetězce pak můžeme zjistit metodou length() , a změnit jí pomocí setLength(délka). V případě zvětšení je doplněna znaky null ('\u0000').
Verze 1.5 Javy doplňuje novu třídu Vstupy a výstupy
Již v první lekci jsme si ukázali způsob jak provést výstup obsahu proměnné na obrazovku pomocí metody objektu Opačný směr, tedy načtení obsahu proměnné z klávesnice lze provést pomocí tříd BufferedReader a InputStreamReader: String vstup; BufferedReader in; in = new BufferedReader(new InputStreamReader(System.in)); try{ vstup = in.readLine(); } catch(IOException e) {vstup="";} Jak je z příkladu vidět, byl vytvořen datový tok s vyrovnávací pamětí, přečte řádek ze standardního vstupu. Příkazy catch a try zajištují, v tomto případě povinné ošetření možného vzniku chybového stavu - vyjímky. Převody mezi řetězci a číslyI proto, že v minulém odstavci uvedená metoda readLine načítá a vrací pouze textové řetězce, potřebujeme prostředky pro mezi řetězcem a čísly. Celé číselné typy (byte,int,short,long) mají vestavěnou metodu parseXXX. příslušného typu: String s="777"; int i=Integer.parseInt(s);
Všechny číselné typy pak obsahují metodu String s="1.5"; float f=Float.valueOf(s);
Zpětný převod z čísla na text lze nejlépe provést pomocí metody for (int i=0;i<5;i++) System.out.println("tohle je "+ (i+1) + "."); Metoda toString
Když již byla zmíněna metoda System.out.println((new Date().toString())); Nicméně pokud program zjistí že v prováděné operaci je požadován místo předávaného objektu typ String, použije tuto metodu automaticky. Což se použije například při přiřazení do řetězce, nebo přímo výstupu v objektu out : Date dat=new Date(); String Pozdrav= "Ahoj, právě je " + dat;//připojení k řetězci System.out.println(dat); // je očekáván řetězec
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 (6) - Řetězce I 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 |