Introduction To Java Programming
Chapter 2
Chapter 2
2.2. WRITING SIMPLE PROGRAMS
في الشابتر ده هنتعلم إزاي مش بس نعمل برنامج بسهولة لأ وكمان هنعرف ازاي نفكر اصلا نعمل البرنامج ونصممه بطريقة تسهل لينا حكاية الكود.
في الاول كده عايزين نعرف يعني ايه algorithm ؟؟
الـ algorithm هو طريقة لتحليل فكرة اي برنامج يعني بتعمل فيه الاول تصور للبرنامج والمفروض يكون شغال ازاي من وجهة نظرك وده طبعا هيساعدك تظبط الفكرة قبل ماتكودها.
مثلا لو عايزين نعمل برنامج بيحسب مساحة دائرة المفروض لو انا بحلل الفكرة يبقي هعمل حاجة زي كده:
1- الأول هقري نصف القطر سواء هدخله انا او الuser هو اللي هيدخله.
2- هنحسب مساحة الدائرة من المعادلة: area= radius * radius * pi اللي هي بالعربي: ط نق2 والـ radius هو ده نصف القطر.
3- هطبع المساحة.
طبعا دي فكرة برنامج سهلة ومش محتاجة اعملها algorithm لكن قدام لما الأفكار تتعقد الاحسن اننا نفكر الاول في طريقة الحل وبعدين نبقي نكتب الكود.
وبيعرفنا علي مصطلح جديد Data Structures ودي طريقة لتحليل وتمثيل البيانات. الجافا عندنا فيها اكتر من نوع لتمثيل البيانات زي الint, float, double ودول اسمهم الـ Primitive data types وفيه برده انواع من الـ objects زي الـ array & string وفيه حاجات تانية زي الـ stack & linked lists ودول معمولين جاهزين في الجافا.
جميل جدا جدا دلوقتي هنبدأ نفكر ازاي نعمل البرنامج ده بقي؟؟؟
الاول كده احنا عرفنا ان اي برنامج جافا لازم يكون فيه كلاس فالكلاس بتاعنا هنسميه ComputeArea.
كود:
public class ComputeArea { // Data and methods to be given later }
وبرده عارفين ان لازم نعمل الـ main method :
كود:
public class ComputeArea { public static void main(String[] args) { // Step 1: Read in radius // Step 2: Compute area // Step 3: Display the area } }
• اولا ازاي هقري نص القطر من الـ user ؟هنحل تاني مشكلة الأول عن طريق اننا هنعرف متغير هنخزن فيه القيمة اللي هتدخل من الuser واسم المتغير يفضل انه يكون اسم له دلالة في البرنامج يعني انا عايزة اخزن نصف القطر فهسميه radius والمفروض برده اني هطبع قيمة المساحة فعمل متغير اخزن فيه قيمة المساحة وهسميه area .
• ثانيا هخزنه ازاي واتعامل معاه ازاي؟
كود:
public class ComputeArea { public static void main(String[] args) { double radius; double area; // Step 1: Read in radius // Step 2: Compute area // Step 3: Display the area } }
نيجي لأول مشكلة كانت عندنا وهي ازاي هقري قيمة نصف القطر ؟
احنا مبدأيا هندخلها احنا قيمة ثابتة وبعد كده هنبقي نخلي الuser هو اللي يدخلها :


لو جينا نحلل البرنامج ده هنلاقيه الاول دخل قيمة نصف القطر بـ 20 وبعد كده عمل المعادلة المطلوبة واستعوضنا عن radius2 بإننا خليناها radius * radius وبعد كده جملة الطباعة طبعنا الاول جملة عادية وهي "The area for the circle of radius" وبعدين طبعنا قيمة نصف القطر واستخدمنا في الربط بين الجملة اللي انا كاتباها والقيمة اللي راجعالي من البرنامج بــ (+) وعلامة الجمع دي بنستخدمها في حالتين إما في عملية جمع عادية او في عملية دمج اكتر من String جنب بعض زي عندنا كده مادمج بين الجملة اللي انا كتبتها وبين قيمة نصف القطر واستخدمته تاني لما جيت اربط بين قيمة نصف القطر وكلمة "is" ويعدين تاني بين كلمة "is" وبين قيمة المساحة وفي الأخر طبعت كل ده بإستخدام امر الطباعة اللي عرفناه System.out.println .
وبيقولنا برده خطأ شائع وهو:
1- ممكن وانت بتكتب متحطش ال (+) في المكان اللي المفروض تكون فيه وفي الحالة دي هيطلع error زي:
1- ممكن وانت بتكتب متحطش ال (+) في المكان اللي المفروض تكون فيه وفي الحالة دي هيطلع error زي:
كود:
System.out.println("Introduction to Java Programming, by Y. Daniel Liang"+);
وممكن نعالج الerror ده عن طريق تعديل مكانها زي كده:
كود:
System.out.println("Introduction to Java Programming, " + "by Y. Daniel Liang");
2.3. IDENTIFIERS
لما جينا عملنا المتغير بتاع نصف القطر اخترنا له اسم طيب هو حكاية اسامي المتغيرات والـ methods دي محكومة لقواعد ولا اي حاجة تنفع؟؟؟
هنقول انها محكومة لقواعد وهي ان اسم المتغير لازم :
1-ميكونش كلمة من الكلمات المحفوظة زي public, void, main, static .
2- ممكن يكون اي مجموعة حروف وحروف خاصة كمان زي ($), (_) .
3- مينفعش اسم المتغير يبدأ برقم او يكون عملية حسابية بيحصل فيها معالجة.
4- مينفعش يكون true , false or null .
5- ممكن يكون اي طول مش مشكلة طوله.
هنقول انها محكومة لقواعد وهي ان اسم المتغير لازم :
1-ميكونش كلمة من الكلمات المحفوظة زي public, void, main, static .
2- ممكن يكون اي مجموعة حروف وحروف خاصة كمان زي ($), (_) .
3- مينفعش اسم المتغير يبدأ برقم او يكون عملية حسابية بيحصل فيها معالجة.
4- مينفعش يكون true , false or null .
5- ممكن يكون اي طول مش مشكلة طوله.
امثلة علي اسامي متغيرات وميثودس صحيحة : $2, ComputeArea, area, radius, and showMessageDialog .
امثلة علي اسامي متغيرات وميثودس غلط : 2A and d+4
بيقولنا ملاحظة : بما إن الجافا case sensitive يعني بتفرق بين الحروف الكابتل والسمول فهنلاقي ان المتغير اللي اسمه X غير المتغير اللي اسمه x .
وبيقولنا نصيحة : لما تيجي تسمي متغير اختار اسم له معني في البرنامج علشان تسهل قراية الكود علي نفسك وعلي غيرك. وبرده لا يفضل انك تسمي متغير بـ $ .
وبيقولنا نصيحة : لما تيجي تسمي متغير اختار اسم له معني في البرنامج علشان تسهل قراية الكود علي نفسك وعلي غيرك. وبرده لا يفضل انك تسمي متغير بـ $ .
2.4. VARIABLES
عنوان السيكشن بيقول المتغيرات
طيب جميل احنا لما عملنا متغير لنصف القطر كان الهدف منه انه يخزن بيانات معينة مش مهم وصلتله ازاي المهم انه محتفظ ببيانات اهي هي دي وظيفة المتغيرات كلها في اي برنامج مع العلم ان المتغير ممكن اديله القيمة اكتر من مرةلكنه بيحتفظ بس بإخر قيمة فيه.
مثال :
كود:
// Compute the first area radius = 1.0; area = radius * radius * 3.14159; System.out.println("The area is " + area + " for radius " + radius); // Compute the second area radius = 2.0; area = radius * radius * 3.14159; System.out.println("The area is " + area + " for radius " + radius);
طيب اعمل ازاي متغير ؟؟
فيه قاعدة لكتابة اي متغير وهي:
فيه قاعدة لكتابة اي متغير وهي:
كود:
datatype variableName;
الأول بعرف نوع المتغير وبعدين اسمه وبنهي الجملة بــ (;)
امثلة علي اسامي متغيرات :
كود:
int x; // Declare x to be an integer variable; double radius; // Declare radius to be a double variable; double interestRate; // Declare interestRate to be a double variable; char a; // Declare a to be a character variable;
كود:
int i, j, k; // Declare i, j, and k as int variables
بيقولنا ملاحظة برده ان المتعارف عليه ان اسامي المتغيرات بتبدأ بحرف سمول lower case ولو من كلمتين يبقي الكلمة التانية تبتدي بكابتل زي interestRate .
2.5. ASSIGNMENTS, STATEMENTS & ASSIGNMENT EXPRESSIONS
طبعا احنا استخدمنا علامة (=) لما جينا ندي لنصف القطر قيمة طيب جميل يبقي عرفنا ان علامة التساوي بتحط القيمة في المتغير وامثلة علي الكلام ده :
كود:
int x = 1; // Assign 1 to variable x; double radius = 1.0; // Assign 1.0 to variable radius; x = 5 * (3 / 2) + 3 * 2; // Assign the value of the expression to x; x = y + 1; // Assign the addition of y and 1 to x; area = radius * radius * 3.14159; // Compute area
كود:
x = x + 1;
في الجملة دي جمعت علي x واحد وحطيته تاني في x يعني لو كان x قبل الجملة دي بـ 1 هيبقي بعدها بـ 2 .
ونلاحظ ان القاعدة العامة في كتابة المتغير ان بيكون اسمه علي الشمال والقيمة علي اليمين يعني لو كتبته كده :
هيبقي غلط.
ونلاحظ ان القاعدة العامة في كتابة المتغير ان بيكون اسمه علي الشمال والقيمة علي اليمين يعني لو كتبته كده :
كود:
1=x;
وكمان علامة التساوي مش بس بتحط قمية في متغير دي كمان ممكن استخدمها لو عايز اتاكد من قيمة معينة في متغير يعني زي كده :
كود:
System.out.println(x = 1);
ودي بتتساوي مع نفس الجمل دي :
كود:
x = 1; System.out.println(x);
وبرده لو كتبت كده يعتبر صح :
كود:
i = j = k = 1;
ودي بتتساوي مع :
كود:
k = 1; j = k; i = j;
وممكن بدل مانا بعرف المتغير في سطر وبديله القيمة في سطر اخليه كله في سطر واحد زي كده :
كود:
int x = 1;
ودي مساوية بالظبط للي كان بنعمله قبل كده :
كود:
int x; x = 1;
2.6. CONSTANTS
طيب دلوقتي انا عملت متغير وانا عارف ان قيمته ممكن تتغير طول البرنامج طيب لو انا عايز اعمل متغير قيمته ثابته مش عايزها تتغير طول البرنامج ممكن اعرف متغير علي انه ثابت زي كده :
كود:
final datatype CONSTANTNAME = VALUE;
وانا بعمل المتغير الثابت ده لازم اعرفه واديله قيمة في الاول وكلمة final دي كلمة محفوظة معناها ان المتغير ده قيمته ثابتة ومش هتتغير طول البرنامج.
ومثال علي استخدامه :
كود:
// ComputeArea.java: Compute the area of a circle public class ComputeArea { /** Main method */ public static void main(String[] args) { final double PI = 3.14159; // Declare a constant // Assign a radius double radius = 20;// Compute area double area = radius * radius * PI;
// Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } }
بيقولنا ملاحظة المتعارف عليه ان اسم المتغير الثابت بيبقي كابتل زي PI مش pi او Pi .
بيقولنا معلومة وهي انه استخدام المتغيرات الثابتة مفيد جدا لتلات اسباب وهي :
1- مش محتاج كل شوية تغير قيمته في البرنامج .
2- القيمة بحطها مرة واحدة في مكان واحد .
3- اني اختار اسم مناسب للمتغير هيسهلي عملية قراية الكود .
بيقولنا معلومة وهي انه استخدام المتغيرات الثابتة مفيد جدا لتلات اسباب وهي :
1- مش محتاج كل شوية تغير قيمته في البرنامج .
2- القيمة بحطها مرة واحدة في مكان واحد .
3- اني اختار اسم مناسب للمتغير هيسهلي عملية قراية الكود .
ليست هناك تعليقات:
إرسال تعليق