תוכנה 1
DESCRIPTION
תוכנה 1. תרגול 1: סביבת העבודה ומבוא ל- Java אסף זריצקי ומתי שמרת. 1. בירוקרטיה. אתר הקורס : http://courses.cs.tau.ac.il/software1/0910a סביבת המחשוב באוניברסיטה היא Linux תנאי קדם : פתיחת חשבון אישי במחשבי האוניברסיטה הנחיות לפתיחת חשבון והכרת סביבת העבודה באתר הקורס. מתי שמרת - PowerPoint PPT PresentationTRANSCRIPT
11
1תוכנה
Java: סביבת העבודה ומבוא ל-1תרגול
אסף זריצקי ומתי שמרת
2
בירוקרטיה
אתר הקורס :http://courses.cs.tau.ac.il/software1/0910a
סביבת המחשוב באוניברסיטה היאLinuxפתיחת חשבון אישי במחשבי האוניברסיטהתנאי קדם : הנחיות לפתיחת חשבון והכרת סביבת העבודה באתר
הקורס. 2
מתי שמרת, בתיאום מראש10-11שעת קבלה: שני
209המשרד שלי: בניין הנדסת תוכנה, חדר
אסף זריצקי, בתיאום מראש9-10שעת קבלה: רביעי
א'405המשרד שלי: שנקר-פיזיקה
33
על הקורס
קורס תכנות בסיסי באמצעותמלמד תכנות מונחה עצמים
Javaבשפת של פרטיםעצמיהקורס דורש לימוד
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
55
סביבת פיתוח שלובה
IDE = Integrated Development Environment
:סביבה המשלבת רכיבי/כלי פיתוח עצמאיים) עורך טקסטeditor() סייר הקבציםbrowser() מהדרcompiler() סביבת זמן ריצהJRE() מנפה השגיאותdebugger(...ועוד
Eclipse -ה – IDE.בו נשתמש בקורס
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
Code Conventions
שמות של משתנים, מחלקות, מתודות?סוגריים מסולסלים בסוף שורה או בתחילתה...
נפתח קוד לפי ההמלצות שלSun
http://java.sun.com/docs/codeconv/
7
88
טיפוסי השפה
)טיפוסים מוגדרים 8: טיפוסים יסודיים )פרימיטיביים בשפה שמיועדים להכיל ערכים פשוטים:
:מספרים שלמיםbyte, short, int, long :מספרים ממשייםfloat, double :תוויםchar :ערכים בוליאניםboolean
טיפוסים מורכבים היכולים גם להכיל טיפוסי הפנייה :מידע וגם לספק שרותים (יוסבר בהמשך)
המתכנת יכול להגדיר טיפוסי הפנייה חדשים דוגמאות מיוחדות: מחרוזות ומערכים
8
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
שלמים
ממשיים
תווים
ערכים לוגיים
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עצם )
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
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
איך נדע...?
13
והתשובה
14
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
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
1717
מחרוזות ותווים
כתוב תוכנית שמקבלת תו כארגומנטומדפיסה:
את התואת התו העוקב לו
public static void main(String[] args){char c = args[0].charAt(0);char c1 = (char)(c + 1);System.out.println(c + "\t" + c1);
}
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'));}
פתרון א':
דרכים נוספות?
19
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));}
פתרון ג':
21
22
הסוף...
22