הורד דפי עבודה

‫תווים‬
‫• הגדרה ושימוש במשתנה מסוג ‪.char‬‬
‫• ‪ASCII‬‬
‫תווים‬
‫• תווים – ‪ – Characters‬הינם הסימנים המיוחדים‬
‫שאנו משתמשים בהם בקלט אנושי – אותיות‪,‬‬
‫סימני פיסוק‪ ,‬רווחים וכו'‪.‬‬
‫• ניתן לשמור תו בודד במשתנה מסוג ‪:char‬‬
‫{ )‪public static void main(String[] args‬‬
‫;‪char c1, c2‬‬
‫שגיאת קומפילציה – בלי סימן הגרש ;‪c1 = a‬‬
‫;’‪c1 = ‘a‬‬
‫הקומפיילר יחפש משתנה בשם ‪.a‬‬
‫;’?‘ = ‪c2‬‬
‫}‬
‫‪ASCII‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫אנו יודעים שהמחשב יודע לשמור בזיכרון רק‬
‫מספרים‪ ,‬לפיכך גם התווים מיוצגים במספרים‪.‬‬
‫לכל תו ישנו יצוג מספרי ייחודי במחשב‪ .‬מספר זה‬
‫נקרא "מספר ‪"ASCII‬‬
‫‪American Standard Code for – ASCII‬‬
‫‪Information Interchange‬‬
‫כאשר המחשב שומר תו‪ ,‬הוא בעצם שומר את‬
‫הייצוג המספרי שלו‪.‬‬
‫‪ASCII‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫למשל‪ ,‬המספר ‪ 97‬מייצג את התו ’‪.‘a‬‬
‫המספר ‪ 65‬מייצג את התו ’‪.‘A‬‬
‫המספר ‪ 63‬מייצג את התו ’?‘‪.‬‬
‫התווים ’‪ ‘A‬עד ’‪ ‘Z‬מיוצגים ע"י מספרים עוקבים‪.‬‬
‫התווים ’‪ ‘a‬עד ’‪ ‘z‬מיוצגים ע"י מספרים עוקבים‪.‬‬
‫התווים ’‪ ‘0‬עד ’‪ ‘9‬מיוצגים ע"י מספרים עוקבים‪.‬‬
ASCII
‫ ניתן להתייחס‬,‫• כיוון שיש סדר מספרי בין התווים‬
:‫ למשל‬,‫אל התווים גם כאל מספרים‬
public static void main(String[] args) {
char c1 = ‘a’, c2 = ‘b’;
if(c1 < c2) true
System.out.println(“Smaller”);
}
ASCII
?‫• מה היתה התשובה במקרה הזה‬
public static void main(String[] args) {
char c1 = ‘#’, c2 = ‘*’;
if(c1 < c2)
System.out.println(“Smaller”);
}
.‘#’ ‫ של ’*‘ ושל‬ASCII-‫תלוי מה ערך ה‬
‫ הקוד הבא מדפיס על המסך את כל‬,‫• למשל‬
:‫האותיות הקטנות‬
public static void main(String[] args) {
for(char c = ‘a’; c <= ‘z’; c++)
System.out.println(c);
}
true ‫• נכתוב שיטה שמקבלת כפרמטר תו ומחזירה‬
.‫ אחרת‬false-‫אם התו מייצג אות (גדולה או קטנה) ו‬
public class CharMethods {
public static boolean isLetter(char c)
{
if((c >= ‘a’ && c <= ‘z’) || (c >= ‘A’ && c <= ‘Z’))
return true;
return false;
}
}
‫ אם התו הוא‬.‫• נכתוב שיטה המקבלת כפרמטר תו‬
.‫ השיטה תחזיר את התו באות קטנה‬,‫אות גדולה‬
.97 ‫‘ הוא‬a’ ‫ ושל‬65 ‫‘ הוא‬A’ ‫ של‬ASCII-‫• מספר ה‬
public class CharMethods {
public static char toLower(char c) {
final int CAPITAL_TO_SMALL = 32;
if(c >= ‘A’ && c <= ‘Z’)
c += CAPITAL_TO_SMALL;
return c;
}
}
‫תרגיל‬
‫• הוסיפו למחלקה ‪ CharMethods‬שיטה שחתימתה‪:‬‬
‫)‪public static boolean isDigit(char c‬‬
‫• השיטה תקבל כפרמטר תו שמייצג ספרה‪ ,‬ותחזיר‬
‫‪ true‬אם התו מייצג ספרה )‪ )9 – 0‬ו‪ false-‬אחרת‪.‬‬