Salam! Programmistler köplenç işleýşi hakda pikir etmän usullary awtomatiki ulanýarlar. Bular bilmeli esasy usullar.
Uzyn setiriň bardygyny göz öňüne getiriň. Mysal üçin, bir hat, we adresçä ilkinji salgysynyň eýýäm bilýän adyňyz bilen bolýan ýerini tapmaly. Muny nädip eder? Usul görnüşleri
Usul No. 1
Usul, No.2
Usul, No. 3
Usul No. 4
Usul,
Artykmaç ýüklemek usuly näme?
Adynda agzalan usula göz aýlamazdan ozal, aşa ýüklemegiň haýsy usulydygyny ýadymyzdan çykaralyň (we kimdir biri biler). Java usuly artykmaç ýüklemek, bir klasda şol bir at bilen iki ýa-da has köp usuly kesgitlemäge mümkinçilik berýär. Bu diňe dürli giriş parametrleri bolan ýagdaýynda mümkindir. Bu ýagdaýda usullara artykmaç ýük diýilýär we prosesiň özi artykmaç ýüklemek usuly diýilýär. Usuly artykmaç ýüklemek Java-da polimorfizmiň esasy ýörelgelerinden biridir .indexOf
Synp usuly näme ?String
Uzyn setiriň bardygyny göz öňüne getiriň. Mysal üçin, bir hat, we adresçä ilkinji salgysynyň eýýäm bilýän adyňyz bilen bolýan ýerini tapmaly. Muny nädip eder? indexOf java
Synp usulyny ulanyň String
. Bu usul, ýokarda ara alyp maslahatlaşan usulymyzdan artykmaç ýüklemegiň adaty mysalydyr.
Usul görnüşleriindexOf
Usul java string indexOf
dört dürli üýtgeşiklige eýe:
No. 1indexOf(int ch)
Usul, int indexOf(int ch)
görkezilen simwolyň ilkinji gezek ýüze çykan setirinde indeksini gaýtaryp berýär. Başgaça aýdylanda, çepden saga sanap, berlen nyşanlaryň ilkinji ýüze çykmagynyň sanyny alarys. Mysal:
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf('e');
System.out.println(value);
}
Konsol çykyşy:
2
Gözleýän häsiýetimiz şu setirde bolmasa, -1 alarys.
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf('j');
System.out.println(value);
}
Konsol çykyşy:
-1
PS Hiç zady bulaşdyrmazlyk üçin, setirdäki nyşanlaryň “1,2,3 ...” däl-de, “0,1,2 ...” hasaplanýandygyny ýatdan çykarmaly däl.
No.2indexOf(int ch, int fromIndex)
Usul, int indexOf(int ch, int fromIndex)
görkezilen görkezijide gözleg başlap, görkezilen simwolyň ilkinji ýüze çykmagynyň bu setirinde indeksini gaýtaryp berýär. Bu usul öňküsiniň has döwrebaplaşdyrylan görnüşidir. Tapawut, gözlegiň hakykatda başlajak elementiniň sanyny görkezýäris. Mysal:
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf('e',5);
System.out.println(value);
}
Konsol çykyşy:
9
Gözlegiň geçiriljek görkezijisi setiriň uzynlygyndan ýokary bolsa, jogap -1 bolar. Üns berşiňiz ýaly, bu iki usulyň golunda (usullar argument hökmünde kabul edilýär), nyşanyň geçýän görnüşi int
däl-de, görkezilýär char
. Şeýle-de bolsa, iberdik char
. Sebäbi setirler baýt massiwinde saklanýar, bu ýerde öýjükler belli bir görnüşe laýyk gelýär char
. Baýtlaryň arasyndaky hat alyşma char
ASCII tablisasyna laýyklykda amala aşyrylýar. ASCII (maglumat alyşmak üçin Amerikanyň standart kody) umumy çap edilip bilinmeýän we çap edilmeýän nyşanlary san kodlaryna kartalaşdyrýan tablisadyr. Şonuň üçin belli bir nyşan geçende char
, awtomatiki usulda ASCII tablisasyndaky şol nyşany görkezýän sana öwrülýär. int
Şundan ugur alyp, ( ) belgini zerur belgä laýyk gelýän usula gönüden-göni geçirip bileris . Mysal üçin, ASCII tablisasyndaky 'e' nyşany 101 belgisine gabat gelýär, şonuň üçin öňki mysaly gaýtalap bileris, ýöne char
:
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf(101,5);
System.out.println(value);
}
Konsol çykyşymyz üýtgemedi:
9
PS Käbir ýagdaýlarda bu usullar çalşylýar, mysal üçin str.indexOf('e');
meňzeş bolar - str.indexOf('e', 0);
.
No. 3indexOf(String str)
Usul int indexOf(String str)
görkezilen substringiň ilkinji ýüze çykmagynyň berlen hatarynda indeksini gaýtaryp berýär. Birinji wariantdan düýpgöter tapawutlanýar, sebäbi bu usul eýýäm tutuş bir substringi gözleýär ( String
). Munuň netijesinde has anyk bir zady gözläp bileris. Mysal:
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);
}
Konsol çykyşy:
0
PS varihli üýtgeýişler indexOf
baş harp bilen ýazylýar: baş harplar (baş harplar) we kiçi harplar (kiçi harplar) başgaça hasaplanýar. Seresap boluň.
No. 4indexOf(String str, int fromIndex)
Usul, indexOf(String str, int fromIndex)
görkezilen indeksden başlap, görkezilen substringiň ilkinji ýüze çykmagynyň bu hataryndaky görkezijini yzyna gaýtaryp berýär. Bu opsiýa ýene-de has döwrebaplaşdyrylan wariant, ýöne gözlegiň geçiriljek ýerini görkezmek bilen. Mysal:
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);
}
Konsol çykyşy:
26
PS negativearamaz başlangyç indeksini görkezseňiz, usul indexOf
ony 0 hökmünde kabul eder. Bu ýagdaýda usul ýene öňki görnüşine meňzeýär (başlangyç görkezijisi görkezilmedik). Hemmesi şu gün üçin. Indi Java-yň kömegi bilen has köp bilimiňiz bar indexOf
!
GO TO FULL VERSION