במדריך זה נלמד כיצד לעבוד עם מחרוזות ב-Java. מחרוזות, שנמצאות בשימוש כה נרחב בתכנות, הן רצף של תווים. בשפת התכנות Java, מחרוזות הן אובייקט. פלטפורמת Java מספקת מחלקה
String
ליצירה ומניפולציה של מחרוזות.
יצירת מחרוזות
הדרך הפשוטה ביותר ליצור מחרוזת נראית כך:String greeting = "Hello world!";
במקרה זה, "שלום עולם!" הוא מחרוזת מילולית (כלומר קבוע) המורכבת מרצף של תווים המוקפים במרכאות. בכל פעם שהמהדר נתקל במחרוזת מילולית, הוא יוצר אובייקט מסוג String
עם ערך, במקרה שלנו, "Hello World!". כמו כל אובייקט אחר, ניתן ליצור מחרוזת באמצעות מילת המפתח new
. למחלקה String
יש שלושה בנאים המאפשרים ליצור אובייקט באמצעות מקורות שונים, כגון מערך תווים .
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
השורה האחרונה של הדוגמה תדפיס שלום למסך . המחלקה String
היא בלתי ניתנת לשינוי, אז ברגע שאנו יוצרים אובייקט, איננו יכולים לשנות אותו. כמה שיטות שנבחן להלן יכולות לתקן זאת. כי String
בלתי ניתן לשינוי, שיטות אלו יוצרות ומחזירות מחרוזת חדשה המכילה את תוצאת הפעולה.
אורך מחרוזת Java
שיטות להשגת מידע על מחרוזת נקראות שיטות גישה. אחת מהשיטות הללוlength()
. הוא מחזיר את מספר התווים במחרוזת. בדוגמה הבאה len
זה יהיה 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
המשתנה palindrome
מכיל פלינדרום, כלומר. מילה או משפט שנקרא אותו דבר בשני הכיוונים. בואו נכתוב תוכנית קטנה שתהפוך פלינדרום. נשתמש בשיטה charAt(i)
, המחזירה את התו i-th של המחרוזת, החל ב- 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
ומצורפת אליה string2
. אתה יכול גם להשתמש בשיטה זו עם מילולי מחרוזת:
"My name is ".concat("Rumplestiltskin");
לרוב, מחרוזות מחוברות באמצעות +
האופרטור " ", לדוגמה:
"Hello," + " world" + "!"
התוצאה תהיה המחרוזת " שלום, עולם!" " האופרטור " +
" נמצא בשימוש נרחב להצגת מידע, לדוגמה:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
הקוד יוציא את " נקודה ראה הייתי טוד ". שרשור כזה יכול לשמש בשילוב עם כל אובייקט אחר. עבור אובייקטים שאינם מחרוזות, השיטה תיקרא 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);
אתה יכול להשתמש בקוד הזה:
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);
זה הכל! :) קישור למקור: Strings in Java
GO TO FULL VERSION