النهاردة هنكمل شابتر 3 اللي بدأناه المرة اللي فاتت :
3.3.3. Nested if Statements
افرض انا عاوز اعمل اكتر من شرط في نفس الوقت في الحالة دي هنستخدم اكتر من if …. Else متداخلين او nested زي كده :
لو i>k هيدخل في جملة if جديدة بتشوف هل j>k ؟ وهي دي فكرة الnested if .
مثال لو عايزين نحسب التقديرات لمجموعة من الطلبة واحط لكل تقدير حرف هنعمله كده :
وبنلاحظ ان طريقة كتابة البرنامج في الحالة التانية بيكون شكله احلي .
ملحوظة :: لما يكون عندنا اكتر من if واكتر من else المفروض ان الelse بتتبع اخر if قبلها زي كده :
وبيرجع تاني يقولنا ان == هو ده اللي بنستخدمه في المقارنة وليس = .
مثال علي الجزئية دي : نفس برنامج الحساب ولكن بكفاءة اعلي :
هنا استخدمنا ميثود اسمها ()random مهمتها انها تولد ارقام عشوائية في مدى معين وهنا في المثال هتولد رقم من 0-9 .
وكمان علشان المفروض ان المطروح منه مينفعش يكون اصغر من المطروح فلو حصل وجه number1 اصغر من number2 هنعمل swap او تبديل بين الرقمين وعلشان نبدلهم استخدمنا متغير temp وحطينا فيه قيمة number2 .
3.4. switch Statements
السبب الأساسي في عمل switch كان ان شكل البرنامج في حالة استخدام اكتر من if بيبقي مش حلو فبنستخدم الswitch علشان نخلي الشكل والكفاءة احسن وده الشكل العام ليها:
بنستخدم الbreak علشان لما الفعل المطلوب يحصل يطلع بره الswitch وميكملش باقي الإحتمالات وبرده default دي الحالة الإفتراضية اللي لو مفيش ولا حالة من الحالات اتنفذت هي بتتنفذ . مع العلم ان استخدامهم اختياري .
مثال لو عندنا حرف وعايزين نطبع قيمته في حالة انه a او b او c :
3.5. Conditional Expressions
السكشن ده بيعرفنا طريقة تانية لعمل جملة الif والطريقة دي مابقتش دارجة قوي ومحدش بقي بيستخدمها لكن برده نعرفها للعلم بالشيء
لو عندنا جملة if زي دي :
الطريقة التانية هتخلي الجملة تتكتب كده :
بما معناه y هتبقي بواحد لو x>0 ولو محصلش هتبقي ب-1
كمان مثال :
هنا بنشوف الأكبر بين رقمين وبنخزنه في max لو الnum1 اكبر يبقي هو اللي هيتخزن في max ولو الnum2 هو الأكبر يبقي هيتخزن هو في max .
وكمان مثال :
لو الرقم زوجي هيطبع انه زوجي ولو فردي هيطبع انه فردي .
مثال علي الطريقة دي :
وبنراعي ترتيب المتغيرات مع الكلمات وكمان ممكن نحدد مكان الناتج زي كده : %4c يعني هطبع قيمة الحرف واسيب قبلها 4 مسافات وممكن نستخدم – علشان نحدد بداية الكلام من اليمين او الشمال زي كده :
displays
1234Java
1234 Java
ملحوظة :: علامة % بنستخدمها في الكلمات المحفوظة علشان اطبع % هعملها كده %%
3.7. Operator Precedence and Associativity
دلوقتي لو عندنا تعبير زي ده :
وعاوز اعرف ازاي الcompiler بيحسب قيمته وبيرتب ازاي العمليات المختلفة من جمع وطرح وضرب وقسمة واقواس وغيرهم.
في البداية ده جدول للأولويات في العمليات :
بعد كده لو عندنا تعبير فيه عمليات ليهم نفس الأولوية بناخدهم عملية عملية من الشمال لليمين زي كده :
دلوقتي هنحسب التعبير اللي فوق تبع الأولوية للعمليات كده :
ونلاحظ ان لو عاوز افرض انا ترتيب في تنفيذ العمليات اقدر احط اقواس علي العملية المطلوبة .
طيب حلو قوي الكلام ده بس لو ده في تعبير طيب لو عاوز احسب تعبيرين في مقارنة زي كده :
في الحالة دي بنتعامل مع كل تعبير فيهم لوحده وبطبق عليه نفس القواعد اللي قولناها هيبقي كده :
وبكده نكون غطينا سوا معظم أفكار الجمل الشرطية في الجافا،، يا ريت لو فيه أي استفسار انا موجود..
ومعادنا ان شاء الله العدد الجاي مع CATazine
it’s totally free to share – LibreOffice Writer
thanks all.. thanks CATazine 🙂