[mark=#00FFFF]هنا بقى نقول ان ال control statements بتتقسم الى
• Decision (conditional)
• repeat (looping)
اولا ال conditional ودى بتنقسم الى
• single
• alternative
• n-way [/mark]
اول حاجة ال single ودى لما بنيجى نشرحها دايما بنقول المثال المشهور بتاع الاب اللى بيقول لابنة لو نجحت فى الثانوية العامة بمجموع كويس هجيبلك laptop
ثانى حاجة ال alternative ودى هنا بقى الاب ظروفة حلوة شيوية وقال للابن لو نجحت بمجموع عالى انا هجيبلك عربية اما لو لا قدر الله المجموع مش كبير هجيبلك laptop
ثالث حاجة ال n-way وهنا بقى دا الاب ظروفة حلوة شيويتين ثلاتة ومدلع الواد (شكلة عيل بايظ اصلا) اوى قالة لو جبت يا حمادة مجموع عالى يدخلك طب انا هجوزك اما بقى لو جبت مجموع يدخلك علوم انا هجيبلك عربية اما بقى لو لحقت كلية اصلا انا هجيبلك laptop (يا بختك يا سيدى)
طب الكلام دا بقى مالة بالجافا ؟
احنا عندنا حاجة اسمها
[mark=#00FFFF] If-statement
دى اللى هيا ال single
وهيا بتكون if (logical condition)
{Statement;
Statement ;}
يعنى لو ال logical condition دا طلع صح وقيمتة بtrue نفذ الجمل اللى بعدها اما لو طلع غلط اخرج من جملة if
مثال على الكلام اللى فات دا
Int x=5;
If(x<3)
{System.out.println("greater");}
System.ot.println("good bye");[/mark]
هنا بقى هيدخل على الشرط هيلاقية غلط يبقى مش هينفذ الجملة بتاعة greater وهيخرج من ال if وهينفذ الجملة اللى عليها الدرو فى التنفيذ اللى هيا طباعة good bye
يمكن استخدام اى نوع من المتغيرات داخل الcondition ولكن من خلال relational operations ماعدا الboolean هو النوع الوحيد من المتغيرات اللى يستخدم مطلقا دون اى عمليات . كما يمكننا وضع اكتر من شرط وتطبيقهم معا او واحد بس منهم وذالك من خلال ال logical operations
[mark=#99FFFF]If-else statement
ودى بقى اللى هى ال alternative
وهيا بتكون if (logical condition)
True Statements;
Else
false statements; [/mark]
وهنا بقى بيدخل على الشرط وويتحقق منة لو لقاة صح بينفذ الجمل اللى بعدة على طول الى هيا ال
true statements اما لو لقاها غلط يبقى هيدخل على ال جمل اللى بعد else اللى هيا ال false statements
على عكس ال if-statement كانت لما بيكون الشرط خطا بتخرج من ال If خالص.
مثال
[mark=#FF99FF]
int x=5;
If(x<3)
{System.out.println("greater");}
else
{System.out.println("smaller");}
System.ot.println("good bye");[/mark]
هنا بقى هيلاقى الشرط غلط فهيروح على اللى بعد الelse فهيطبع smaller وبعد كدا هيخرج من ال if وبطبع good bye
طب عاوزين نقول ان الجمل اللى هتتنفذ لو كان الشرط صح مثلا اكتر من جملة فانا لازم انى احطهم فى block يعنى كدا { statements …….} اما لو هينفذ جملة واحدة فمش ضرورى انى احطها فى block
طب بالمرة كدا نعرف اية الفرق بين ;()System.out.println(); & System.out.print
اولا فى حالة ال(); System.out.print هو بيطبع ماداخل الاقواس وبيفضل الcurser المؤشر مكانة مش بينزل الى سطر جديد ولا حتى بيتحرك فبيقف بعد الكلام المطبوع على طول فى نفس السطر او بينزل بس دا فى حالة ان السطر خلص زى مثلا فى حالة ال cmd عرض السطر 81 حرف بس وبعد كدا بينزل اوتوماتيك.
اما فى حالة ال System.out.println(); فهو بيطبع اللى داخل الاقواس وبعد كدا ينزل على السطر اللى بعد كدا فهو بيعمل حاجة اسمها line feed يعنى بيحرق الباقى من السطر وبيكون الباقى دا قابل للكتابة عادى بس هو بيحرقة وينزل على سطر جديد.
*لما اكتب System.out.print(\t); دا بيمشى 8 spaces
*ولما اكتب System.out.print(\n); دى بتساوى System.out.println(); فهو هنا بينزل على السطر اللى بعدة على طول.