🔤 מחרוזות (String) ב-Java

📘 תוכן עניינים:

  1. מה זה String?
  2. charAt
  3. compareTo
  4. length
  5. equals
  6. עוד פעולות שימושיות

🔍 מה זה String?

String היא מחלקה ב-Java שמייצגת רצף של תווים, כמו מילה או משפט. לדוגמה: "Hello World".

🔠 charAt

השיטה charAt מאפשרת לגשת לתו שנמצא במקום מסוים במחרוזת לפי אינדקס (המיקום מתחיל מ-0).

String word = "Hello";
char letter = word.charAt(1);
System.out.println(letter); // מדפיס 'e' כי האינדקס 1 הוא התו השני

⚖️ compareTo

השיטה compareTo משווה בין שתי מחרוזות לפי סדר לקסיקוגרפי (מילוני). היא מחזירה 0 אם הן שוות, מספר חיובי אם הראשונה "גדולה" יותר, ושלילי אם השנייה גדולה.

String a = "apple";
String b = "banana";
int result = a.compareTo(b);
System.out.println(result); // תוצאה שלילית כי 'apple' בא לפני 'banana'

📏 length

השיטה length מחזירה את מספר התווים במחרוזת.

String txt = "Java";
int len = txt.length();
System.out.println(len); // מדפיס 4 כי יש 4 תווים

✅ equals

השיטה equals משווה בין מחרוזות ובודקת אם הן זהות בתוכן (ולא רק מצביעות לאותו אובייקט).

String a = "hello";
String b = "hello";
boolean isEqual = a.equals(b);
System.out.println(isEqual); // מדפיס true

🛠️ עוד פעולות שימושיות

  • toUpperCase / toLowerCase – שינוי אותיות לגדולות או קטנות
  • substring(start, end) – חיתוך חלק מהמחרוזת לפי אינדקסים
  • indexOf – מחזיר את המיקום של תו או תת-מחרוזת
  • contains – מחזיר true אם תת-מחרוזת קיימת
  • replace – מחליף תו אחד באחר
  • trim – מסיר רווחים מיותרים בתחילת ובסוף מחרוזת

📏 הדפסת מחרוזות עם אורך זוגי

בתרגיל הבא נקלוט מהמשתמש 40 מחרוזות, ונדפיס רק את אלו שאורכן זוגי. הפעולה מתבצעת בשתי לולאות עוקבות – אחת לקליטה, והשנייה להדפסה של מחרוזות העומדות בתנאי.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // יצירת סורק לקליטת נתונים
        String[] phrases = new String[40]; // יצירת מערך לאחסון 40 מחרוזות

        // לולאה לקליטת 40 מחרוזות
        for (int i = 0; i < phrases.length; i++) {
            System.out.print("הכנס מחרוזת מספר " + (i + 1) + ": ");
            phrases[i] = scanner.nextLine(); // קריאת מחרוזת והכנסתה למערך
        }

        System.out.println("\nהמחרוזות שאורכן זוגי הן:");

        // לולאה העוברת על המערך ובודקת אורך
        for (int i = 0; i < phrases.length; i++) {
            if (phrases[i].length() % 2 == 0) {
                System.out.println(phrases[i]); // הדפסת מחרוזת אם האורך זוגי
            }
        }

        scanner.close(); // סגירת הסורק
    }
}

🧠 הסברים שורה־שורה:

  • Scanner scanner = new Scanner(System.in); – יצירת סורק לקריאת מחרוזות מהמשתמש.
  • String[] phrases = new String[40]; – הגדרת מערך בגודל 40 לשמירת הקלט.
  • לולאת for קולטת כל מחרוזת לפי מספר סידורי ומכניסה למערך.
  • בלולאה השנייה – עבור כל מחרוזת נבדק האם האורך שלה זוגי.
  • אם כן – היא מודפסת למסך.
  • לבסוף, סגירת הסורק – פעולה מומלצת לשחרור המשאב.