JavaRush /Блоги Java /Random-TG /Усули IndexOf синфи String: чаро он лозим аст ва чӣ тавр ...

Усули IndexOf синфи String: чаро он лозим аст ва чӣ тавр кор мекунад

Дар гурӯҳ нашр шудааст
Салом! Барномасозон аксар вақт усулҳоро ба таври худкор истифода мебаранд, бидуни он ки чӣ тавр кор мекунанд. Инҳо усулҳои асосӣ мебошанд, ки шумо бояд донед.

Усули изофабори чист?

Пеш аз он ки мо ба усули дар сарлавҳа зикршуда назар кунем, биёед дар хотир дорем (ва касе медонад), ки усули изофаборкунӣ чист. Боркунии изофабори усули Java имкон медиҳад, ки ду ё зиёда усулҳо бо ҳамон ном дар дохor як синф муайян карда шаванд. Ин танҳо дар сурате имконпазир аст, ки онҳо параметрҳои гуногуни вуруд дошта бошанд. Дар ин ҳолат усулҳоро изофаборӣ меноманд ва худи равандро изофабори метод меноманд. Усули IndexOf синфи String: чаро он лозим аст ва чӣ тавр кор мекунад - 1Усули изофабори яке аз принсипҳои асосии полиморфизм дар Java мебошад.

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 хоҳад буд. Усули IndexOf синфи String: чаро он лозим аст ва чӣ тавр кор мекунад - 2Тавре ки шумо мушоҳида кардаед, дар имзои ин ду усул (он чизе, ки усулҳо ҳамчун аргумент мегиранд) навъи аломати интиқолшаванда ҳамчун int, нишон дода шудааст, на char. Бо вуҷуди ин, мо интиқол додем char. Сабаб дар он аст, ки сатрҳо ҳамчун массиви byte нигоҳ дошта мешаванд, ки дар он ҳуҷайраҳо ба аломати мушаххаси навъи char. Мутобиқати байни byteҳо charмувофиқи ҷадвали ASCII сурат мегирад. ASCII (рамзи стандартии амрикоӣ барои мубодилаи иттилоот) ҷадвалест, ки аломатҳои маъмули чопшаванда ва чопнашавандаро бо рамзҳои ададӣ харита мекунад. Аз ин рӯ, вақте ки аломати муайян интиқол дода мешавад char, он ба таври худкор ба рақаме табдил меёбад, ки он аломатро дар ҷадвали ASCII ифода мекунад. Дар асоси ин, мо метавонем рақами ( int)-ро мустақиман ба усуле гузаронем, ки ба аломати ба мо лозим аст. Масалан, аломати 'e' дар ҷадвали ASCII ба рақами 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 қабул мекунад. Дар ин ҳолат, усул боз ба усули қаблӣ монанд хоҳад буд (дар он индекси ибтидоӣ муайян карда нашудааст). Ин ҳама барои имрӯз аст. Акнун шумо ба шарофати indexOfJava дониши бештар доред!
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION