بسم الله الرحمن الرحيم
والصلاة والسلام على سيدنا
محمد صل الله عليه وسلم
اخر مره اتكلمنا عن data type وازاى ممكن نعرف Variable وده مثال
على اخر حاجه وقفنا عندها :
Double
number;
كده انا بعرف variable اسمه number ونوعه double وكده هيتحجزله فى الmemory
(8 bytes)
وإن شاء الله النهاردة هنكمل ونتكلم فى اكتر من موضوع .
أولاً : هنتكلم عن ال operators
وانواعها :
1-
Arithmetic and Assignment Operators: وده ليه علاقة بالعمليات الحسابية أمثلة :
·
+ للجمع .
·
- للطرح .
·
/ للقسمة .
·
* للضرب .
·
% للمتبقى من القسمة .
·
= Assignment .
2-
Compare Operator : وده ليه علاقة بالمقارنات أمثلة :
·
> اكبر من .
·
>= اكبر من أو يساوى .
·
< اصغر من .
·
<= اصغر من أو
يساوى .
·
== يساوى .
·
!= لا يساوى .
3-
Logical Operator : وده ليه علاقة بالعمليات المنطقية أمثلة :
·
&& (and) : وديه معناها فى java
code "و" .
·
|| (Or) : وديه
معناها "أو".
·
! (not) : وديه
معناها النفى .
وكل ال operators اللى فاتت هنفهما اكتر لما نستخدمها فى ال code .
ثانياً : Create First Java Project و ازاى نعمل new
project :
وديه صور من الدرس الأول لعمل new
project .
New à Java
project ثم بعد كده بكتب اسم ال project
-
بعد كده المفروض انى هكتب java
code ، بس هكتب الكود فين ؟
بعد ما عملنا الproject هعمل Class وهى ديه اللى هكتب فيها ال code
بقف عند src
اللى موجود داخل ال project اللى عملته وبعمل Right Click عليه وبختار new ثم Class ثم بكتب اسم ال Class.
مبدئياً كده احنا إن شاء الله هنفهم اكتر عن موضوع ال Class
لما ندخل فى OOP هنتكلم عنها باستفاضة اكتر بس خلينا دلوقتى نعرف
انها المكان اللى هنكتب فيه ال code بتاعنا .
بس فيه ملحوظة صغيرة وانا بعمل ال Class فيه تحت اختيار مكتوب عليه (public static void main(string[]args)) وده بعمل عليه علامة صح لو عايزه ال Class
اللى هعملها تكون Main Class وفى حالتنا دلوقتى هعمل علامة
صح ، بس هو يعنى ايه Main Class ؟ ديه عبارة عن ال Class اللى هيبدا منها تنفيذ ال code يعنى فى ال java لما بعمل Run لل project
اول لما بيلاقى ال Class
عبارة عن main
class
على طول بيعرف ان هى ديه ال Class اللى هيبدأ من عندها تنفيذ ال Code بس ال project
الواحد فيه main class واحدة بس مش اكتر من واحدة ومش اقل يعنى لازم
يكون فيه main class .
بعد ما اعمل finish هيظهر ليا الشكل ديه :
ايه الشكل ده ؟ اولاً هنلاقى فوق اسم ال Class بتاعتنا ، ثانياً هنلاقى نفس الجملة اللى عملنا عليها
علامة صح اللى هيا :
(public
static void main(string[]args))
وديه عبارة عن method
وما نقلقش كل الحاجات ديه إن شاء الله هتتشرح بالتفصيل فى الدروس القادمة لان لو
دخلنا فى تفاصيل دلوقتى ممكن نتلغبط انا بس يهمنى دلوقتى اننا نعرف اسمها وداخل ال method ديه هنكتب الكود بتاعنا يعنى من اول العلامة ديه
}
ولازم كل ال code بتاعنا يتكتب داخل العلامة ديه قبل ما تتقفل ب
ديه {
والعلامتين دول عبارة عن حدود ال method بتاعتى بتعرفنى ان بعدها كأنى مش هبقى جوه ال method
حتى ال Class بعدها فيه العلامتين دول {} ومعناهم برده انى لو كتبت اى حاجه بعدهم هبقى
خارج ال Class
ولازم يتكتبو مع بعض لأنى بعد كده هكتبهم بأيدى يعنى لما افتح واحده فيهم لازم
اقفل بالتانيه يا إما هيحصل error فى البرنامج بتاعى .
كده خلصنا الجزء الخاص بعمل project وعمل ال Class .
ثالثاً : هنتكلم عن ال Control Statements وأنواعها :
وهى عبارة عن جمل من خلالها بتحكم اكتر فى ال code وهى ليها اسم آخر flow statements وانواعها :
-
Selection Statements.
-
Iteration Statements.
-
Jump
Statements.
1-
Selection Statements : مكونه من
نوعين وهما
§
If-Else
§
Switch Case
احنا هنشرح وظيفتهم ، وازاى اكتبهم فى ال code يعنى ال syntax بتاعهم .
اولاُ:
ايه هى وظيفتهم :
دول من ال controls الهامة جدا لانى بستخدمهم فى ال code كتير ووظيفتهم كالتالى بقدر من خلالهم اتحكم فى
ايه اللى ممكن انفذه فى الcode على حسب الظرف
اللى موجود عندى .
يعنى ايه الكلام ده مثلا لو عندى رقمين A ,B وانا مش
عارفه قيمتهم وال user
هو اللى هيدخل قيمتهم ديه الحاله الموجوده
يبقى هنا الظروف اللى عندى ان A ممكن يكون اكبر من B او العكس او هما الاثنين متساويين وعلى حسب كل
ظرف هنفذ اوامر معينه وليكن هطبع قيمه الرقم الكبير .
ده مثال طبعا بسيط جدا بس الفكره
منه فهم يعنى ايه selection statements وهناخد
المثال ده وهنطبقه عملياً .
-
مبدئياً فى حاجات مهمة عايزين
نعرفهم :
1-
ازاى اطبع حاجه فى java ؟ باستخدام :
System.out.println("write here");
وبكتب مكان write here الجمل اللى عايزين نطبعها
ولازم تكون بين " " لو كانت string عشان يفهم انها string ولو هطبع قيمه variable
يبقى هكتب اسمه من غير " " .
2-
ازاى باخد من ال user اى قيمه
احنا عايزنها :
لو هاخد منه قيمه integer هكتب كده :
Scanner s=new Scanner(System.in);
Int x=s.nextInt();
والقيمه اللى ال user هيدخلها هترجعلى
فى x
ولو عايزه قيمه من نوع تانى short مثلا هستخدم
nextShort() وكل نوع ليه
ال method
بتاعته
ممكن ماتكونوش فاهمين سطرين ال code اللى فاتو اوى لاننا لسه ما شرحناش ال OOP ان شاء الله لما تتشرح هتبقى واضحه المهم اننا
نعرف نستخدمهم دلوقتى .
3-
فى اخر كل سطر فى ال code لازم اكتب ; عشان يعرف
ان السطر انتهى ولو ما كتبتش هيطلعلى error .
4-
لما اكتب برنامج واحب اعمله run بعمل ctrl+f11 او بضغط على
ال button الاخضر اللى فى الصورة .
وبعد ما نعمله run بتظهر نتيجته اسفل ال code فى المكان
ده :
ثانياً
: ازاى اكتبهم فى ال code :
§
If-Else :
If(condition)
{
}
Else
{
}
والمعنى فى if(condition)
ان لو حصل الظرف ده نفذ ال code ده ، وال code هيكون مكتوب بين القوسين دول {} وال condition هو الظرف اللى عايزين نحققه .
ومعنى else ان لو ما حصلش الظرف اللى فوق وحصل اى حاجه
تانيه نفذ ال code اللى بين القوسين اللى بعد ال else .
افرض انا عايزه احدد كذه ظرف زى المثال بتاع الرقمين A, B هعمل كده :
-
اولاً هاخد القيم من ال user كده :
·
نفهم من الكود ده ان if لازم اكتب بعدها condition معين ولو
عايزه احدد condition تانى اكتب else if (condition) ولو مش محدده
الظرف اللى هيحصل هكتب else بس مش else if .
·
اخر سطر فى الكود بعرض فيه قيمه A and
B
علامة الجمع مش بجمع قيمهم لا ده انا كده بكتبهم جنب بعض وبفصل بينهم بال ( , ) .
·
داخل الاقواس ديه {} انا ممكن اكتب اى code حتى لو حبيت اعمل if-else تانية جواها هينفع
اعملها وهتبقى اسمها nested
if يعنى اتنين if جواه بعض .
§
Switch case :
Switch (Variable)
{
Case 1: code; break;
Case 2: code; break;
default: code; break;
}
-
اول حاجه نفهم الكلام اللى مكتوب ده ، variable معناها
القيمه اللى هقارنها بكل ال cases اللى مكتوبه .
-
Case
1
مكان 1 و2 بكتب فيها القيم اللى بقارن ال variable بيها.
-
Code بكتب مكانها
الكود اللى هيتنفذ فى حاله ان الcase اتحققت وبنهى الكود ب ;
-
ثم بكتب break; بعد كل case ومعناها لما يتنفذ ال case اللى انا
فيها اخرج بره ال switch وما تنفذش اى Case تانيه .
-
Default معناها لو ال statement ما حققش ولا case من اللى فاتو ينفذ الكود اللى فى default .
-
المثال اللى فات ما اقدرش اعمله بال switch
case ليه ؟ لانها بتتعامل بس مع علاقة == يعنى علاقة يساوى بس لكن
المقارنه مش بتتم داخل switch case ومن هنا نقدر نتكلم شويه عن
مميزات وعيوب ال switch case :
اولاً : مميزاتها :
n
اسرع من if-else لانها بتدخل
على طول على ال condition الصح لكن if-else بتعدى من
اول condition لحد الصح اللى فيهم وبكده لو ال condition
الصح هو اخر واحد يبقى هتعدى عليهم كلهم .
ثانياً : عيوبها :
n
انها بتتعامل مع == بس زى ما قولنا مش
بتتعامل مع المقارنات
n
بتتعامل مع primitive
data type
بس وفى الدروس القادمه هنعرف ال object وهى مش بتتعامل مع ال objects.
ومثال على switch case لو عندى variable وعايزه اعرف قيمتة 5 ولا 6 ولا 7 ولا قيمه غير
الأرقام ديه اصلا :
البرنامج هياخد قيمة ال variable من ال user
ويشوف هو ايه ويعرض قيمته بالشكل ده :
ملحوظة: اى code
بعمله ب switch case ينفع اعمله ب if – else لكن مش اى code بعمله ب if – else ينفع اعمله ب switch case لانها بتتعامل مع == بس لكن if-
else
بتتعامل مع اى حاجه .
شويه اختصارات كده نتعملها :
-
Ctrl+shift+f بتنظم الكود
المكتوب ممكن نجربها هتبقى مفيده جدا فى تنظيم الكود .
-
لما اكتب اى method build
in فى ال java زى مثلا system
اكتب اول كام حرف وبعد كده ctrl+space هيجبلى كل
الحاجات اللى بتبدأ فى java بالحروف ديه وده بيسهل عليا
بدل ما اكتب الحاجه كلها لان كتير مش بنكون حافظين الحاجه كامله فبنستعين بالطريقه
ديه عشان تسهل لنا الدنيا .
-
وبكده نكون خلصنا selection
statements
وهنقف لحد كده ونكمل باقى ال control statements إن شاء الله
الدرس القادم وخلال الاسبوع ده هيكون عندنا task وهو كالاتى :
n
ناخد input من ال user انه يدخل
لينا درجه طالب
n
نعمل if- esle لو درجه الطالب ما بين 100 الى
85 نطبع على الشاشه كلمه Excellent
n
لو الدرجه مابين 75 الى 84 نطبع very
good
n
لو الدرجه مابين 65 الى 74 نطبع good
n
لو الدرجه ما بين 50 الى 64 نطبع
fair
n
لو الدرجه اقل من 50 نطبع fail
n
لو الدرجه اكبر من 100 او اقل من 0 نطبع له Invalid
Number
وده كتاب كويس فيه شرح اكترعن control statements وده اللينك :
يارب تكونوا استفدوا من درس النهارده وياريت تطبقو الامثله الى فيه وتعملوا
ال task هتفرق كتير اوى ان شاء الله
ولو فيه اى حاجه مش واضحه اكيد تسألوا فيها .
السلام عليكم ورحمة الله وبركاته
No comments:
Post a Comment