JavaRush /Java блогу /Random-KY /String классынын IndexOf ыкмасы: ал эмне үчүн керек жана ...

String классынын IndexOf ыкмасы: ал эмне үчүн керек жана ал кантип иштейт

Группада жарыяланган
Салам! Программисттер көбүнчө ыкмаларды автоматтык түрдө колдонушат, алар кандай иштээри жөнүндө ойлонбостон. Бул сиз бorшиңиз керек болгон негизги техникалар.

Методду ашыкча жүктөө деген эмне?

Аталышында айтылган ыкманы карап чыгуудан мурун, ашыкча жүктөө кандай ыкма экенин эстеп көрөлү (жана кимдир бирөө билет). Java ыкмасын ашыкча жүктөө бир класстын ичинде бирдей аталыштагы эки же андан көп ыкмаларды аныктоого мүмкүндүк берет. Бул алардын ар кандай киргизүү параметрлери болгондо гана мүмкүн болот. Бул учурда методдор ашыкча жүктөө деп аталат, ал эми процесстин өзү методду ашыкча жүктөө деп аталат. Методду ашыкча жүктөө Javaдагы полиморфизмдинString классынын IndexOf ыкмасы: ал эмне үчүн керек жана ал кантип иштейт - 1 негизги принциптеринин бири .

indexOfКласс ыкмасы эмне үчүн керек?String

Элестетиңиз, сизде узун жип бар. Мисалы, кат жана сиз мурунтан эле билген ат менен дарек ээсине биринчи кайрылуу орун алган жерди табышыңыз керек. Муну кантип кыласың? indexOf javaКласс ыкмасын колдонуңуз String. Бул ыкма, биз жогоруда талкууланган ыкманы ашыкча жүктөөнүн типтүү мисалы болуп саналат.

Метод параметрлериindexOf

Метод java string indexOfтөрт түрдүү вариацияга ээ:

№1.indexOf(int ch)

Метод int indexOf(int ch)көрсөтүлгөн белгинин биринчи жолу кездешүүсүнүн берилген сапындагы индексти кайтарат. Башкача айтканда, биз солдон оңго карай санап, берилген белгинин биринчи жолу келген санын алабыз. Мисал:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
Консолдук чыгаруу:

2
Эгерде биз издеп жаткан каарман бул сапта жок болсо, анда -1 алабыз.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
Консолдук чыгаруу:

-1
PS Эч нерсени чаташтырбоо үчүн, саптагы символдор “1,2,3...” эмес, “0,1,2...” чейин саналаарын унутпашыңыз керек.

№ 2.indexOf(int ch, int fromIndex)

Метод int indexOf(int ch, int fromIndex)издөөнү көрсөтүлгөн индекстен баштап, көрсөтүлгөн символдун биринчи жолу кездешүүсүнүн бул саптагы индексин кайтарат. Бул ыкма мурунку бир кыйла модернизацияланган version болуп саналат. Айырмасы, биз издөө иш жүзүндө баштала турган элементтин санын көрсөтөбүз. Мисал:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
Консолдук чыгаруу:

9
Эгерде издөө жүргүзүлө турган индекс саптын узундугунан ашып кетсе, анда жооп -1 болот. String классынын IndexOf ыкмасы: ал эмне үчүн керек жана ал кантип иштейт - 2Сиз байкагандай, бул эки ыкманын кол тамгасында (ыкмалар аргумент катары эмнени алат) өткөрүлүп жаткан символдун түрү intэмес, катары көрсөтүлгөн char. Бирок, өткөрүп бердик char. Себеби саптар byte массиви катары сакталат, мында клеткалар түрдөгү белгилүү бир белгиге туура келет char. Байттар ортосундагы кат алышуу charASCII tableсы боюнча жүргүзүлөт. ASCII (маалымат алмашуу үчүн Американын стандарттык codeу) – бул жалпы басып чыгарууга жана басып чыгарууга мүмкүн эмес белгилерди сандык codeдорго салыштырган table. Демек, белгилүү бир белги өткөндө char, ал автоматтык түрдө ASCII tableсында ошол символду көрсөткөн санга айланат. Мунун негизинде биз ( int) санын түз бизге керектүү белгиге туура келген ыкмага өткөрө алабыз. Мисалы, ASCII tableсындагы 'e' символу 101 санына туура келет, ошондуктан биз мурунку мисалды кайталай алабыз, бирок char:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
Биздин консолдук чыгаруу өзгөргөн жок:

9
PS Кээ бир учурларда, бул ыкмаларды алмаштырса болот, мисалы, str.indexOf('e');окшош болот - str.indexOf('e', 0);.

№3.indexOf(String str)

Метод int indexOf(String str)көрсөтүлгөн саптын биринчи пайда болушунун берилген сапындагы индексти кайтарат. Бул биринчи варианттан түп-тамырынан бери айырмаланат, анткени бул ыкма бүтүндөй бир подсапты ( String) издейт. Мунун аркасында биз конкреттүү бир нерсени издей алабыз. Мисал:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego");
   System.out.println(value);
}
Консолдук чыгаруу:

0
PS Бардык вариациялар indexOfрегистрге сезимтал: чоң тамгалар (баш тамгалар) жана кичине тамгалар (кичине тамгалар) ар башка болуп эсептелет. Абайла.

№ 4.indexOf(String str, int fromIndex)

Метод indexOf(String str, int fromIndex)көрсөтүлгөн индекстен баштап, көрсөтүлгөн субсаптын биринчи пайда болушунун бул сапындагы индексти кайтарат. Бул вариант дагы модернизацияланган мурунку вариант, бирок издөө кайсы жерден жүргүзүлө турганын көрсөтүү менен. Мисал:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego", 1);
   System.out.println(value);
}
Консолдук чыгаруу:

26
PS Терс башталыш индексин көрсөтсөңүз, ыкма indexOfаны 0 катары кабыл алат. Бул учурда, ыкма кайрадан мурункуга окшош болот (мында башталгыч индекс көрсөтүлбөйт). Мунун баары бүгүн үчүн. Эми сиз Java аркылуу көбүрөөк бorмге ээ болдуңуз indexOf!
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION