49
ל''ל ללללל ללל ל''ל ללללל ללל ללללללל ללללללל לללל ללללל ללללל לללל ללללל ללללל ללללל ללללל7/02/07 7/02/07 ללללללל, לללל, לללללל ללל/ללל, ללללללל, לללל, לללללל ללל/ללל, ללללללללל, ללללללללל, ללללל לללללל לללללל ללללל לללללל ללללל לללללל לללללל ללללל לללללל

השתלמות מדעי המחשב בשפות חדשות 7/02/07

  • Upload
    allayna

  • View
    104

  • Download
    8

Embed Size (px)

DESCRIPTION

השתלמות מדעי המחשב בשפות חדשות 7/02/07. טיפוסים, המרה, פעולות קלט/פלט, אופרטורים, התאמת סביבות העבודה לצרכי ההוראה. טיפוסים פרימיטיביים. ~ 10 19. כמה מילישניות יש בחודש?. 86400000. System.out.println(1000*60*60*24); System.out.println(1000*60*60*24*7); - PowerPoint PPT Presentation

Citation preview

Page 1: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

השתלמותהשתלמות מדעי המחשב בשפות מדעי המחשב בשפות

חדשותחדשות7/02/077/02/07

טיפוסים, המרה, פעולות קלט/פלט, אופרטורים, טיפוסים, המרה, פעולות קלט/פלט, אופרטורים, התאמת סביבות העבודה לצרכי ההוראההתאמת סביבות העבודה לצרכי ההוראה

Page 2: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

ערכי מינימום ומקסימוםערכי מינימום ומקסימום מספר מספר הביטיםהביטים

סוג הערךסוג הערך הטיפוסהטיפוס

falsefalse או או truetrue 11 truetrue או אוfalsefalse booleanboolean\\U0000U0000 עד עד\\UFFFFUFFFF 1616 Unicode Unicode

CharactersCharacterscharchar

127127- עד - עד 128128מ-מ- 88 מספר שלם חיובי או מספר שלם חיובי או שלילי או אפסשלילי או אפס

bytebyte

3276732767 עד עד 3276832768--מ-מ- 1616 מספר שלם חיובי או מספר שלם חיובי או שלילי או אפסשלילי או אפס

shortshort

21474836472147483647 עד עד 21464836482146483648--מ-מ- 3232 מספר שלם חיובי או מספר שלם חיובי או שלילי או אפסשלילי או אפס

intint

ממספר שלם מאוד גדול וחיובי עד מספר שלילי ממספר שלם מאוד גדול וחיובי עד מספר שלילי קטן במיוחדקטן במיוחד

- -9.223.372.036.854.775.8089.223.372.036.854.775.808מ- מ- 9.223.372.036.854.775.8079.223.372.036.854.775.807עד עד

6464 מספר שלם חיובי או מספר שלם חיובי או שלילי או אפסשלילי או אפס

longlong

~1019

טיפוסים פרימיטיבייםטיפוסים פרימיטיביים

Page 3: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

??כמה מילישניות יש בחודשכמה מילישניות יש בחודש System.out.println(1000*60*60*24); System.out.println(1000*60*60*24*7); System.out.println(1000*60*60*24*30);

86400000

604800000

-1702967296

Page 4: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

הצהרה על משתניםהצהרה על משתנים

int a;int a; int a,b;int a,b; int a=10, b;int a=10, b; int a=10, b=2*a;int a=10, b=2*a; int a=IO.readInt(“ enter the number”);int a=IO.readInt(“ enter the number”);

אפשר להצהיר על משתנה בכל רגע

Page 5: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

!!אין ברירת מחדלאין ברירת מחדל

public static void main(String args[]){ int a; System.out.println("Hello, Java's world"); System.out.println(a);}

Error: variable a might not have been initialized

Page 6: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

אפשר להצהיר על משתנה רק פעם אחת בתוך אפשר להצהיר על משתנה רק פעם אחת בתוך בלוקבלוק

public static void main(String args[]){ System.out.println("Hello, Java's world"); int a=10; System.out.println(a); int a=100; System.out.println(a); }

Error: a is already defined in main(java.lang.String[])

public static void main(String args[]){ int a=10; if (a>10){ int b=5; System.out.println(a+b); } else { int b=100; System.out.println(b); } }

Page 7: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

!!לכל משתנה חייב להיות ערךלכל משתנה חייב להיות ערך

Error: variable b might not have been initialized

public static void main(String args[]){ System.out.println("Hello, Java's world"); int a=10;

int b; if(a>0)System.out.println(a); else System.out.println(b); }

Page 8: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

?? XX למה שווהלמה שווה

int x=…int x=…int y=-x;int y=-x;If(x==y)System.out.println(“Yes”);If(x==y)System.out.println(“Yes”);else System.out.println(“No”);else System.out.println(“No”);

ערך מינימאלי ל- ;2147483648-;0int//

int x= 2147483648; int y=-x;If(x==y)System.out.println(“Yes”);else System.out.println(“No”);

Error: integer number too large: 2147483648

Page 9: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

אופרטורים מתמטיים שפועליםאופרטורים מתמטיים שפועלים על ערכים שלמים על ערכים שלמים

num1 - num2num1 - num2 חישוב ההפרש בין שני ערכיםחישוב ההפרש בין שני ערכים --num1 + num2num1 + num2 חישוב הסכום של שני ערכיםחישוב הסכום של שני ערכים ++num1 * num2num1 * num2 חישוב המכפלה בין שני ערכיםחישוב המכפלה בין שני ערכים **num1 / num2num1 / num2 חישוב המנה שמתקבלת חישוב המנה שמתקבלת

מחלוקת ערך אחד באחרמחלוקת ערך אחד באחר//

num1 % num2num1 % num2 חישוב השארית שמתקבלת חישוב השארית שמתקבלת מחלוקת מספר אחד במספר מחלוקת מספר אחד במספר

שנישני

%%

Page 10: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

(כשהוא מטיפוס (כשהוא מטיפוס 55ייצוגו הבינארי של המספר ייצוגו הבינארי של המספר intint:(:( 0101 0000 0000 00000101 0000 0000 0000

(כשהוא מטיפוס (כשהוא מטיפוס 1212ייצוגו הבינארי של המספר ייצוגו הבינארי של המספר intint :( :(1100 0000 0000 00001100 0000 0000 0000

בין שני הערכים האלה היא: בין שני הערכים האלה היא: &&תוצאת פעולת ה-תוצאת פעולת ה- 01000100 00000000 00000000 00000000

לוגי ברמת הביטים בין לוגי ברמת הביטים בין ANDAND אופרטור זה מבצע פעולתאופרטור זה מבצע פעולתפועל על שני פועל על שני שני ערכים מספריים שלמים. האופרטורשני ערכים מספריים שלמים. האופרטור

..ערכים מספריים שלמים ותוצאת פעולתו היא מספר שלםערכים מספריים שלמים ותוצאת פעולתו היא מספר שלם אז אז1212 שווה ל- שווה ל-num2num2, ו-, ו-55 שווה ל- שווה ל-num1num1בהנחה ש-בהנחה ש- num1&num2num1&num2-44 יהיה שווה ל- יהיה שווה ל..

&&

(כשהוא מטיפוס (כשהוא מטיפוס 55ייצוגו הבינארי של המספר ייצוגו הבינארי של המספר intint:(:( 0101 0000 0000 00000101 0000 0000 0000

(כשהוא מטיפוס (כשהוא מטיפוס 1212ייצוגו הבינארי של המספר ייצוגו הבינארי של המספר intint :( :(1100 0000 0000 00001100 0000 0000 0000

בין שני הערכים האלה היא: בין שני הערכים האלה היא: ||תוצאת פעולת ה-תוצאת פעולת ה-11011101 00000000 00000000 00000000

לוגי ברמת הביטים בין שני לוגי ברמת הביטים בין שני ORORאופרטור זה מבצע פעולת אופרטור זה מבצע פעולת ערכים מספריים שלמים. ערכים מספריים שלמים.

אז אז1212 שווה ל- שווה ל-num2num2, ו-, ו-55 שווה ל- שווה ל-num1num1בהנחה ש-בהנחה ש- num1num1 | | num2num2-1313 יהיה שווה ל- יהיה שווה ל..

||

(כשהוא מטיפוס (כשהוא מטיפוס 55ייצוגו הבינארי של המספר ייצוגו הבינארי של המספר intint:(:( 0101 0000 0000 00000101 0000 0000 0000

(כשהוא מטיפוס (כשהוא מטיפוס 1212ייצוגו הבינארי של המספר ייצוגו הבינארי של המספר intint :( :(1100 0000 0000 00001100 0000 0000 0000

בין שני הערכים האלה היא: בין שני הערכים האלה היא: ||תוצאת פעולת ה-תוצאת פעולת ה-10011001 00000000 00000000 00000000

לוגי ברמת הביטים בין לוגי ברמת הביטים בין XORXOR אופרטור זה מבצע פעולתאופרטור זה מבצע פעולתשני ערכים מספריים שלמים.שני ערכים מספריים שלמים.

אז אז1212 שווה ל- שווה ל-num2num2, ו-, ו-55 שווה ל- שווה ל-num1num1בהנחה ש-בהנחה ש- num1num1 ^ ^ num2num2-99 יהיה שווה ל- יהיה שווה ל..

, , 44 הוא הוא numnumבהנחה שערכו של המשתנה בהנחה שערכו של המשתנה 1616 יהיה יהיה num<<2num<<2אז הערך של הביטוי אז הערך של הביטוי

אופרטור זה משמש להזזת הביטים שמייצגים את המספר אופרטור זה משמש להזזת הביטים שמייצגים את המספר שמאלה. מספר הצעדים שבהם הביטים יוזזו הוא המספר שמאלה. מספר הצעדים שבהם הביטים יוזזו הוא המספר

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

הפנויים שנוצרים מוכנסים אפסיםהפנויים שנוצרים מוכנסים אפסים

>>>>

, , 44 הוא הוא numnumבהנחה שערכו של המשתנה בהנחה שערכו של המשתנה ..11 יהיה יהיה num>>2num>>2אז הערך של הביטוי אז הערך של הביטוי

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

האופרטור פועל ממוקם משמאל לאופרטורהאופרטור פועל ממוקם משמאל לאופרטור

<<<<

Page 11: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

אופרטורים אונרייםאופרטורים אונריים++ אופרטור זה מותיר את הערך שעליו פעל ללא שינוי בסימן שלואופרטור זה מותיר את הערך שעליו פעל ללא שינוי בסימן שלו

""אופרטור זה גורם לערך שעליו פעל "להפוך סימןאופרטור זה גורם לערך שעליו פעל "להפוך סימן -- בהנחה שערכו של המשתנהבהנחה שערכו של המשתנה

numnum אזי גםאזי גם 1010 הואהוא numnum++++ יגרמו להגדלת יגרמו להגדלת numnum++++ וגםוגם

..11 ב- ב- numnum ערכו שלערכו של

ההבדל בין השניים יהיה בכך ההבדל בין השניים יהיה בכך הוא הוא ++++numnum שערכו של הביטוישערכו של הביטוי

++ , ואילו ערכו של הביטוי, ואילו ערכו של הביטוי1010++numnum 1111 הוא הוא..

..אופרטור זה יכול לפעול רק על משתנהאופרטור זה יכול לפעול רק על משתנה. . 11אופרטור זה גורם לערכו של המשתנה לגדול ב-אופרטור זה גורם לערכו של המשתנה לגדול ב-

ניתן למקם אותו גם מימין למשתנה וגם משמאלו. הערך של ניתן למקם אותו גם מימין למשתנה וגם משמאלו. הערך של בשני המקרים. בשני המקרים.11המשתנה יגדל ב-המשתנה יגדל ב-

אם נמקם אותו משמאל למשתנה אז ערכו של המשתנה אם נמקם אותו משמאל למשתנה אז ערכו של המשתנה תוספת האופרטור (כביטוי) יהיה ערכו החדש לאחר ההגדלה תוספת האופרטור (כביטוי) יהיה ערכו החדש לאחר ההגדלה

11ב-ב- אם נמקם אותו מימין למשתנה אז ערכו של הביטוי אם נמקם אותו מימין למשתנה אז ערכו של הביטוי

(המשתנה (המשתנה תוספת האופרטור) יהיה ערכו של המשתנה, כפי שהיה, תוספת האופרטור) יהיה ערכו של המשתנה, כפי שהיה,

לפנילפני. . ההגדלה ההגדלה

++++

הוא הוא 11דומה בפעולתו לאופרטור ++, אלא שבמקום הגדלה ב-דומה בפעולתו לאופרטור ++, אלא שבמקום הגדלה ב-..11גורם להקטנה ב-גורם להקטנה ב- - -- -

Page 12: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

numnum++++ ו- ו- ++++numnumהבדל בין הבדל בין int num;int num;

num=10;num=10; System.out.println(num);System.out.println(num); System.out.println(num++);System.out.println(num++); System.out.println(num);System.out.println(num); num =10;num =10; System.out.println(num);System.out.println(num); System.out.println(++num);System.out.println(++num); System.out.println(num);System.out.println(num);

1010

11

101111

Page 13: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

אופרטורים מקוצריםאופרטורים מקוצרים

sum=sum+3;sum=sum+3; sum+=3;sum+=3; +=+=

sum=sum-3;sum=sum-3; sum-=3;sum-=3; -=-=

sum=sum*3;sum=sum*3; sum*=3;sum*=3; *=*=

sum=sum/3;sum=sum/3; sum/=3;sum/=3; /=/=sum=sum%3;sum=sum%3; sum%=3;sum%=3; %=%=

Page 14: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

פעולות עם תוויםפעולות עם תווים char ch='a', ch1=98; System.out.println(ch);System.out.println(ch+1);System.out.println(ch++);System.out.println("ch="+ch);System.out.println('c'+'='+ch);

System.out.println(ch1);System.out.println(ch1+1);System.out.println(ch1++);System.out.println("ch1="+ch1);System.out.println('c'+'='+ch1);

a98ach=b258

b99bch1=c259

Page 15: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

פעולות עם תוויםפעולות עם תווים

}char ch='a'; ch=ch+1; System.out.println(ch); }

Error: possible loss of precisionfound : intrequired: char

char ch='a'; ch=(char)(ch+1); System.out.println(ch);

Page 16: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

טיפוסים פרימיטיבייםטיפוסים פרימיטיביים

ערכי מינימום ומקסימוםערכי מינימום ומקסימום ברירת ברירת המחדלהמחדל

מספר מספר הביטיםהביטים סוג הערךסוג הערך הטיפוסהטיפוס

טווח מספרים ממשיים גדולטווח מספרים ממשיים גדולשליליים/חיוביים:שליליים/חיוביים:

3.40282347E+383.40282347E+38 מ- מ- 3.40282347E+383.40282347E+38--עד- עד-

ובמספרים קטנים במיוחד:ובמספרים קטנים במיוחד:1.402398E-451.402398E-45-- עד- עד- 1.402398E-451.402398E-45מ- מ-

0.00.0 3232

מספר ממשימספר ממשי )יכול להיות )יכול להיות שלם ויכול שלם ויכול

להיות עם שבר להיות עם שבר עשרוני(עשרוני(

floatfloat

טווח המספרים הממשיים גדול מטיפוס זה טווח המספרים הממשיים גדול מטיפוס זה עוד יותר גדול ויותר מדויק מהטיפוס הקודםעוד יותר גדול ויותר מדויק מהטיפוס הקודם1.797693134862315701.79769313486231570E+308 ; E+308 ;

4.94065645841246544E-3244.94065645841246544E-324 0.00.0 6464

מספר ממשימספר ממשי )יכול להיות )יכול להיות שלם ויכול שלם ויכול

להיות עם שבר להיות עם שבר עשרוני(עשרוני(

doubledouble

Page 17: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

. מה יהיה. מה יהיה00חילוק ל-חילוק ל- ?? double xD=1.0; double zD=0.0;double xD=1.0; double zD=0.0;

int x=1; int z=0;int x=1; int z=0; System.out.println(xD/zD);System.out.println(xD/zD); System.out.println(System.out.println(--xD/z);xD/z); System.out.println(x/zD);System.out.println(x/zD);

System.out.println(z/zD);System.out.println(z/zD);

System.out.println(x/z);System.out.println(x/z);ArithmeticException: / by zero

at Test1.main (Test1.java:11) at un.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source)

Infinity-InfinityInfinity

NaN

Page 18: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

%-%-אופרטורים / ואופרטורים / ו ש''ח ש''ח 33 ש''ח. כמה סוכריות ב- ש''ח. כמה סוכריות ב-1313ליוסי יש ליוסי יש

הוא יכול לקנות וכמה עודף יישאר לו?הוא יכול לקנות וכמה עודף יישאר לו?intint candy= 13 / 3; candy= 13 / 3;intint change= 13 % 3; change= 13 % 3;

ש''ח ש''ח 1.51.5 ש''ח. כמה סוכריות ב- ש''ח. כמה סוכריות ב-3.53.5ליוסי יש ליוסי יש הוא יכול לקנות וכמה עודף יישאר לו?הוא יכול לקנות וכמה עודף יישאר לו?

intint candy= (int)(3.5 / 1.5); candy= (int)(3.5 / 1.5);doubledouble change= 3.5 % 1.5; change= 3.5 % 1.5;

4

1

2

0.5

Page 19: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

%-%-אופרטורים / ואופרטורים / ו

:למספרים שלמים:למספרים שלמיםnum1%num2=num1-(num1/num2)*num2num1%num2=num1-(num1/num2)*num2

התוצאה היא שלמההתוצאה היא שלמה:למספרים ממשיים:למספרים ממשיים

num1%num2=num1-((int)(num1/num2)*num2)num1%num2=num1-((int)(num1/num2)*num2)התוצאה היא ממשיתהתוצאה היא ממשית

Page 20: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

castingcasting((המרה (המרה (

charchar doubledouble intint

int num=97;int num=97;char ch;char ch;ch=(char) num;ch=(char) num; int num=97;int num=97;

double fnum=num;double fnum=num;

int int

double num=97.8;double num=97.8;char ch;char ch;ch=(char) num;ch=(char) num;

double fnum=97.8;double fnum=97.8;int num;int num;num=(int) fnum;num=(int) fnum; doubledouble

double fnum;double fnum;char ch=‘a’;char ch=‘a’;fnum=ch;fnum=ch;

int num;int num;char ch=‘a’;char ch=‘a’;num=ch;num=ch;

charchar

ערך של 97.0משתנה

ערך של 97משתנה

ערך של ’a‘משתנה

Page 21: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

טעות נפוצה אצל תלמידים: השמת החלוקה השלמה במשתנה ממשי – התוצאה החלק

.0השבור הוא

95, 80, 100 ציונים: חישוב ממוצע

double avg; avg=(100+80+95)/3; System.out.println(avg); avg=(double)(100+80+95)/3; System.out.println(avg);

91.0

91.66666666666667

לפני ) double(כדי לקבל חלוקה ממשית – חובה לשים החלוקה

Page 22: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

פעולות קלט/פלטפעולות קלט/פלט

פלט/ קלט סטנדרטיפלט/ קלט סטנדרטי, "מומלץ" על ידי פיקוח, "מומלץ" על ידי פיקוחJavaJavaשימוש בכלים של שימוש בכלים של

מחלקה מחלקהIOIO מומלץ על ידי צוותי פיתוח של מכון ויצמן, האוניברסיטה מומלץ על ידי צוותי פיתוח של מכון ויצמן, האוניברסיטה

הפתוחה, והאוניברסיטה העברית,.הפתוחה, והאוניברסיטה העברית,. מחלקה מחלקהInIn

מומלץ על ידי צוות פיתוח של אוניברסיטת תל-אביבמומלץ על ידי צוות פיתוח של אוניברסיטת תל-אביב

Page 23: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

פעולות פלטפעולות פלט System.out.println(5);System.out.println(5);

System.out.println(“num”);System.out.println(“num”); int num=5;int num=5;

System.out.println(num);System.out.println(num); System.out.println(“num=“+num);System.out.println(“num=“+num);

int num1=5, num2=6;int num1=5, num2=6;System.out.println(num1+num2);System.out.println(num1+num2);System.out.println(“sum:“+num1+num2);System.out.println(“sum:“+num1+num2);System.out.println(“nums: ”+num1+” “+num2);System.out.println(“nums: ”+num1+” “+num2);

Page 24: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

הדפסת מספר ממשי עם דיוק ספרות רצוי. )הפיכתו למחרוזת(

שימוש בקלט פלט תקני//   double num = ...   System.out.format("The number is %6.2f ", num);

או הפיכה למחרוזת//   double num = ...   String s = String.format("The number is %6.2f ", num);   System.out.println(s);

//import java.text.*; צריך שימוש בפקודה DecimalFormat df = new DecimalFormat("####0.00");System.out.println("The number is " + df.format(number));

Page 25: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

הוראות פלטהוראות פלט : : System.out.printlnSystem.out.println( )( ) או או System.out.printSystem.out.print( )( )

הוראות קלטהוראות קלט : : הנמצאת בספריה הנמצאת בספריה ScannerScannerהקלט הסטנדרטי יעשה ע"י המחלקה הקלט הסטנדרטי יעשה ע"י המחלקה

) ) java.utiljava.utilהסטנדרטית (הסטנדרטית (יש לרשום את המשפט: יש לרשום את המשפט: לפני כותרת המחלקהלפני כותרת המחלקה

import java.util.*;import java.util.*;

יש לכתוב את המשפט: יש לכתוב את המשפט:בתוך גוף המחלקהבתוך גוף המחלקה Scanner input = new Scanner(System.in);Scanner input = new Scanner(System.in);

יש לרשום את פעולת הקלט לפי הטיפוסים יש לרשום את פעולת הקלט לפי הטיפוסים בתוך גוף המחלקהבתוך גוף המחלקה הבסיסיים השונים:הבסיסיים השונים:

שימוש בקלט/פלט סטנדרטישימוש בקלט/פלט סטנדרטי

Page 26: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

שימוש בקלט/פלט סטנדרטישימוש בקלט/פלט סטנדרטיהקלטהקלט הוראתהוראת קלט למשתנה קלט למשתנה

מטיפוסמטיפוסintint iNum=input.nextInt(); iNum=input.nextInt(); שלםשלםdoubledouble dNum=input.nextDouble(); dNum=input.nextDouble(); ממשיממשיbooleanboolean b=input.nextBoolean(); b=input.nextBoolean(); בוליאניבוליאניString s=input.next();String s=input.next();

: בקלט של מחרוזת לא נכתב : בקלט של מחרוזת לא נכתב שים שים הטיפוס.הטיפוס.

מחרוזתמחרוזת

; char c=input.next().charAt(0)אין קלט מסוים לתווים!

Page 27: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

JavaJavaהמורים חייבים ללמד קלט ב- המורים חייבים ללמד קלט ב- על פי סטנדרט זה.על פי סטנדרט זה.

דוגמא:דוגמא:התוכנית הבאה מחשבת את הממוצע של ערכי הקלט:התוכנית הבאה מחשבת את הממוצע של ערכי הקלט:

import java.util.Scanner;import java.util.Scanner;class Average {class Average { public static void main(String[] args) {public static void main(String[] args) { double sum = 0;double sum = 0; int count = 0;int count = 0; Scanner input = new Scanner(System.in);Scanner input = new Scanner(System.in); while (input.hasNext()) {while (input.hasNext()) { sum = sum + input.nextDouble();sum = sum + input.nextDouble(); count++;count++; }} System.out.println(“The average is “ + sum/count);System.out.println(“The average is “ + sum/count); }}}}

- boolean hasNext() האם יש עוד tokenבקלט ?

Page 28: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

InInשימוש בקלט/פלט של מחלקה שימוש בקלט/פלט של מחלקה (אוניברסיטת תל-אביב)(אוניברסיטת תל-אביב)

הקלטהקלט הוראתהוראת קלט למשתנה קלט למשתנה מטיפוסמטיפוס

intint iNum=In.readInt(); iNum=In.readInt(); שלםשלם

doubledouble dNum=In.readDouble(); dNum=In.readDouble(); ממשיממשי

charchar c=In.readChar(); c=In.readChar(); תוויתווי

String s=In.readString();String s=In.readString(); מחרוזתמחרוזת

הוראות הפלט

System.out.println(); System.out.print();

Page 29: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

IOIOשימוש בקלט/פלט של מחלקה שימוש בקלט/פלט של מחלקה (מכון ויצמן- מוטי בן ארי)(מכון ויצמן- מוטי בן ארי)

הקלטהקלט הוראתהוראת קלט למשתנה קלט למשתנה מטיפוסמטיפוס

intint iNum=IO.readInt(); iNum=IO.readInt(); שלםשלם

doubledouble dNum=IO.readDouble(); dNum=IO.readDouble(); ממשיממשי

charchar c=IO.readChar(); c=IO.readChar(); תוויתווי

String s=IO.readString();String s=IO.readString(); מחרוזתמחרוזת

הוראות הפלט:

IO.write(); IO.writeln(); IO.print(); IO.println()

Page 30: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

IOפלט עם דיוק רצוי ב- double num = ...

 IO.println(String.format("The num is %6.2f ", num)); double num1 = ..., num2=…;

 IO.println( String.format("num1 is %6.2f num2 is %6.2f ",

num1,num2));

Page 31: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

סביבות העבודהסביבות העבודה DrJava DrJava ספר רשמי של משרד החינוךספר רשמי של משרד החינוך

1-21-2 "יסודות מדעי המחשב"יסודות מדעי המחשב""JAVAJAVAבשפת בשפת

אוניברסיטת תל-אביבאוניברסיטת תל-אביב BlueJBlueJ

1-21-2"יסודות מדעי המחשב "יסודות מדעי המחשב " " JAVAJAVAבשפת בשפת

"מבט לחלונות""מבט לחלונות" " " עיצוב תוכנה מבוסס עצמיםעיצוב תוכנה מבוסס עצמים""

האוניברסיטה העבריתהאוניברסיטה העברית JCreatorJCreator

Page 32: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 33: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

DrJavaDrJava

Page 34: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 35: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

www.drjava.org

DrJavaאתר של

Page 36: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

http://www.tau.ac.il/~csedu/yesodotoop/yesodot_dj_ins.html

אתר של קבוצת מדעי המחשב –אוניברסיטת תל-אביב

Page 37: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

BlueJBlueJ

Page 38: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 39: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

http://www.bluej.orghttp://www.bluej.org BlueJBlueJ אתראתר

Page 40: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

הוספת מחלקות שרותהוספת מחלקות שרות

ToolsPreferences

Page 41: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

JCreatorJCreator

Page 42: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 43: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

JCreatorJCreator Compile

Execute

Page 44: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 45: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 46: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

www.jcreator.comwww.jcreator.comJCreatorJCreatorאתר של אתר של

Page 47: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

הוספת מחלקות שרותהוספת מחלקות שרות

Page 48: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

Page 49: השתלמות  מדעי המחשב בשפות חדשות 7/02/07

ד''ר יבגני קנלד''ר יבגני קנל

TemplatesTemplatesתבניות –תבניות – Program Files ->Program Files ->

Xinox Software->Xinox Software->JCreatorV4LE ->JCreatorV4LE ->

FileTemplates ->FileTemplates ->Java ClassesJava Classes templates.xmltemplates.xml