» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
מחרוזות
דף ראשי  מתחילים  מערכים ומחרוזות  מחרוזות גרסה להדפסה

 

מחרוזות

 

מהי מחרוזת?

 

 מקובל לראות מחרוזת כרצף תווים המאוחסנים בזיכרון ונגישים בתור יחידה אחת.

 

מהי מחרוזת ב‑++C ?

 

כאמור לעיל, ++C אינה תומכת בטיפוס מחרוזת, אלא יש בה פשוט פורמט אחסון מוסכם,
שמתייחסים אליו כאל מחרוזת.

 

מהי מחרוזת ב‑Java ?

 

Java משתמשת במחרוזות באמצעות  מחלקת String ומחלקת StringBuffer .

 

מהי מחרוזת ליטראלית?

 

ב‑Java וגם ב‑++C, סדרה של תווים המוקפים במירכאות נחשבת כמחרוזת ליטראלית,
כמו בדוגמה הבאה.

 

"This is a string literal in either Java or C++."

 

 

זהו רק מבוא למחרוזות

 

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

 

אובייקטים מטיפוס String אינם ניתנים לשינוי

 

מרגע שנוצרו, אובייקטים מטיפוס String אינם ניתנים לשינוי. במידת הצורך, ניתן להשתמש במקום זאת באובייקטים מטיפוס StringBuffer .

 

ניתן להשתמש באובייקטים מטיפוס StringBuffer על מנת ליצור ולשנות נתוני-תו בעת ביצוע התוכנית.

 

חיבור מחרוזות

 

חיבור מחרוזות ב‑ ++C

 

ב‑++C ניתן לחבר שני "גושים" של נתוני מחרוזת באמצעות הפונקציה הסטנדרטית strcat().
כאשר אתה מחבר מחרוזות ב‑ ++
C, עליך להיות זהיר ולמנוע גלישה מעבר לגבולות מערך היעד האמור להכיל את המחרוזת המחוברת.

 

חיבור מחרוזות ב‑Java

 

Java תומכת בחיבור מחרוזות באמצעות האופרטור המועמס +, כפי שניתן לראות בדוגמה הבאה:

 

"My variable has a value of " + myVar
   + " at this point in the program."

 

 

כפיית  האופרנד הימני לצורת מחרוזת

 

נוסף על חיבור מחרוזות, Java גם ממירה בעת התהליך משתנים כגון myVar בדוגמה שלעיל לפורמט של מחרוזת תווים.

 

מערך של הצבעות על מחרוזות

 

הצהרת ויצירת מערך מחרוזות

 

ההוראה הבאה מצהירה ויוצרת מערך של הצבעות על חמישה אובייקטים מטיפוס String .

 

String[] myArrayOfStringReferences = new String[5];

 

בשלב זה עדיין אין נתוני מחרוזת

 

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

הקצאת זיכרון שיכיל אובייקטים מטיפוס String

 

myArrayOfStringReferences[0] = new String(
    "This is the first string.");
myArrayOfStringReferences[1] = new String(
    "This is the second string.");

 

האופרטור new אינו נחוץ עבור מחלקת String

 

באחד השיעורים הבאים נדון ביכולת של Java ליצור אובייקטים מטיפוס String מבלי להשתמש באופרטור new

 

מערכי מחוונים מטיפוס char ב‑++C

 

התהליך שתואר דומה לנוהג, המקובל ב‑ ++C, להקצות מערך של מחווני char ואז לגרום לכל מחוון כזה להצביע על נתון מחרוזת הממוקם אי-שם בזיכרון.
ב‑ ++
C מערך כזה מכונה לרוב "מערך מחוספס", משום שהאורך של מחרוזת אחת עשוי להיות שונה מהאורך של מחרוזת אחרת.

 

 

 05-01-04 / 18:35  נוצר ע"י רונית רייכמן  בתאריך 
 מערכים של אובייקטים - הקודםהבא - שאלות סיכום 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 4