Бул окуу куралында биз Java тorнде саптар менен иштөөнү үйрөнөбүз. Программалоодо кеңири колдонулган саптар символдордун ырааттуулугу. Java программалоо тorнде саптар an object болуп саналат.
String
Java платформасы саптарды түзүү жана манипуляциялоо үчүн классты камсыз кылат .
Саптарды түзүү
Сапты түзүүнүн эң жөнөкөй жолу төмөнкүдөй көрүнөт:String greeting = "Hello world!";
Бул учурда "Салам дүйнө!" тырмакчага алынган символдордун ырааттуулугунан турган сап литералы (б.а. туруктуу). Компилятор сап литералына жолуккан сайын, ал String
мааниси бар типтеги an objectти түзөт, биздин учурда, "Hello World!". Башка an object сыяктуу эле, сап ачкыч сөздү колдонуу менен түзүлүшү мүмкүн new
. Класста String
үч конструктор бар, алар ар кандай булактарды колдонуу менен an object түзүүгө мүмкүндүк берет, мисалы символдор массиви .
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
Мисалдын акыркы сабы экранга салам басып чыгарат . Класс String
өзгөрүлгүс, ошондуктан an objectти түзгөндөн кийин аны өзгөртө албайбыз. Төмөндө карап чыга турган кээ бир ыкмалар муну оңдой алат. Анткени String
өзгөрүлгүс, бул ыкмалар операциянын натыйжасын камтыган жаңы сапты түзөт жана кайтарат.
Java сап узундугу
Сап жөнүндө маалымат алуу ыкмалары кирүү методдору деп аталат. Бул ыкмалардын бириlength()
. Ал саптагы символдордун санын кайтарат. Төмөнкү мисалда len
17 болот:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
Өзгөрмө palindrome
палиндромду камтыйт, б.а. эки жагынан бирдей окуган сөз же сүйлөм. Келгиле, палиндромду тескери кыла турган кичинекей программа жазалы. Биз саптын icharAt(i)
- белгисин кайтаруучу ыкмасын колдонобуз . 0
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
//создадим из строки
// массив символов
for (int i = 0; i < len; i++) {
tempCharArray[i] =
palindrome.charAt(i);
}
// перевернем массив символов
for (int j = 0; j < len; j++) {
charArray[j] =
tempCharArray[len - 1 - j];
}
String reversePalindrome =
new String(charArray);
System.out.println(reversePalindrome);
}
}
Программа басып чыгарат
doT saw I was toD
Сапты артка кайтаруу үчүн, биз алгач саптан символдордун массивин түздүк (биринчи цикл), андан кийин жаңы массив түздүк, ага биз инверттелген биринчи массивди жаздык, андан кийин жаңы сап түздүк. Класста символдордун массивин кайтаруучу String
метод бар , ошондуктан биринчи циклди сызык менен алмаштырууга болот:getChars()
palindrome.getChars(0, len, tempCharArray, 0);
Сапты бириктирүү
КлассString
эки сапты бириктирүү ыкмасын ишке ашырат:
string1.concat(string2);
string1
Бул code аны камтыган жана ага тиркелген жаңы сапты кайтарат string2
. Бул ыкманы сап литералдары менен да колдонсоңуз болот:
"My name is ".concat("Rumplestiltskin");
Көбүнчө саптар “ +
” операторунун жардамы менен кошулат, мисалы:
"Hello," + " world" + "!"
Натыйжада " Салам, дүйнө!" " " +
" оператору маалыматты көрсөтүү үчүн кеңири колдонулат, мисалы:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
Код " Ток көрдүм, мен Тод болчумун " чыгарат . Мындай бириктирүү ар кандай башка an objectтер менен бирге колдонулушу мүмкүн. Саптар эмес an objectтер үчүн метод toString()
аларды саптарга айландыруучу деп аталат. Саптын чыгаруу форматын орнотуу Биз сандардын чыгышын форматтоо printf()
ыкмаларын карап чыктык . format()
Класста String
сапты кайтарган окшош ыкма бар. Статикалык ыкманы колдонуу менен format()
кайра колдонула турган биржа үлгүсүн түзүүгө болот, мисалы:
System.out.printf ("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, "
"and the string is %s",
floatVar, intVar, stringVar);
сиз бул codeду колдоно аласыз:
String fs;
fs = String.format("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, " +
" and the string is %s",
froatVar, intVar, stringVar);
System.out.println(fs);
Баары болду! :) Булакка шилтеме: Javaдагы саптар
GO TO FULL VERSION