JavaRush /Java Blog /Random-TK /Java-da setir synpy

Java-da setir synpy

Toparda çap edildi
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ň:
  1. Synp Serializablewe interfeýsleri amala aşyrýar CharSequence. Paketiň içine girendigi sebäpli java.lang, ony import etmegiň zerurlygy ýok.
  2. Java-daky setir synpy soňky synp bolup, çagasy bolup bilmez.
  3. 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.
  4. Üýtgemezligi sebäpli, setir synp obýektleri sapakdan howpsuz we köp sapakly gurşawda ulanylyp bilner.
  5. toStringJava-daky her bir obýekt, ähli Java synplarynyň synpdan miras galan usuly arkaly setire öwrüler Object.
Java-da setir synpy - 1

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, toStringobý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ňiz equals():
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ňiz String.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. IntegerSetiriň 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)
delimiterElement bölüji nirede we setir elementsmassiw / 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:
  1. indexOf(int ch)
  2. indexOf(int ch, int fromIndex)
  3. indexOf(String str)
  4. indexOf(String str, int fromIndex)
  5. lastIndexOf(int ch)
  6. lastIndexOf(int ch, int fromIndex)
  7. lastIndexOf(String str)
  8. lastIndexOf(String str, int fromIndex)
Nirede:
  1. ch- gözleýän nyşan ( char)
  2. str- gözleg setiri
  3. fromIndex- elementi gözleýän ýeri
  4. usullary indexOf- tapylan birinji elementiň ýagdaýyny yzyna gaýtarmak
  5. usullary lastIndexOf- tapylan iň soňky elementiň ýagdaýyny yzyna gaýtarmak
Gözleýän elementiňiz tapylmasa, usullar -1 setirini yzyna getirer. Iňlis elipbiýinde harplaryň seriýa belgisini tapmaga synanyşalyň , ýöne Java-da bir setirde nyşanlaryň indeksirlemegi noldan başlanýandygyny ýadyňyzdan çykarmaň A:KZЯ
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)
Faýlyň adyny onuň ýolundan almak üçin elementi ýerleşdirmek we substrat çykarmak usullaryny nädip ulanyp boljakdygyna seredeliň:
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()
Mysal ulanyp, bu usullaryň nähili işleýändigini göreliň:
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:

Goşmaça çeşmeler

String synpy baradaky maglumatlar JavaRush jemgyýetindäki beýleki makalalarda-da berilýär:
  1. Java-daky setirler - Bu makala Java-da setirler bilen işlemegiň käbir esaslaryny öz içine alýar.
  2. 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.
  3. 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.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION