תוכנה 1

22
1 ההההה1 ללללל1 - : ללללל לללללל ללללל לJava ללל לללללל לללל לללל

Upload: gordy

Post on 05-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

תוכנה 1. תרגול 1: סביבת העבודה ומבוא ל- Java אסף זריצקי ומתי שמרת. 1. בירוקרטיה. אתר הקורס : http://courses.cs.tau.ac.il/software1/0910a סביבת המחשוב באוניברסיטה היא Linux תנאי קדם : פתיחת חשבון אישי במחשבי האוניברסיטה הנחיות לפתיחת חשבון והכרת סביבת העבודה באתר הקורס. מתי שמרת - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: תוכנה 1

11

1תוכנה

Java: סביבת העבודה ומבוא ל-1תרגול

אסף זריצקי ומתי שמרת

Page 2: תוכנה 1

2

בירוקרטיה

אתר הקורס :http://courses.cs.tau.ac.il/software1/0910a

סביבת המחשוב באוניברסיטה היאLinuxפתיחת חשבון אישי במחשבי האוניברסיטהתנאי קדם : הנחיות לפתיחת חשבון והכרת סביבת העבודה באתר

הקורס. 2

מתי שמרת, בתיאום מראש10-11שעת קבלה: שני

209המשרד שלי: בניין הנדסת תוכנה, חדר

אסף זריצקי, בתיאום מראש9-10שעת קבלה: רביעי

א'405המשרד שלי: שנקר-פיזיקה

Page 3: תוכנה 1

33

על הקורס

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

Javaבשפת של פרטיםעצמיהקורס דורש לימוד

Page 4: תוכנה 1

44

Java-סביבת פיתוח והרצה ל

-גרסת הJava:שעמה נעבוד Java SE (Standard Edition) 6.0

:חבילת סביבת ההרצהJRE (Java Runtime Environment) that includes:

JVM (Java Virtual Machine) Standard Class Library

:חבילת ערכת הפיתוחJDK (Java Development Kit) that includes:

JRE Command line tools: compiler, debugger etc.

-הורדה ותיעוד בhttp://java.sun.com/javase

Page 5: תוכנה 1

55

סביבת פיתוח שלובה

IDE = Integrated Development Environment

:סביבה המשלבת רכיבי/כלי פיתוח עצמאיים) עורך טקסטeditor() סייר הקבציםbrowser() מהדרcompiler() סביבת זמן ריצהJRE() מנפה השגיאותdebugger(...ועוד

Eclipse -ה – IDE.בו נשתמש בקורס

Page 6: תוכנה 1

66

Eclipse

IDE המתאים גם לפיתוח תוכנה ב Java -ניתן להתקנה בLinux, Windowsועוד דורש התקנה בנפרד שלJRE או) JDK( :אתר הביתwww.eclipse.org

הורדת התוכנה כקובץzip-הוראות התקנה ב) באתר הקורס)הכרת סביבת המחשוב

אוסף גדול של מאמרים :דפי עבודה ללימודהכרות Eclipseבאתר הקורס " דוגמא: פיתוח והרצת תכניתHello World ב "Eclipse :הסבר מפורט לגבי השמשת סביבת העבודה מהביתhttp://

courses.cs.tau.ac.il/software1/0910a/misc/workenv.pdf

Page 7: תוכנה 1

Code Conventions

שמות של משתנים, מחלקות, מתודות?סוגריים מסולסלים בסוף שורה או בתחילתה...

נפתח קוד לפי ההמלצות שלSun

http://java.sun.com/docs/codeconv/

7

Page 8: תוכנה 1

88

טיפוסי השפה

)טיפוסים מוגדרים 8: טיפוסים יסודיים )פרימיטיביים בשפה שמיועדים להכיל ערכים פשוטים:

:מספרים שלמיםbyte, short, int, long :מספרים ממשייםfloat, double :תוויםchar :ערכים בוליאניםboolean

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

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

8

Page 9: תוכנה 1

99

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

בזיכרון המחשב נשמר המידע בפורמט בינאריסיבית) bit') 1' או '0): ספרה בינארית('בייט)) octet, byte סיביות8: קבוצה של

Value Range Size Type

-263 → 263-1 64 bits long

-231 → 231-1 32 bits int

-215 → 215-1 16 bits short

-128→ 127 8 bits byte

beyond the scope of the discussion

64 bits double

32 bits float

most alphabet languages 16 bits char

true, false "1 bit" boolean

שלמים

ממשיים

תווים

ערכים לוגיים

Page 10: תוכנה 1

1010

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

ישנם אלפי טיפוסים לא פרימיטיביים בספריה.Javaהתקנית של

:תיעודJava API (Application Programming Interface)

http://java.sun.com/javase/6/docs/api/ אנו כמתכנתים ניצור טיפוסים לא פרימיטיביים

נוספים) דוגמאות: מערכים, מחרוזותString(

) הפניהreference משתנה מטיפוס שאינו :(פרימיטיבי

String myString = "Hello World"Non-primitive type (objectעצם )

Page 11: תוכנה 1

1111

מחרוזות

:אופרטור שרשור• "Hello " + "World" is "Hello World"• "19" + 8 + 9 is "1989"

דוגמאות לפונקציות מהמחלקהString:

עוד ב-

http://java.sun.com/javase/6/docs/api/java/lang/String.html

String str1 = "Hello";char c = str1.charAt(0);String str2 = str1.toUpperCase();int strLength = str1.length();

//c == ‘H’ //str2 == "HELLO"

//i == 5

Page 12: תוכנה 1

1212

המרה למספרים

Long.parseLong Integer.parseInt Short.parseShort Byte.parseByte Double.parseDouble Float.parseFloat Boolean.parseBoolean

public static void main(String[] args){int i = Integer.parseInt("1");double d = Double.parseDouble("-12.45e2");

}// d==-1245.0

//i==1

Page 13: תוכנה 1

איך נדע...?

13

Page 14: תוכנה 1

והתשובה

14

Page 15: תוכנה 1

15

מערכים בקצרה

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

נשתמש ב ][ לציין מערך מערך שלint בשם odds.

הרחבה על מערכים בתרגול הבא

int odds;[]

1 3 5 7 9 11 13 15

odds.length == 8

0 1 2 3 4 5 6 )0אינדקס (מתחיל מ-7

Page 16: תוכנה 1

16

העברת ארגומנטים לתכנית

?כיצד מעבירים ארגומנטים לתוכניתcommand line:

Eclipse:Run ➙ Run Configurations ➙ Arguments

public class MyClass { public static void main(String[] args) { System.out.print(args.length + "\t"); System.out.print(args[0] + "\t"); System.out.print(args[args.length - 1]); }}

מערך המכיל את הארגומנטים שהועברו לתוכנית עם הרצתה

Output: 4 1 hello world

Page 17: תוכנה 1

1717

מחרוזות ותווים

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

את התואת התו העוקב לו

public static void main(String[] args){char c = args[0].charAt(0);char c1 = (char)(c + 1);System.out.println(c + "\t" + c1);

}

Page 18: תוכנה 1

1818

מחרוזות ותווים

-כתוב תוכנית המקבלת תו מ{a,b,...,z -ומדפיסה את ה }Uppercase שלו

נחשב את המיקום של התו בabc (אותו מיקום) ונמיר אותו לאותו תו ABCב

public static void main(String[] args){ char c = args[0].charAt(0); System.out.println((char) (c – 'a' + 'A'));}

פתרון א':

Page 19: תוכנה 1

דרכים נוספות?

19

Page 20: תוכנה 1

2020

מחרוזות ותווים

בעזרתString.toUpperCase()

בעזרתCharacter.toUpperCase()

public static void main(String[] args){ System.out.println (args[0].toUpperCase());}

פתרון ב':

public static void main(String[] args){ char c = args[0].charAt(0); System.out.println(Character.toUpperCase(c));}

פתרון ג':

Page 21: תוכנה 1

21

Page 22: תוכנה 1

22

הסוף...

22