יסודות מדעי המחשב Java 1 תקציר הוראות השפה בJava - טיפוסי משתנים בסיסיים )פרימיטיבים( בשפת :java מספרי שלם int )בתחום (±2,147,483,648 long מספרי שלם ארוך double מספר ממשי char תו String מחרוזת קבועים של המחלקה ):(static ; ערך-הקבוע = שם-הקבוע טיפוס-נתונים static final דוגמא: ;static final int N = 10 ;static final double X = 2.34 הגדרת משתנים: ;int a, b ;double x, y מבנה התכנית בשפת :Java אובייקט הקלט // ;import java.util.Scanner שם-המחלקה public class { )public static void main(String[] args { ;הגדרת המשתנים ;)Scanner input - new Scanner (System.in ;הוראה ;הוראה } } הערות הערת שורה // הערת קטע הנמשכת על פני כמה שורות */ */הערה */ */ • ב java -יש חשיבות לגודל אות )(case sensitive www.kadman.net הילה קדמן יסודות מדעי המחשב Java 2 קלט/פלט: ;)"מחרוזת"( System.out.print ;)"מחרוזת"( System.out.println פלט מחרוזת ;)שם-משתנה( System.out.print ;)שם-משתנה + " " +שם-משתנה( System.out.print הדפסת תוכן משתנה ;)שם-משתנה( System.out.println ;)שם-משתנה + " " +שם-משתנה( System.out.println ;)" מחרוזת " +שם-משתנה( System.out.print ;)" מחרוזת " +שם-משתנה " +מחרוזת"( System.out.print הדפסת משתנים ומחרוזות ;)" מחרוזת " +שם-משתנה( System.out.println ;)"מחרוזת"+שם-משתנה "+מחרוזת"( System.out.println ;)(int a = input.nextInt קלט מספר שלם ;)(double x = input.nextDouble קלט מספר ממשי ;)char tav = input.next().charAt(0 קלט מספר תו קלט עד תו הרווח הראשון// קלט שורה // קלט מחרוזת דגשים ;)( String str = input.next ;)( String str = input.nextLine • בכל הוראת קלט ניתן לקלוט בדיוק משתנה אחד. • לפני כל הוראת קלט יש להציג בקשה: ;)" → הקש מספר שלם"( System.out.print ;)(int a = input.nextInt הוראות השמה: מספר אתחול בהגדרה הצבת קבוע מחרוזת תו ;int a = 0 מחרוזת ריקה String str = "" ; // תו רווח Char ch = ' '; // ;a = 5 ;"str = "hello ; 'ch = 'b פעולות חישוביות: נתונים המשתנים הבאים: ;int a, b, c ;double x, y, z חיבור ;c = a + b חיסור ;c = a – b כפל ;c = a * b www.kadman.net הילה קדמן יסודות מדעי המחשב Java 3 שלם /שלם ← שלם חילוק: ממשי /ממשי ← ממשי שלם /ממשי ← ממשי שלם /שלם) ← (doubleממשי חילוק בממשיים לפחות אחד המשתנים המשתתפים // • המרה מפורשת בפעולה החישוב חייב להיות ממשי // ;z = x / y ;z = (double)a / b ;c = a / b חילוק בשלמים )מנה( ;c = a % b שארית • המרה -ניתן להמיר משלם לממשי ולהיפך בהמרה מפורשת ).(casting קיצורים: הגדלה עצמית ; a ++ הקטנה עצמית ; a -- הוראות השפה: סוגי יחס שווה == שונה =! גדול מ> - גדול או שווה => קטן מ< - קטן או שווה => בלוק הוראות: { בלוק הוראות } אם ... )הוראה יחידה( אם ... )בלוק הוראות( www.kadman.net )פסוק-לוגי( if ;ביצוע )if (a > 5 ;b = b + 1 )פסוק-לוגי( if { ;הוראה ;הוראה } )if (a = = 3 { ;c = b * 2 " System.out.println (c + ;)"התוצאה: } הילה קדמן Java 4 יסודות מדעי המחשב if (a != 5) b = b + 1; else b = b – 1; if (לוגי-)פסוק 1;ביצוע else 2;ביצוע ... אחרת...אם if (a > 3) { System.out.print (" הקש ;)" → מספר b = input.nextInt(); } else { b = a; c = c + 1; } if (לוגי-)פסוק { 1;הוראה 2;הוראה } else { 3;הוראה 4;הוראה } ... אחרת...אם ()הוראה יחידה ()בלוק הוראות switch (a) { case 1 : System.out.println ("one") ; case 2 : System.out.println ("two") ; break ; case 3 : case 4 : case 5 : System.out.println ("five") ; case 6 : System.out.println ("six") ; break ; default: System.out.println ("bigger then six") ; } switch ()משתנה { case 1- ערך: 1;ביצוע break; case 2- ערך: 2;ביצוע break; case 3- ערך: ;הוראה ;הוראה break; case 4- ערך: 4;ביצוע :הפלט break; default : 5;ביצוע break; } ברירת החלטה • המשתנה הנבדק הוא מטיפוס :סדור מספר שלם או תו ההוראות -מתבצעות עד ה break ניתן לבחון רק ערכים בדידים קשרים לוגיים && וגם || או ! לא if ( a > 3 && (b = = 5 || c != 0) ) … הילה קדמן www.kadman.net Java 5 יסודות מדעי המחשב :משתנה בוליאני :השמה למשתנה בוליאני boolean b = (num1 > num2); :ביטויים שקולים boolean b; if (num1 > num2) b = true ; else b = false ; boolean found = … ; // true אוfalse ; if (found) … if (found = = true) … ביטויים שקולים if ( ! found ) … if (found = = false) … ביטויים שקולים :לולאות for (תחילי = אינדקס-סיום =< אינדקס ; ערך-אינדקס ; ערך-)קידום { ;הוראה ;הוראה } --------------int a, sum - 0; for ( i = 1 ; i <= 5 ; i++) { System.out.print(";)" → מספר שלם a = input.nextInt (); sum = sum + a; } for (תחילי = אינדקס-סיום => אינדקס ; ערך-אינדקס ; ערך-)הקטנת { ;הוראה ;הוראה } --------------double x, sum = 0; for ( i = 5 ; i >= 1 ; i --) { System.out.print (" ;)" → מספר ממשי x = input.nextDouble (); sum = sum + x; } System.out.println (sum + " :;)"סכום המספרים הילה קדמן for לולאת ()לולאה עולה for לולאת ()לולאה יורדת www.kadman.net Java 6 יסודות מדעי המחשב while (לוגי-)ביטוי { ;הוראה ;הוראה } --------------int sum = 0; System.out.print (";)" → מספר ראשון int a = input.nextInt (); while (a != 999) { sum = sum + a; System.out.print (";)" → עוד מספר a = input.nextInt (); } System.out.println (sum + " :;)"סכום המספרים while לולאת :פונקציות מתמטיות דוגמא תחביר מתקבל מוחזר טיפוס הערך int b = Math.abs(a); double y = Math.abs(x); Math.abs(x) שלם ממשי שלם ממשי if (Math.sqrt (x) > y) … Math.sqrt (x) שלם ממשי ממשי double p = Math.pow (x, b); Math.pow (x, y) שלם ממשי ממשי System.out.ptintln ( (int)Math.round(7.853) ); (int) Math.round (x) ממשי שלם ארוך עיגול לשלם הקרוב (4 ← 3.67) if (x = = (int)x) … ; (int) x ממשי שלם החלק השלם (3 ← 3.67) |x| ערך מוחלט x שורש ריבועי xy חזקה מספר אקראי import java.util.Random; :לפני התכנית :יצירת עצם :בתוך גוף בתכנית Random rnd = new Random(); n עד0 מספר שלם בתחום 0≤x<n ()לא כולל x = rnd.nextInt (n); x = rnd.netxInt (n) + 1; n = b - a + 1; x = rnd.nextInt (n) + a; הילה קדמן ( )כוללn עד1 מספר שלם בתחום 1≤x≤n ( )כוללb עדa מספר שלם בתחום a b www.kadman.net Java 7 יסודות מדעי המחשב פעולות static void procName ()פרמטרים { פעולה שאינה מחזירה ערך (void )מוחזר ערך } static void aaa (int a, int b, double x) { int i; : } static מוחזר- טיפוסfuncName ()פרמטרים { פעולה המחזירה ערך : return ;ערך להחזרה } static double sum (int a, int b, double x) { double total ; total = a + b + x; return total; } נתונים- ][ טיפוסarr = new נתונים-[טיפוס10]; int [] a = new int [7] ; double [] x = new double [N]; char [] arrChar = new char [25]; הגדרה x[2] = 2 * a[0] ; 0 1 ממדי-מערך חד פנייה לתא 2 3 4 5 6 a for (int i = 0 ; i < a.length ; i ++) a[i] = i; סריקת מערך המערך-שם.length גודל המערך הוא length - 1 מספר התא האחרון במערך הוא הילה קדמן www.kadman.net Java 8 נתונים- ][][ טיפוסarr = new נתונים-[טיפוס5][7]; יסודות מדעי המחשב מערך ממדי-דו ()מטריצה int [][] mat = new int [6][7] ; double [][] x = new double [N][M]; :סכום התא ה"ראשון" והתא ה"אחרון" במערך פניה לתא mat[3][4] = mat [0][0] + mat [5][6]; mat.length Ö מספר השורות במטריצה mat[i].length (1) Ö i מספר העמודות בשורה סריקת המערך for (int i = 0 ; i < mat.length ; i++) for (int j = 0 ; j < mat[i].length ; j++) mat [i,j] = …. String str ; באות גדולהString :♥ שים str = "bla-bla-bla" ; str = new String ("bla-bla-bla") ; מחרוזות היא אובייקטJava -מחרוזת ב String str1 = input.next(); קלט מילה בודדת String str2 = input.nextLine(); קלט משפט קלט num = str.length(); אורך str = st1 + str2 + "aaa" ; שרשור boolean equal = str1.equals(str2) ; השוואה int n = str1.compareTo (str2) ; str1 > str2 Ö n > 0 str1 < str2 Ö n < 0 str1 = = str2 Ö n = 0 ch = str.charAt (i) ; 0 ≤ i < str.length() int place = str.indexOf (ch) ; int place = str.indexOf (subStr); הילה קדמן במחרוזתi תו חיפוש תו מחרוזת-חיפוש תת www.kadman.net
© Copyright 2024