יצירת מחרוזת

מחרוזת ב-Java היא אובייקט מטיפוס String. ניתן ליצור אותה בקלות:

String s1 = "שלום עולם";
String s2 = "";           // מחרוזת ריקה
String s3 = "abc123";

מחרוזות ב-Java הן immutable – לא ניתן לשנות אותן לאחר יצירה. כל פעולה מחזירה מחרוזת חדשה.

טבלת פעולות חשובות

פעולהתיאורדוגמהתוצאה
length()מחזירה את אורך המחרוזת"hello".length()5
charAt(i)מחזירה את התו במיקום i"hello".charAt(1)'e'
substring(from, to)מחזירה תת-מחרוזת מ-from עד to (לא כולל)"hello".substring(1, 4)"ell"
substring(from)מחזירה תת-מחרוזת מ-from עד הסוף"hello".substring(2)"llo"
indexOf(str)מחזירה את מיקום ההופעה הראשונה"hello".indexOf("ll")2
equals(str)האם שתי מחרוזות זהות"abc".equals("abc")true
compareTo(str)השוואה לקסיקוגרפית"a".compareTo("b")שלילי (<0)
toUpperCase()ממירה לאותיות גדולות"hello".toUpperCase()"HELLO"
toLowerCase()ממירה לאותיות קטנות"HELLO".toLowerCase()"hello"

length() – אורך מחרוזת

מחזירה את מספר התווים במחרוזת:

String s = "שלום";
int len = s.length();  // len = 4

charAt(i) – גישה לתו לפי אינדקס

מחזירה את התו (char) במיקום i. האינדקס מתחיל מ-0:

String s = "ABCDE";
char c = s.charAt(0);  // c = 'A'
char d = s.charAt(4);  // d = 'E'

substring – חיתוך מחרוזת

String s = "ABCDEF";
String sub1 = s.substring(2, 5);  // "CDE" (מ-2 עד 4, לא כולל 5)
String sub2 = s.substring(3);     // "DEF" (מ-3 עד הסוף)

indexOf – חיפוש במחרוזת

String s = "hello world";
int pos = s.indexOf("world");  // pos = 6
int notFound = s.indexOf("xyz"); // notFound = -1

אם המחרוזת לא נמצאת – מוחזר -1.

equals ו-compareTo – השוואת מחרוזות

String a = "abc";
String b = "abc";

a.equals(b)       // true – תוכן זהה
a.compareTo(b)    // 0 – שוות לקסיקוגרפית
"a".compareTo("b") // שלילי – "a" לפני "b"
"b".compareTo("a") // חיובי – "b" אחרי "a"

סריקת כל התווים במחרוזת

String s = "Hello";
for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    System.out.println(c);
}

שאלות נפוצות

מה ההבדל בין equals ל-== ?

== משווה הפניות – בודק אם שני המשתנים מצביעים לאותו אובייקט. equals משווה תוכן. תמיד השתמשו ב-equals להשוואת מחרוזות!

האם אפשר לשנות תו בודד במחרוזת?

לא ישירות. מחרוזות הן immutable. צריך לבנות מחרוזת חדשה, למשל באמצעות substring ושרשור.

מה ההבדל בין length() ל-length?

length() עם סוגריים – זו פעולה (method) של String. length בלי סוגריים – זה שדה (field) של מערך. אל תתבלבלו ביניהם!

צריכים עזרה במחרוזות?

מורים פרטיים ילמדו אתכם String מאפס ועד בגרות.

מצאו מורה פרטי