100 likes | 204 Views
KIV/PPA1 cvičení 9. Cvičící: Pavel Bžoch. Osnova cvičení. Třída String a její metody Řetězce a operace s nimi. Třída String. Dosud jsme pracovali jen s konstantními řetězci (pokaždé uzavřené v uvozovkách) Např. v Systém.out.println( “retezec” ) ;
E N D
KIV/PPA1 cvičení 9 Cvičící: Pavel Bžoch
Osnova cvičení • Třída String a její metody • Řetězce a operace s nimi
Třída String • Dosud jsme pracovali jen s konstantními řetězci (pokaždé uzavřené v uvozovkách) • Např. v Systém.out.println(“retezec”); • Objekty vytvořené z třídy String slouží k uchovávání řetězců (tedy textu nebo skupiny znaků) a práci s nimi • Standardní třída
Třída String • Pouze statické řetězce (nedají se měnit) • Podřetězec nebo náhrada znaku (+víceméně veškeré operace s řetězci) není změna vzniká nový řetězec, původní nezměněn • Množství metod pro práci s řetězci • Vytvoření řetězce a uložení do proměnné: • String retezec = “Toto je retezec ulozeny v promenne”;
Třída String Načtení řetězce z klávesnice: • Načtení celé řádky: • Scanner sc = new Scanner(System.in); • Stringradka = sc.nextLine(); • Načtení jednoho slova: • Scanner sc = new Scanner(System.in); • String slovo = sc.next();
Třída String • Přehled metod a operací s řetězci • Sřetězení (spojení řetězců): • String spojeny = retezec1 + retezec2; • Zjištění délky řetězce: • int a = retezec.length(); //metoda ne promenna • Získání znaku z řetězce: • char a = retezec.chatAt(index); //indexuje se od 0 do length() - 1
Třída String • Přehled metod a operací s řetězci • Porovnání řetězců: • if (retezec1.equals(retezec2)) nebo • if (retezec1.equalsIgnoreCase(retezec2) • Povnovnání bez ohledu na malá a velká písmenka • Lexikografické porovnání • if (retezec1.compareTo(retezec2) == 0) nebo • if (retezec1.compareToIgnoreCase(retezec2) == 0) • Povnovnání bez ohledu na malá a velká písmenka • Pozn. takto nelze porovnávat: • if (retezec1 == retezec2) //porovnání objektů
Třída String • Přehled metod a operací s řetězci • Zjištění výskytu podřetězce • if (retezec.contains(“ahoj”)) //obsahujeahoj? • Zjištění, zda řetězec začíná nebo končí jiným řetězcem: • if (retezec.startsWith(“ahoj”) //zacinaahoj? • if (retezec.endsWith(“ahoj”) //konciahoj? • Nahrazení podřetězce podřetězcem • StringrezecNovy = retezec.replace(“stary”, “novy”); • Lzepoužít regulární výrazy místo „stary“
Třída String • Přehled metod a operací s řetězci • Rozdělení řetězce na pole řetězců podle dělícího znaku: • Stringprvni = “a_b_c_d_e”; • String[] rozdeleny = prvni.split(“_”); • V rozdeleny[0] bude “a” atd. • Získání podřetězce: • Stringretezec = jinyRet.substring(0,3); • V retezec budouprvní 3 znaky z jinyRet • Stringretezec = jinyRet.substring(5); • V retezec budou všechny znaky od 5. do konce jinyRet
Třída String • Přehled metod a operací s řetězci • Oříznutí „bílých“ znaků ze začátku a konce řetězce: • String a = “ahoj ”; • String b = a.trim(); • V bbudeuloženo jen ahoj • Převedení na velká / malá písmenka v celém řetězci: • String a = „AhOj, ToHlejEaLeDiVnYTeXt“; • Stringmalymi = a.toLowerCase(); //vše malými • Stringvelkymi = a.toUpperCase(); //vše velkými