Java-daky setir synpy Java-daky setirler bilen işlemek üçin döredildi. Java programmasynda kesgitlenen ähli setir sözleri (mysal üçin, "abc") String synpynyň mysallarydyr. Onuň esasy aýratynlyklaryna seredeliň:
- Synp
Serializable
we interfeýsleri amala aşyrýarCharSequence
. Paketiň içine girendigi sebäplijava.lang
, ony import etmegiň zerurlygy ýok. - Java-daky setir synpy soňky synp bolup, çagasy bolup bilmez.
- Setir synpy üýtgewsiz synp bolup, obýektleri döredilenden soň üýtgedilip bilinmez. Setir obýektindäki islendik amal, setir synpynyň obýektine sebäp boljak täze obýektiň döremegine getirer.
- Üýtgemezligi sebäpli, setir synp obýektleri sapakdan howpsuz we köp sapakly gurşawda ulanylyp bilner.
toString
Java-daky her bir obýekt, ähli Java synplarynyň synpdan miras galan usuly arkaly setire öwrülerObject
.
Java String bilen işlemek
Bu Java-da iň köp ulanylýan sapaklaryň biridir. Onda setirdäki käbir nyşanlary seljermek, setirleri deňeşdirmek we gözlemek, aşaky bölekleri çykarmak, aşaky we baş harplara öwrülen ähli simwollar bilen setiriň nusgasyny döretmek we başgalar bar. Resmi resminamalarda String synpynyň ähli usullarynyň sanawyny tapyp bilersiňiz . Java, şeýle hem, başlangyçlary setire we tersine öwürmek üçin birleşdirilen (birleşdirýän setirler) ýönekeý mehanizmi ulanýar. Java-da String synpy bilen işlemegiň käbir mysallaryna seredeliň.Setirler döretmek
Setir synpynyň mysalyny döretmegiň iň aňsat usuly, oňa sözüň göni manysyny bellemekdir:String s = "I love movies";
Şeýle-de bolsa, String synpynda size mümkinçilik berýän köp konstruktor bar:
- boş setiri öz içine alýan obýekt dörediň
- setir üýtgeýjisiniň nusgasyny dörediň
- nyşan massiwine esaslanýan setir dörediň
- baýt massiwine esaslanýan setir dörediň (kodlamagy göz öňünde tutup)
- we ş.m.
Setir goşmaçasy
Java-da iki setir goşmak gaty ýönekeý+
. Java size üýtgeýänleri we setir sözlerini biri-birine goşmaga mümkinçilik berýär:
public static void main(String[] args) {
String day = "Day";
String and = "And";
String night = "Night";
String dayAndNight = day + " " + and + " " + night;
}
Setir synpynyň obýektlerini beýleki synplaryň obýektleri bilen goşmak bilen, ikinjisini setir görnüşine çenli azaldýarys. Beýleki synplaryň obýektlerini setir şekiline öwürmek, toString
obýekte aç-açan usul çagyryşy arkaly amala aşyrylýar. Muny aşakdaky mysal bilen görkezeliň:
public class StringExamples {
public static void main(String[] args) {
Human max = new Human("Max");
String out = "java object: " + max;
System.out.println(out);
// Output: Java object: Person named Max
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
Setir deňeşdirmesi
Setirleri deňeşdirmek üçin usuly ulanyp bilersiňizequals()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("Test String".equals(x)); // true
}
Setirleri deňeşdirenimizde, ýagdaý biziň üçin möhüm bolmasa, usuly ulanmalydyrys equalsIgnoreCase()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("test string".equalsIgnoreCase(x)); // true
}
Bir obýekti / başlangyç setiri öwürmek
Islendik Java synpynyň ýa-da islendik başlangyç maglumat görnüşini mysal görnüşine öwürmek üçin usuly ulanyp bilersiňizString.valueOf()
:
public class StringExamples {
public static void main(String[] args) {
String a = String.valueOf(1);
String b = String.valueOf(12.0D);
String c = String.valueOf(123.4F);
String d = String.valueOf(123456L);
String s = String.valueOf(true);
String human = String.valueOf(new Human("Alex"));
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(s);
System.out.println(human);
/*
Output:
1
12.0
123.4
123456
true
Person named Alex
*/
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
Setiri sana öwürmek
Köplenç bir setiri sana öwürmeli. Ilkinji görnüşli örtük synplarynda bu maksada laýyk usullar bar. Bu usullaryň hemmesi parse sözünden başlaýar.Integer
Setiriň bitewi ( ) we fraksiýa ( Double
) sanlara terjimesine serediň :
public static void main(String[] args) {
Integer i = Integer.parseInt("12");
Double d = Double.parseDouble("12.65D");
System.out.println(i); // 12
System.out.println(d); // 12.65
}
Setirleriň ýygyndysyny setir şekiline öwürmek
Käbir setirler ýygyndysynyň ähli elementlerini özbaşdak delimiter arkaly setir şekiline öwürmek zerur bolsa, Java String synpynyň aşakdaky usullaryny ulanyp bilersiňiz:join(CharSequence delimiter, CharSequence... elements)
join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
delimiter
Element bölüji nirede we setir elements
massiw / setir ýygnamak mysaly. Geliň, setirleriň sanawyny hersine nokat bilen bölüp, bir setire öwürýän bir meselä seredeliň:
public static void main(String[] args) {
List<String> people = Arrays.asList(
"Philip J. Fry",
"Turanga Leela",
"Bender Bending Rodriguez",
"Hubert Farnsworth",
"Hermes Conrad",
"John D. Zoidberg",
"Amy Wong"
);
String peopleString = String.join("; ", people);
System.out.println(peopleString);
/*
Output:
Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong
*/
}
Setiri bir hatara bölmek
split(String regex)
Bu amal , seperator yzygiderli aňlatma usuly bilen ýerine ýetirilýär regex
. Aşakdaky mysalda, öňki mysalda ýerine ýetiren işimize ters amal ederis:
public static void main(String[] args) {
String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong";
String[] peopleArray = people.split("; ");
for (String human : peopleArray) {
System.out.println(human);
}
/*
Output:
Philip J. Fry
Turanga Leela
Bender Bending Rodriguez
Hubert Farnsworth
Hermes Conrad
John D. Zoidberg
Amy Wong
*/
}
Bir elementiň setirdäki ýagdaýyny kesgitlemek
Java dilinde, String bir setirde bir nyşan / substringiň ýagdaýyny kesgitlemek üçin birnäçe usul hödürleýär:indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(String str)
indexOf(String str, int fromIndex)
lastIndexOf(int ch)
lastIndexOf(int ch, int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str, int fromIndex)
ch
- gözleýän nyşan (char
)str
- gözleg setirifromIndex
- elementi gözleýän ýeri- usullary
indexOf
- tapylan birinji elementiň ýagdaýyny yzyna gaýtarmak - usullary
lastIndexOf
- tapylan iň soňky elementiň ýagdaýyny yzyna gaýtarmak
A
:K
Z
Я
public static void main(String[] args) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println(alphabet.indexOf('A')); // 0
System.out.println(alphabet.indexOf('K')); // 10
System.out.println(alphabet.indexOf('Z')); // 25
System.out.println(alphabet.indexOf('Я')); // -1
}
Setirden aşaky bölek çykarmak
Setirden aşaky bölek çykarmak üçin Java-daky String synpy usullary üpjün edýär:substring(int beginIndex)
substring(int beginIndex, int endIndex)
public static void main(String[] args) {
String filePath = "D:\\Movies\\Futurama.mp4";
int lastFileSeparatorIndex = filePath.lastIndexOf('\\');
String fileName = filePath.substring(lastFileSeparatorIndex + 1);
System.out.println(fileName); //9
}
Setiri uly / kiçi harplara öwüriň:
Setir synpy setiri ýokarky we kiçi harplara öwürmegiň usullaryny hödürleýär:toLowerCase()
toUpperCase()
public static void main(String[] args) {
String fry = "Philip J. Fry";
String lowerCaseFry = fry.toLowerCase();
String upperCaseFry = fry.toUpperCase();
System.out.println(lowerCaseFry); // philip j. fry
System.out.println(upperCaseFry); // PHILIP J. FRY
}
Bu Java synpy bilen işlemek JavaRush onlaýn kursynyň başlangyç derejelerinde öwrenilýär:
- String bilen tanyşlyk 1-nji derejede, Java Sintaksis gözleginiň 4-nji leksiýasynda berilýär
- Stringiň içki gurluşy, substring usuly 2-nji derejede, Java Multithreading gözleginiň 3-nji leksiýasynda öwrenilýär
- Bir setirde aşaky bölegi tapmak, almak, pozmak Java Multithreading gözleginiň 2-nji derejesinde, 4-nji leksiýasynda öwrenilýär
- “String.format” usuly “Java Multithreading” gözleginiň 6-njy leksiýasynyň 2-nji derejesinde öz içine alýar
Goşmaça çeşmeler
String synpy baradaky maglumatlar JavaRush jemgyýetindäki beýleki makalalarda-da berilýär:- Java-daky setirler - Bu makala Java-da setirler bilen işlemegiň käbir esaslaryny öz içine alýar.
- Java setiri. Söhbetdeşlik soraglary we jogaplary, 1-nji bölüm - bu makalada söhbetdeşlik soraglary ara alnyp maslahatlaşylýar
String
, şeýle hem düşündirişler we kod mysallary bilen soraglara jogap berilýär. - Java-daky setirler (java.lang.String synpy) - bu makala String synpyny has çuňňur seljerýär we bu synp bilen işlemegiň kynçylyklaryny ara alyp maslahatlaşýar.
GO TO FULL VERSION