Kas ir stīgas?
Virkne burtiskā nozīmē ir rakstzīmju sērija. Hei, vai jūs teicāt rakstzīmes, vai tas nav primitīvs datu tips Java. Jā, tāpēc tehniskajā ziņā Java pamata virkne būtībā ir rakstzīmju masīvs.
Tāpēc manu iepriekšējo “ ROSE ” virkni var attēlot šādi:
Šajā apmācībā jūs uzzināsiet
- Kas ir stīgas?
- Kāpēc izmantot virknes?
- Stīgu sintakses piemēri
- Stīgu savienošana
- Svarīgas Java virkņu metodes
Kāpēc izmantot virknes?
Viena no mūsdienu datorzinātņu galvenajām funkcijām ir cilvēka valodas apstrāde.
Līdzīgi kā skaitļi ir svarīgi matemātikai, valodas simboli ir svarīgi nozīmei un lēmumu pieņemšanai. Lai gan datora lietotājiem tas, iespējams, nav redzams, datori valodu fonā apstrādā tik precīzi un precīzi kā kalkulators. Palīdzības dialoglodziņi sniedz norādījumus. Izvēlnes nodrošina izvēli. Datu displejos tiek rādīti valodas statusi, kļūdas un reāllaika izmaiņas.
Kā Java programmētājs viens no galvenajiem valodas glabāšanas un apstrādes rīkiem būs String klase.
Stīgu sintakses piemēri
Tagad pievērsīsimies sintaksei, galu galā mums tas ir jāraksta Java kodā, vai ne.
Virkne ir rakstzīmju masīvs, kas attēlots kā:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
Tehniskā ziņā virkne ir definēta šādi iepriekš minētajā piemērā:
= new (argument);
Tagad mēs vienmēr nevaram ierakstīt virknes kā masīvus; tādējādi mēs varam definēt virkni Java šādi:
//Representation of StringString strSample_2 = "ROSE";
Tehniski iepriekšminētais tiek attēlots kā:
= ;
String klases Java paplašina šo objektu klasi.
Stīgu savienošana:
Savienošana ir divu vai vairāku virkņu savienošana.
Apskatiet zemāk redzamo attēlu-
Mums ir divas stīgas str1 = “Rock” un str2 = “Star”
Ja saskaitām šīs divas virknes, mums vajadzētu būt rezultātam str3 = “RockStar”.
Pārbaudiet zemāk redzamo koda fragmentu, un tas izskaidro divas metodes virkņu savienošanas veikšanai.
Pirmkārt, tiek izmantota virknes klases “ concat ” metode, bet otrā - aritmētiskais “+” operators. Abi rezultāti ir vienādi
publiskā klase Sample_String {public static void main (String [] args) {// Stīgu savienošanaString str1 = "Roks";Virkne str2 = "Zvaigzne";// 1. metode: concat izmantošanaVirkne str3 = str1.concat (str2);System.out.println (str3);// 2. metode: Operatora "+" izmantošanaVirkne str4 = str1 + str2;System.out.println (str4);}}
Svarīgas Java virkņu metodes:
Uzdosim dažus jautājumus Java String klasei un redzēsim, vai tā var uz tiem atbildēt;)
Stīgu "garuma" metode
Kā jūs noteiksit dotās virknes garumu? Esmu norādījis metodi, ko sauc par “garumu”. Izmantojiet to pret virkni, kas jums nepieciešama, lai atrastu garumu.
publiskā klase Sample_String {public static void main (String [] args) {// Mūsu parauga virkne šai apmācībaiString str_Sample = "RockStar";// Stīgas garumsSystem.out.println ("Virknes garums: + str_Sample.length ());}}
izeja:
Length of String: 8
Virknes "indexOf" metode
Ja es zinātu garumu, kā es atrastu, kurš raksturs atrodas kādā pozīcijā? Īsāk sakot, kā es atradīšu rakstzīmes indeksu?
Jūs pats atbildējāt, draugs, pastāv metode “indexOf”, kas palīdzēs jums noteikt konkrētas jūsu norādītās rakstzīmes atrašanās vietu.
publiskā klase Sample_String {public static void main (String [] args) {// Raksturs pozīcijāString str_Sample = "RockStar";System.out.println ("Raksts 5. pozīcijā: + str_Sample.charAt (5));// Dotā rakstura rādītājsSystem.out.println ("Rakstzīmes indekss 'S': + str_Sample.indexOf ('S'));}}
Izeja:
Character at position 5: tIndex of character 'S': 4
Virknes "charAt" metode
Līdzīgi kā iepriekš minētajā jautājumā, ņemot vērā indeksu, kā es varu zināt rakstzīmi šajā vietā?
Atkal vienkāršs !! Izmantojiet metodi “charAt” un norādiet indeksu, kura raksturs jums jāatrod.
publiskā klase Sample_String {public static void main (String [] args) {// Raksturs pozīcijāString str_Sample = "RockStar";System.out.println ("Raksts 5. pozīcijā: + str_Sample.charAt (5));}}
Izeja:
Character at position 5: t
Virknes "CompareTo" metode
Vai es vēlos pārbaudīt, vai virkne, kas izveidota ar kādu metodi, ir vienāda ar kaut ko, ar kuru es vēlos pārbaudīt? Kā es varu salīdzināt divas virknes?
Izmantojiet metodi “salīdzināt” un norādiet virkni, kuru vēlaties salīdzināt.
Izmantojiet “salīdzinātToIgnoreCase”, ja nevēlaties, lai rezultāts būtu reģistrjutīgs.Rezultāta vērtība būs 0, ja argumenta virkne ir vienāda ar šo virkni; vērtība ir mazāka par 0, ja šī virkne ir leksikogrāfiski mazāka par virknes argumentu; un vērtība ir lielāka par 0, ja šī virkne ir leksikogrāfiski lielāka par virknes argumentu.
publiskā klase Sample_String {public static void main (String [] args) {// Salīdzināt ar virkniString str_Sample = "RockStar";System.out.println ("Salīdzināt ar 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Salīdzināt ar - Ignorēt reģistruSystem.out.println ("Salīdzināt ar 'ROCKSTAR' - gadījums ignorēts: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Izeja:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Virknes "Satur" metode
Es daļēji zinu, kādai virknei vajadzēja būt, kā es varu apstiprināt, vai virknē ir norādīta rakstzīmju secība?
Izmantojiet metodi “satur” un norādiet pārbaudāmās rakstzīmes.
Atgriež true tikai tad, ja šajā virknē ir norādīta char vērtību secība.publiskā klase Sample_String {public static void main (String [] args) {// Pārbaudiet, vai virkne satur virkniString str_Sample = "RockStar";System.out.println ("Satur secību 'tar': + str_Sample.contains ("darva"));}}
Izeja:
Contains sequence 'tar': true
Virkne "beidzas ar" metodi
Kā es varu apstiprināt, vai virkne beidzas ar noteiktu sufiksu? Atkal jūs uz to atbildējāt. Izmantojiet metodi “endWith” un argumentos norādiet sufiksu.
Atgriež taisnību, ja argumenta attēlotā rakstzīmju secība ir šī objekta attēlotās rakstzīmju secības sufikss.publiskā klase Sample_String {public static void main (String [] args) {// Pārbaudiet, vai beidzas ar noteiktu secībuString str_Sample = "RockStar";System.out.println ("Beidzas ar rakstzīmi 'r': + str_Sample.endsWith ("r"));}}
Izeja:
EndsWith character 'r': true
Virknes "aizstāj ar visiem" un "aizstāj ar pirmo" metode
Es vēlos mainīt savu virkni vairākās vietās un aizstāt vairākas virknes daļas?
Java virknes Aizstāt, aizstāt visas un aizstāt pirmās metodes. Argumentos varat norādīt virknes daļu, kuru vēlaties aizstāt, un aizstājošo virkni.
publiskā klase Sample_String {public static void main (String [] args) {// Nomainiet Roku ar vārdu HercogsString str_Sample = "RockStar";System.out.println ("Aizstāt 'Rock' ar 'Duke': + str_Sample.replace ("Rock", "Duke"));}}
Izeja:
Replace 'Rock' with 'Duke': DukeStar
Virknes Java "tolowercase" un Java "lielo burtu" metode
Es vēlos, lai visa mana virkne tiktu parādīta ar mazajiem burtiem vai ar lielajiem burtiem?
Vienkārši izmantojiet “toLowercase ()” vai “ToUpperCase ()” metodes pret virknēm, kuras jāpārvērš.
publiskā klase Sample_String {public static void main (String [] args) {// Konvertēt uz LowerCaseString str_Sample = "RockStar";System.out.println ("Konvertēt uz LowerCase: + str_Sample.toLowerCase ());// Konvertēt uz UpperCaseSystem.out.println ("Konvertēt uz UpperCase: + str_Sample.toUpperCase ());}}
Izeja:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Svarīgi norādījumi:
- Stīgas ir noslēdzošā klase ; ti, kad vērtība ir izveidota, to vairs nevar mainīt. Tādējādi stīgu objektus sauc par nemainīgiem.
- Java virtuālā mašīna (JVM) izveido atmiņas vietu īpaši virknēm, ko sauc par virkņu nemainīgu kopu . Tāpēc virkni var inicializēt bez “new” atslēgvārda.
- Stīgu klase ietilpst java.lang . Stīgu hierarhija . Bet nav nepieciešams importēt šo klasi. Java platforma tos nodrošina automātiski.
- Virknes atsauci var ignorēt, bet tas neizdzēš saturu ; ti, ja
Virkne h1 = "sveiki";
h1 = "sveiki" + "pasaule";
tad "sveiki" virkne netiek izdzēsta. Tas vienkārši zaudē rokturi.
- Vienai virknei var izmantot vairākas atsauces, bet tās notiks tajā pašā vietā ; ti, ja
Virkne h1 = "sveiki";
Virkne h2 = "sveiki";
Virkne h3 = "sveiki";
tad atmiņā tiek izveidots tikai viens String “hello” baseins ar 3 atsaucēm - h1, h2, h3
- Ja skaitlis tiek citēts “”, tas kļūst par virkni , nevis skaitli. Tas nozīmē, ja
Virkne S1 = "Skaitlis ir: + "123" + "456";
Sistēma. out .println (S1);
tad tas izdrukās: Numurs ir: 123456
Ja inicializācija ir šāda:
Virkne S1 = "Skaitlis ir: + (123 + 456);
Sistēma. out .println (S1);
tad tas izdrukās: Skaitlis ir: 579 Tas viss ir līdz stīgām!