موسوعة واسعة لصور انمى ناروتو



بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته


أقدم لكم زوارنا الكرام 

مجموعة رائعة لصور انمى ناروتو

اتمنى ان تنال رضاكم





في الختام نتمنى منك الدعاء


تعليم لغة الجافا java الدرس 12

تعليم لغة الجافا java الدرس 12

السلام عليكم ورحمة الله وبركاته 


المثال هو برنامج ال calculator ودا هنعملة الاول من غير methods وبعد كدا هنرجع نعملة
ب methods علشان نعرف الفرق يعنى.




ودى صورة البرنامج


ودا البرنامج من غير methods طبعا الفرق بينهم مش هيبان اوى عندنا هنا بل يعتبر البرنامج من غير methods اصغر فى الكود كمان بس هيا فى برامج تانية هيبان اوى الفرق دا معانا ان شاء الله
ودا بقى الكود بال methods .


ودى صورة البرنامج


حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة
تعليم لغة الجافا java الدرس 15

تعليم لغة الجافا java الدرس 15

السلام عليكم ورحمة الله وبركاته 


عاوزين نتكلم على موضوع تانى مهم جدا وهيا ال arrays
فى الجافا ال array تعتبر object
طب يعنى اية array اصلا ؟
نقول ان ال array هى عبارة عن متغير عادى خالص زى المتغيرات اللى اتكلمنا عليها ولة size,range,type,name,memory location,values بس الفرق الوحيد زى ما شفنا ال values يعنى قيم لكن فى ال variables بتكون value يعنى قيمة بمعنى ان المتغيرات بتشيل قيمة واحدة بس اما ال array بتشيل اكتر من قيمة.

In java array is object

مراحل عمل array هم ثلاث مراحل

• Declaration مرحلة التعريف
• Initialization وهى مرحلة اعطاء قيم ابتدائية
• Maintaining(assignment,read values,processing)



احنا كدا الحمد لله عرفنا ازاى نعمل ال array وكمان نحط فيها القيم بس بطريقة static يعنى custum يعنى انا وانا بعرف المصفوفة فى الاول خالص بروح حاطط القيم فيها على طول وفية طريقة تانية بردة ان انا اعرفها الاول وبعد كدا ابقى احط فيها القيم زى كدا Int[]x=new int[5]; بالطريقة دى انا عملت مصفوفة اسمها x بتشيل متغيرات من نوع integer وعدد القيم اللى فيها 5 ولكن مفيش فيها حاليا اى عناصر او بمعنى اصح فيها عناصر بس واخدين القيمة الابتدائية اللى هى بتختلف على حسب نوع المصفوفة
• 0 if the array of numbers
• False if array of boolean
• Null if the array of objects

بعد كدا بقى انا بدخل المتغيرات براحتى زى عنصر عنصر
طب دلوقتى انا عاوز اتعرف على ال array اكتر وازاى اتعامل مع عناصرها واحد واحد
تمام اوى يبقى كدا احنا لازم نعرف ازاى اوصل لاى عنصر فيها بص يا سيدى
انا بوصل لاى عنصر فى اى array من خلال حاجتيين هما اسم ال array وترتيب العنصر اللى انا عاوزة بس فية حاجة ناخد بالنا منها كويس اوى هى ان ال الترتيب فى ال array بيبدا من ال 0 ومش من ال1 يعنى اول عنصر فيها ترتيبة 0 واخر عنصر فيها ترتيبة =n-1 بحيث ان ال n دى هى عدد العناصر يعنى لو فيها 10 عناصر هيكون ترتيب اخر عنصر فيها 9 تمام اوى كدا ؟
بس بردة انتا لسا ما قولتيليش ازاى اوصلة ؟
من خلال ال array_name[el ement_index] يعنى لو عاوز اوصل للعنصر اللى ترتيبة 5 من المصفوفة اللى اسمها x هيكون كدا x[5] وبعد ما توصلة اتعاملو مع بعض بقى ممكن تغير قيمتة او تطبعها او تستخدمها فى اى استخدام زى ما تحب والشكل دا بيوضح تركيب المصفوفة وازاى اوصل لاى عنصر فيهايوجد



بردة فية حاجة مهمة اوى كنا هننساها وهى ال length method ودى عبارة عن دالة بترجعلى طول المصفوفة اللى عندى يعنى لو انا استخدمتها مع ال x array اللى لسا عاملينها من شيوية هترجعلنا 5
وهنستدعيها بالشكل دا x.lenght();

طب احنا هنتكلم دلوقتى عن حاجة مهمة اوى هى ال Multiple-Subscripted Array ودى ليها اسم تانى اللى هو ال multi dimensional array وهى فعلا مهمة لان المصفوفات اللى بنتكلم عليها من الصبح دى هى مش بتشيل الا صف واحد بس من القيم لكن اللى هنتكلم عليها دلوقتى دى بتعملى حاجة زى جدول (table ) بتشيل صفوف فى اعمدة يعنى لو انا قولتلك بعد كدا انا مصفوفة 2x1 دى هيكون معناها اية ؟
معناها ان انا عندى مصفوفة بتتكون من صف واحد والصف دا جواة قيمتين تمام ولو قولتلك مصفوفة 3x4 دى بقى معناها اية؟ معناها ان المصفوفة دى فيها 4 صفوف كل صف جواة 3 قيم تمام اوى
طب ازاى نعملها بقى؟
دا الشكل العام بتاعها
data_type array_name[][]=new data_type[rows_number][coloums_number];
مثال : int xx[][]=new int[2][2]; دى مصفوفة اسمها xx فيها 2 صفوف و 2 اعمدة
طب لو عاوز احط فيها المتغيرات على طول كدا هعمل اية؟
Int xx[][]={{1,2},{3,4}}; يبقى كدا انا عملت مصفوفة اسمها xx طولها 2X2 فيها فى الصف الاول القيم 1,2 وفى الصف التانى القيم 3,4 يعنى ال multi dimensional array بيكون شكلها كدا



[mark=#CCFF33]ملاحظة اخيرة خالص بقى :[/mark]

هنا لما نيجى نقول ان ال x==y دة معناة ان الreference بتاع ال x يساوى الreference بتاع ال y
لكن لو عاوز اقول ان قيم المتغيرات اللى جوة المصفوفة x تساوى قيم المتغيرات اللى جوة المصفوفة y
يبقى تتكتب x.equal(y) والميثود دى بترجع true or falseكدا تقريبا كل ما يخص ال array الحمد لله تمام



تم اعداد الماده العلميه بواسطة م / محمد الطباخ 
تعليم لغة الجافا java الدرس 13

تعليم لغة الجافا java الدرس 13

السلام عليكم ورحمة الله وبركاته 


طب احنا كنا قلنا ان اى ميثود ليها parameter list يعنى بتاخد متغيرات (معاملات) وممكن بردة تكون مش بيدخل ليها اى متغيرات تمام كدا عاوزين بقى نزود حاجة صغيرة اوى وهى ان انا لما بمرر المتغيرات على الميثود بتاعتى دا العملية دى ليها نوعين
• Passing by value
• Passing by reference
طب دا كلام زى الفل بس مش عارف يعنى اية؟...............اقولك بص يا سيدى
بالنسبة للpassing by value دا بالظبط زى اللى فى المثال اللى فات دا فانا هنا بخلى الميثود بتاعتى تاخد القيمة اللى موجودة فى ال متغير اللى اسمة x اللى هى 5 وتتعامل معاها يعنى بتاخد القيمة اللى فى المتغيرا دا ودا بيتطبق على كل ال primitive variables
اما ال passing by reference فدا بقى يا بوب بخلى الميثود بتاعتى تاخد reference لل data يعنى انا لو عندى متغير اسمة o والمتغير دا non primitive يعنى object زى ما قولنا قبل كدا لو مررتة للميثود بتاعتى هى مش هتاخدة لان هو اصلا مفيش فية قيمة هو عبارة عن عنوان ل object فى ال heap محدش يستعجل احنا فى الدرس الجاى دا هنعرف كويس يعنى اية heap بس المهم دلوقتى اننا نعرف ان فى ال
In passing by reference the caller gives the called method direct access to caller’s data
تانى هنقول ان الشخص اللى بيستدعى الميثود بيعطيها عنوان مباشر لما تدخل علية توصل للبيانات بتاعتة وكمان الميثود دى بتقدر تعدل فى البيانات دى
وال passing by reference بيشتغل مع ال non primitive data types

طب قبل ما نخلص الدرس الجميل دا عاوزين نتكلم عن حاجة مهمة اوى هى ال method overloading دى بقى اللى هى انى اعمل 2 methods بنفس الاسم ونفس ال access modifier ونفس ال return type بس بغير فى ال parameter list دا مثال على ال method over loading



حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

اول method بتاخد منغيرات من نوع int والتانية بتاخد متغيرات من نوع double يعنى هما كدا مختلفين عن بعض طب يجى واحد يقولى طب هو ال compiler هيفرق بينهم ازاى ?
اقولك من خلال ال parameters يعنى لما اقولة add(2.5,4.7); هو على طول هيعرف ان انا عاوز استخدم التانية وبردة لما اقولة add(8,7); هو هيعرف انى اقصد الاولى لان انا مدخلة بيانات integer

طب نتكلم عن حاجم تانية وهى ال method recursion ودى بقى تعنى استدعاء الدالة لنفسها سواء بطريقة (مباشرة او غير مباشرة ) عن طريقة method تانية طب دى مش هنفهمها الا بمثال

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

دا برنامج صغير اوى كدا بيطبع ال factorial بتاع الارقام من 1 الى 10 يعنى المضروب بتاعهم وهو بيعتمد فى الاساس على ال recursion ودا هيكون شكل الخرج بتاع البرنامج

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة


دى رسمة بسيطة كدا هنفهم منها يعنى اية recursion

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

هو اصلا مضروب اى رقم هو عبارة عن حاصل ضرب جميع الارقام اللى قبلة يعنى لو عاوز اجيب مضروب ال 4 يبقى هيكون كدا 4*3*2*1 يعنى هتكون قيمتها 24 فهنا بقى علشان اجيب مضروب ال5 مثلا يبقى بضرب ال5 فى مضروب ال 4 وعلشان اجيب قيمة مضروب ال 4 يبقى هتساوى 4 فى مضروب ال3 وطبعا علشان اجيب مضروب ال3 هتساوى 3 فى مضروب ال 2 وضروب ال2 يساوى 2 فى مضروب ال 1 وطبعا احنا عارفين ان مضروب ال 1 يساوى 1 فهيبدا يرجع تانى ويعوض عن قيمة مضروب الواحد ويجيب منة مضروب ال 2 وهكذا حتى يصل الى مضروب ال 5 وهيطلع قيمتة 120 زى ما فى الرسمة
طبعا احنا لو حاولنا نعملها من غير ال recursion هتكون رخمة اوى وهنكتب كلام كتير وهتكون كفائتها مش كويسة

وبكدا بقى يبقى خلص الدرس دا الحمد لله بس هيا الميثود مخلصتش لسا طبعا باقى حاجة اسمها method overriding هنكملها بس بعد ما ندخل فى ال object oriented programming هنبقى نكملها ان شاء الله
 
تعليم لغة الجافا java الدرس 14

تعليم لغة الجافا java الدرس 14

السلام عليكم ورحمة الله وبركاته 

ان شاء الله هنتكلم عن درس مهم جدا ومن وجهة نظرى المتواضعة يعنى ان الدرس دا اهم درس وهو مش كود هنتعلم نكتبة بس احنا هنعرف ازاى المتغيرات والحجات بتاعتنا بتتخزن ازاى فى الميمورى ودى حاجة مهمة جدا وبتفرق مبرمج من مبرمج اخر فلازم ان شاء الله نفهم الكلام دة كويس وهو كلام سهل جدا وان شاء الله كلنا هنعرفة نبطل كلام بقى ونبدا على طول ونقول بسم الله..
احنا كنا قلنا قبل كدا ان فية نوعين من data types وهما primitive and non primitive data types وكنا سمينا ال non primitive دى باسم reference او اسم object data types ان شاء الله احنا عاوزين نعرف بقى (الجديد يعنى) المتغيرات دى ببتتخزن فين وازاى بيتعامل البرنامج معاهم.

[mark=#FFFFCC]عاوزين نقول بردة ان ال reference data types دى عبارة عن 
• string
• user defined class
• java framework classes[/mark]

عاوزين نعرف يعنى اية reference بس الاول لازم نعرف ان كل برنامج لة memory 
بس يعنى اية memory؟ 
علشان نعرف يعنى اية memory لازم نعرف الفرق بين ال ram وال memory ؟

اولا ال ram دى حاجة كدا هاردوير يعنى بنمسكها بادينا وكمان احنا اللى بنشتريها ودى من os resourses يعنى بتفرق فى امكانيات الجهاز وكدا يعنى وكمان نعرف ان ال ram دى مؤقتة يعنى هيا بيبقى فيها بيانات ومعلومات لكن لما الجهاز بيطفى المعلومات دى بتروح على طول يعنى هيا ذاكرة مؤقتة.

ثانيا ال memory : اول لما الجهاز بيبدا يشتغل بيتم تحميل ال os فبياخد ال ram ويقسمها الى مجموعة من ال memories وكل process او برنامج بياخد memory من دول وبيشتغل فيها .
يعنى احنا من الاخر عاوزين نقول ان كل برنامج لة ال memory الخاصة بية اللى بيتنفذ فيها.
Every process(program in execution time) have it's own memory.
وعاوزين نقول بردة ان ال ram بتتقسم الى مجموعة من الmemories وبردة دا يعنى اننا سوف نتكلم عن حجات logical يعنى منطقية مش physical حجات مش بنشوفها.
بردة فية حاجة مهمة عاوزين نعرفها بردة وهيا ال life cycle of the computer
اول خطوة لما بنشغل الكمبيوتر يعنى بنعملة power on فبيقوم ال Bios (basic input output system) وبيعمل فحص لكل اجزاء الهارد وير check in the hardware وبعد كدا بيجى دور حاجة اسمها Mbr (master boot record) وهو بياخد ال control من ال Bios وبيعطية لل os .
وعاوزين نقول ان ال bios بيبقى موجود على ال rom لانة لازم يكون موجود طول الوقت طول ما الجهاز شغال علشان بيتاكد ان كل اجزاء الهارد وير شغالة تمام وعلشان كدا مش بيتحط على ال ram .
وبردة نقول ان ال MBR دى بتبقى موجودة على hard disk .

[mark=#00FFFF]ندخل بقى فى المهم وهو ان ال ram دى بتتسقسم الى نوعين heap وstack [/mark]

اولا ال :heap ودى بقى بنحط فيها ال objects وكل object داخلها بيبقى لة life time خاص بية بمعنى انة بيفضل موجود جواها لفترة معينة ثم بعد ذالك لو محدش استخدمة بيجى حاجة اسمها 
GC (garbage collector)وبيطلعها برة . اى object بيدخل جوى ال heap بيدخل من خلال كلمة new يعنى معنى كدا ان اول لما عنيا تقع على كلمة new اعرف على طول ان فية object جديد وان مكانة هيبقى فى ال heap .

ثانيا ال stack: دا بيشيل اى حاجة ماعدا ال objects فهو بيشيل reference variables + primitive data types بس الى primitive data types لازم يكونوا local variables يعنى مكتوبة داخل ال main method ودل بيطيروا اول لما الscope بتاع ال method بتاعتهم يخلص 
ال reference variables بيشاور على objects .
ال heap بيعيش فترة اطول من ال stack .
هناخد مثال نعرف منة ازاى المتغيرات بتتخزن فى ال stack وال objectives بتتخذن فى ال heap 



حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

عاوزين نعرف بقى ازاى المتغيرات والكائنات دى بتتخزن فى الmemory 
هنا اول حاجة كل المتغيرات اللى من نوع double و int دول هيتخزنوا فى ال stack لانهم local primitive data types اما ال string و ال Scanner object فدول بيتخزنوا فى ال heap وكمان احنا لما بنخزن ال string والScanner دول فى ال heap فا احنا بنعطيهم عنوان reference داخل ال heap ونحط العنوان دة فى ال stack ولما نيجى نستخدمة ننادى على العنوان دا ونوصلة من خلالة كما فى الصورة




فية عندنا شيوية ملاحظات هما 
ال null دايما هو ال default value لل reference variable مثال String[]args .
ال new دائما ترجع بreference .
ال String تعامل معاملة ال object .
ناخد مثال تانى علشان العملية توضح شيوية كمان


حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

ودا اللى بيحصل داخل ال memory
وهنا بقى هنحط المتغيرات اللى من نوع int فى ال statck اما الكائنات Scanner فهنحطهم فى ال heap 
فاول لما البرنامج هيبدا هيدخل على دالة الmain فهياخد ال args ويحطها فى ال stack وبعد كدا هيلاقى متغيرات من نوع int هتتتحط بردة فى ال stack لكن لما يلاقى الobject اللى اسمة Scanner فيحطة فى ال heap بس هيحط ال reference بتاعة فى ال stack اللى هو 0xf2ab علشان يشاور علية اللى بتحصل
ودى الصورة الى بتوضح الكلام دة




وهو لما يلاقى استدعاء ال add method داخل دالة ال main فهيروح نازل منفذها وطالع تانى دالة الmain فهيعرف المتغيرات اللى جوة الadd method فى ال stack ويمرر لها المتغيرات بقيم الx,y اللى هما هنفرض ان هما فى الحالة دى x=5 and y=7 وبعد ما يخلص عملية الجمع هيرجع بالناتج تانى ويحطة فى الz فى ال stack .
ولما يرجع الى ال z يبقى فى الحالة دى هيشيل قيم المتغيرات بتاعة ال x,y اللى فى ال add method وبعد كدا لما يعطى قيمة ال z لها هيشيل قيم ال x.y اللى موجودين فى ال main method لحد ما ال stack تفضى خالص خالص علشان كدا قلنا ان ال stack عمرها اقل من ال heap .
تعليم لغة الجافا java الدرس 1

تعليم لغة الجافا java الدرس 1

السلام عليكم ورحمة الله وبركاته 


احنا ان شاء الله هنبدا النهاردة فى شرح كورس الجافا

هنبدا النهاردة بشرح اول درس اللى هو عبارة عن مقدرمة عن الجافا باذن الله

الدرس الاول

اول حاجة عاوزين نعرفها ان الجافا دة مش عاوزين نعتبرها لغة برمجة احنا عاوزين نقول عن الجافا انها technique لان هيا بالفعل مكونة من اربعة techniques هما
Java runtime environment (JRE)
Java development kit (JDK)
Java programming language
Java deployment tools

فطبعا زى ما انتوا شايفين ان هيا مكونة من اربعة techniques منهم جافا كلغة برمجة وان شاء الله هنشرح الtechniques دى ووظيفة كل واحدة منهم بالتفصيل ان شاء الله ولكن طبعا هيكون تركيزنا على java programming language لان احنا فى الاخر عاوزين نبقى مبرمجين جافا صح؟

هنتكلم دلوقتى عن حاجة تانية ومنها هنقدر نشرح ال java techniques والحاجة دى اللى هيا software development cycle يعنى المراحل اللى اى برنامج بيعدى عليها علشان نعملة من اول مرحلة ازاى نفكر لحد ما نكتب الكود ونشغلة ويطلع صح كمان
يبقى هنقول ان ال software development cycle بتتم على اربع مراحل هما
1 analysis
& 2 designs
& 3 implementation
&4 tests
[mark=#FFFFCC]يعنى اية الكلام دا بقى ؟[/mark]

يعنى انا لما باجى اعمل اى application ويقابلنى اى مشكلةproblem دا طبعا بيسببلى الحاجة الى التفكيروبيشغلنى ويخلينى افكر problem needs idea
فالحل بتاع اى مشكلة هو عبارة عن فكرة صح؟ نقول صح

فالفكرة دى بقى احنا هنا هنسميها ال analysis اللى هيا اول خطوة عندنا وبعد كدا هنقول ان ال analysis دا عبارة عن فكرة يعنى كلام ممكن اقولة لواحد بس مش متنظم الكلام دة فعلشان كدا انا بنظم الكلام دة واصمم شكل كويس يعبر عنة يعنى مثلا اكتب الحل دا بطريقة رسومية دى بقى مرحلة الdesign يعنى فى المرحلة دى بنكتب الحل من خلا diagrams علشان الحل يبقى سهل واعرف اترجمة لكود بسرعة يعنى ودا طبعا بيبقى من خلا uml diagrams وبعد كدا بيجى دورى انا بقى كمبرمج جافا او مبرمج اى لغة تانية انى احول الرسومات دى لكود بيفهمة الجهاز لان الجهاز دا له لغة تانية غير اللغة بتاعتنا دى فهو مش هيفهم ال diagrams اللى احنا فهمناها دى فلازم المبرمج يحولها لكود ودى بقى مرحلة ال implementation وهيا مرحلة مهمة جدا بالنسبالنا لان هيا دى وظيفتنا لان الاولى والتانية دى وظايف تانية فية ناس تانين بيعملوها والناس دول هما system analysist & system designer وبعد مرحلة الimplementation دى ما تنتهى هنجرب الكود والمرحلة دى هيا المرحلة الاخيرة اللى هيا الtest وان شاء الله يطلع تمام ومفيش فية اى اخطاء واذا طلع فية اخطاء لا قدر الله هنرجع تانى نعمل الخطوات دى وربنا معاكم بقى
وبكدا نبقى عرفنا مراحل تطور اى برنامج
تعليم لغة الجافا java الدرس 11

تعليم لغة الجافا java الدرس 11

السلام عليكم ورحمة الله وبركاته 


وهو درس مهم جدا جدا وهو درس ال java methods (routine) طب يعنى اية method بالعربى كدا "طريقة" يعنى انا لو عاوز اجمع رقمين اكيد هقولة اجمعلى كذا وكذا يعنى اجمعلى 10+9 او اقولة اجمعلى 9+8 او اقولة 4+7 فمش كل مرة هقولة كدا انا عاوز اخلية يجمعلى اى رقمين وبعدين هو كل مرة بقى هكتبهالة يعنى هقولة z=x+y; وهنا بقى هيروح ال compiler رايح حاسب العملية دى وحاطط الناتج فى ال z زى ما هو قدمنا كدا؟!!!

لكن احنا بقى عاوزين نعمل حاجة ندخلها الرقمين اللى عاوزين نجمعهم وهيا تجمعهم وتطلع لنا الناتج دى بقى اللى اسمها الmethod طب ودى لزمتها اية كدا او مميزتها اية يعنى؟
اولا ان هيا بتتنفذ مرة واحدة بس يعنى مش كل مرة ال compiler هيروح ينفذها من جديد وتاخد وقت وتانى حاجة ان هيا يمكن استخدامها كتير ودى طبعا بتقسم الكود ولو فى غلطة فى مكان مش بقعد اغيرها فى كل الكود دا انا بغيرها فى المكان اللى كاتب فية الكود بتاع ال method بس وهيا بتتغير فى الكود كلة علشان كدا بقى هيا مهمة جدا جدا زى ما بنقول.
ندخل بقى فى شرح ال method دى هيا مجموعة من الجمل متجمعة مع بعض داخل كوس مجموعة
A group of statements blocked together within enclose braces
Which run all statements once for any call
احنا ان شاء الله هنعرف فى الدرس دا [mark=#FFFF33]حاجتين مهمين اوى[/mark]

اول حاجة ازاى نعمل making method وتانى حاجة ازى نستدعيها calling method
= signature+implementation method يعنى اية ؟

[mark=#99FFFF]اولا يعنى اية signature ؟ دى حجات كتير اهمها
Access modifier
Method name
Return type
Parameter list (orde&count&data type)
Throws exception[/mark]

طب يعنى اية الكلام دة؟
يعنى الاول انا الازم ابقى عارف اسم الدالة اللى عاوز اعملها علشان لما اجى انادى عليها بعد كدا وكمان نوعها ونوع الخرج اللى بتطلعة (المتغيرات اللى بترجعها) وعدد المتغيرات اللى راجعة دى اية وكمان ابقى عارف هيا بيدخلها اية وبعد كدا اعرف ال implementataion اللى هيا الكود اللى جوة الmethod اللى هو ال body بتاعها يعنى ال algorithm اللى هيتنفذ فيها اية
بس عاوز اقول ان كل method لها ال signature وال implementation الخاص بيها

يعنى مثلا لو عاوزين نعمل method
Create method accept two arguments from the user and add them to each other, return the result of the addition operation and call this method in the main method
يعنى عاوز اعمل method بتستقبل من المستخدم قيمتين من نوع integer وبتجمعهم على بعض وبعد كدا بترجع للمستخدم ناتج الجمع فى ال main method ازااااى بقى ؟


[mark=#FF99FF]public int add(int x,int y)
{int v=x+y;
Return v;}
وطبعا فية اكتر من طريقة لكتابة الكود اللى داخل الmethod
مثلا الكود اللى فات دة احنا ممكن نكتبة
public int add(int x,int y)
{int v=0;
v+=y;
v+=x;
Return v;}

public int add(int x,int y)
{Return(x+y); }[/mark]

عاوز اقول فى الاول ان انا برجع اى حاجة من خلال ال return keyword وطبعا لازم يكون نوع الحاجة اللى هترجع من نفس نوع الخرج اللى انا محددها قبل كدا فى ال signature بتاع ال method وطبعا لو انا كنت قايل ان ال return type بتاعى void يبقى انا كدا مش محتاج return .
و بكدا شوفنا ان الكود ممكن يتكتب باكتر من طريقة ودا طبعا بيعتمد على طريقة تفكيرك
يبقى احنا اتكلمنا عن ال signature بتاع الmethod وكمان عرفنا الشكل العام لل implementation
عاوزين نقول بقى ان ال body بتاع ال method دا هو عبارة عن جمل مكتوبة داخل ال{} وداخل الاقواس دى ممكن ان انا اكتب اى جمل جافا ما عدا انى اعرف method تانية داخل ال method دى .
ما بين الاقواس هو scope يعنى مدى او مجال ودا معناه ان انا لو عرفت متغير مثلا داخل المدى دة مش بيبقى متعرف على باقى الكود وال methods الاخرى يعنى الحجات التانية مش هتشوفة.
احنا كدا اتكلمنا سريعا عن ال method وعن الشكل العام لل method اللى هو
Access modifer return type name (paramenter list)
{body of the method;}

زى ما قولنا مش شيوية صغيرين اوى ان الدوال نوعين 

نوع بيكون له خرج ونوع تانى مش يكون لية خرج void النوع اللى لة خرج دة ممكن يكون الخرج بتاعة اى نوع من انواع البيانات اللى اتكلمنا عليها قبل كدا زى مثلا الدلة اللى فوق دى كان الخرج بتاعها int علشان هيا بترجع ناتج الجمع وناتج الجمع لعددين صحيحين اكيد بيكون عدد صحيح هو كمان علشان كدا احنا قلنا ان الخرج بتاعها int .
دلوقتى بقى جة الوقت اللى نعرف فية ازاى نستدعى ال method دى
اولا احنا بنيجى فى المكان اللى عاوزين نستخدمها فية ونكتب اسم ال method وبعد دا ال parameters اللى عاوزين نمررهالها يعنى method name(var1 value,var2 value,……);
وبكدا يبقى خلص درس ال method وفاضل بس اننا ناخد مثال على الكلام دة
تعليم لغة الجافا java الدرس 10

تعليم لغة الجافا java الدرس 10

السلام عليكم ورحمة الله وبركاته 



while-statement


ودى بتكون على الشكل دةwhile(logical expression)
{statements;
Counter;
}
وكمثال عليها هنعمل برنامج بيطبع الارقام من 1 to 10

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

والناتج هيكون بالطريقة دى




والنوع التانى من ال looping هو ال post-test وهنا بقى بينفذ اول جملة وبعد كدا بيدخل يشوف الشرط هل هو صح ولا غلط يعنى هو هنا بينفذ على الاقل مرة واحدة ومثال علية جملة ال
do-while statement
وهيا بتكون do{
Statements;
Counter; }
While(logical expression);
وهناخد عليها نفس المثال الاول بردة وهو طباعة الاعداد from 1 t0 10


حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة




والنوع الثالث من الlooping هو ال bonded test ودى معناها ان التكرار هنا محدود وجملة ال
for-statements
وهيا بتتكون من
For(initialization ; termination condition ; expression)
{body statements;}
حيث ان initialization هى المتغير بعد اعطائة قيمة ابتدائية و ال termination condition هو شرط التوقف والانتهاء و ال expression هو مقدار الازاحة او ال counter العداد او مقدار زيادة
ال initialized variable
وبردة هنشرح عليها المثال بتاع طبعا الارقام من 1 الى 10 وان شاء الله هيكون نفس الخرج للبرنامج

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة


عاوزين بقى دلوقتى ناخد برنامج صغير كدا علشان يجمع لنا كل اللى اخدناة لحد دلوقتى وكمان هيبقى فية حجات صغيرة لسا هناخدها قدام ان شاء الله
دا البرنامج
Write a program which accept 3 scores subjects for 5 students and calculate the average of the total score of their scores

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة


هنا بقى عاوزين نتكلم عن شيوية حجات اول حاجة ان كلمة ال Scanner دى لازم تبدا بحرف كابتل وهو class عندنا ودا بيستخدم لاستقبال الارقام مدخلات من ال user وهنتعرف علية بالتفصيل ان شاء الله لكن المهم دلوقتى اننا نعرف ان هو بيستخدم علشان استقبال مدخلات من ال مستخدم بس
الناتج بيكون بالشكل دا كدا


وفية task مطلوبة من حضراتكم وهيا سهلة جدا
تعتبر نفس البرنامج اللى فات دا بس كل اللى فيها انك هتطبع سوال للمستخدم بعد ما يدخل درجات اول طالب هل تريد ادخال درجات طلاب اخرى ولا لاء وبعد كدا تحسب المتوسط لدرجات الطلاب اللى تم ادخالها وبس كدا .
 

تعليم لغة الجافا java الدرس 2

تعليم لغة الجافا java الدرس 2

                     السلام عليكم ورحمة الله وبركاته 


ندخل بقى على حتة مهمة تانية وهى ازاى احنا بنكتب كود جافا وازاى الجهاز بيتعامل مع كود الجافا اللى منها ان شاء الله هنتعرف على ال techniques بتاعة الجافا

اول مرحلة هى ان احنا هنكتب الكود فى text editor ونحفظة بامتداد جافا يعنى مثلا هنكتب كود ونسمية source.java وطبعا البرنامج دا بيتكتب بلغة الجافا يعنى high level language يعنى انا اللى كاتبة بلغتى بس لسا بردة الجهاز مش فاهمها بعد كدا بقى البرنامج بيدخل على java complier وهنا البرنامج بيخرج منة source.class ودا بتبقى executable version بعد كدا بيدخل على حاجة اسمها byte code interpreter وهنا بقى بيتحول الى binary version ودى بتبقى machine language الجهاز يقدر يفهمها يعنى low level language هنا احنا قولنا ال techniques بتاعة الجافا بس انا كنت عاوز اقول ان عملية التحويل الى executable version دى بتبقى فى ال java development kit (JDK) وهنا الكود بيتحول من ال.java الى ال .class وبعد كدا بيدخل على ال interpreter فى ال java runtime environment (JRE) وهنا بقى لما بيتحول الى byte code دا بيكون فى الmemory ومفيش حد يعرف يوصلة وعاوز اقول حاجة تانية ان ال JDk& JRE بيختلفول من platform الى اخرى وبكدا يبقى تقريبا اتكلمنا عن ال javatechniques والصورة دى هيا ملخص للكلام اللى فات دا كلة


هنا بقى عاوزين نعرف حاجة جديدة وهيا يعنى اية java platform علشان بعد ما نعرفها هنقدر نفهم خاصية مهمة جدا فى الجافا وهيا ال java platform independent وهنعرف هيا اية دلوقتى بس اللاول نعرف يعنى اية platform ؟
الاول احنا عارفين ان ال كومبيوتر مكون من هاردوير وسوفت وير computer=hardware+sowftwar
فال platform هنا بتتكون من ال operating system(assimbler)وال processor architecture
عاوزين نعرف امثلة على ال os& processor architecture
اولا ال osاحنا عندنا os كتير اوى اشهرهم linux,windos,mac and solaries
ثانيا ال processor architecture وبردة احنا عندنا كتير اوى زى مثلا x64,x86,sparc and motorella
فطبعا كل os بيبقى لية ال processor architecture الخاصة بية وزى ما قولنا ان ال JDK & JRE بيختلفوا من platform لاخرى وهنا بقى احنا عاوزين نقول ان كل واحد يدخل على موقع oracle بينزل ال JDK&JRE الخاصة بجهازة
عاوزين نقول بردة حاجة تانية وهى ان java هى intermediate language(byte code) يعنى هيا وسيط بين لغة الجهاز ولغة المستخدم يعنى بتحول من high level language الى low level language ودا بيحقق portability

[mark=#66FFFF]Source.java_____>JDk_____>source.class_____>JRE___ >binary version @ memory in user machine[/mark]

وهنا بقى نعرف ان البرنامج اللى معمول بالجافا بيشتغل على اى os ودى طبعا ميزة مهمة جدا لان انا لما اكون مبرمج جافا بستخدم ويندوز واتطلب منى انى اعمل برنامج بيشتغل على لينكس عادى خالص انا بكتب الكود بتاعى عادى خالص وبشغلة على جهازى بس فى الحالة دى انا بكون بستخدم JRE&JDK معينين بتوع ال platform بتاعة جهازى فلما اروح للراجل اللى طالب منى البرنامج بشغل البرنامج بتاعى عادى خالص بس بعد ما انزل ال JRE المناسبة لجهاز الراجل اللى طالب منى البرنامج ودى بقى الخاصية اللى
هيا java platform independent .
تعليم لغة الجافا java الدرس 9

تعليم لغة الجافا java الدرس 9

                          السلام عليكم ورحمة الله وبركاته 




الفرق بين ال switch فى الجافا واللغات الاخرى مثل ال c#
فى ال c# واللغات الاخرى مش هينفع اشيل ال break من الcase اما فى الجافا انا عادى ينفع اشيلها بس طبعا بيكون فية هدف من ورا الكلام دة مش اى كلام يعنى وبردة انا عاوز اككد ان انا بشيلها بمزاجى مش بمسحها او بنساها عادى كدا طب واية الفايدة منها بقى؟

لما تكون ال case صح وهو بيدخل علشان ينفذها وميلاقيش ال break فهيكمل ويدخل على ال case اللى بعدها من غير حتى ما يشوف هيا صح ولا غلط لحد ما يقابل اول break بعدها يخرج من ال switch ودى طبعا مهم جدا مثال عليها لو طلعلك رسالة على الشاشة are you want to exit?(Y|N) فى الحالة دى انتا المفروض تدخل Y او N لكن افرض ان فية مستخدم دخل y او n ففى الحالة دى هيكون الكود
[mark=#FFFF99]
Char ch;
Switch(ch){case 'Y':
Case'y':
Statement_1;
Break;
Case 'N':
Case 'n':
Default:
Statement_2;
Break;
}[/mark]

ففى الحالة دى لو دخل Y او y هيعمل ال Statement_1 وبعد كدا هيخرج من خلال ال break
اما لو المستخدم دخل n او N او اى حاجة تانية فهيعمل ال Statement_2 وبعد كدا هيخرج من خلال braek

هل الstatement-switch يساوى ال if-else statement ؟
الاجابة لا للان ال variable اللى بيبقى فى جملة ال switch دا مش بينفع يكون اى نوع من انواع المتغيرات اما فى جملة if-else بيكون اى نوع عادى خالص byte short int char
وكدا يبقى نقول انة يمكن التحويل من if-else الى switch ولكن مش فى كل الحالات
Additional statements
Int x=5; int y=10;
Int z=(x>y)?x:y; z=10;
(logical expression)?simple true-statement:simple false-statement;

احنا بقى عاوزين نتكلم عن النوع التانى من ال control statements وهى ال looping اى التكرار والدوران

وهى تنقسم الى ثلاثة انواع
• Pre-test 
• post-test 
• bonded-test
تعليم لغة الجافا java الدرس 8

تعليم لغة الجافا java الدرس 8

السلام عليكم ورحمة الله وبركاته 



نرجع لكلامنا تانى عن ال control statements وهنتكلم عن ال
Switch-case statement

ودى بقى اللى هيا الn-way

[mark=#FFFFCC]ودى بتكون من switch(variable|value)[/mark]{case value:
[mark=#00FFFF]
Statement;
Statement;
Break;
Case value:
Statement;
Statement;
Break;
Default:
Statement;
Statement;
break ;}[/mark]

هو بيعمل مقارنة بين القيمة الموجودة فى كل case بالقيمة الموجودة فى ال variable ولما يتساوى ينفذ الجمل اللى موجودة ولما يوصل لكلمة break; فهيروح خارج برا ال switch خالص وينفذ الجمل اللى عليها الدور فى التنفيذ ودا معنى كلمة break (termination enclosing brase) يعنى بيخرج لحد ال { بتعاة جملة switch

بردة فية حاجة لازم نقولها دلوقتى ان مش لازم تكون break بس يعنى انا ممكن استخدم حاجة تانية اللى هى ال continue طب ودى اية الفرق بينها وبين ال break

بص يا سيدى ال continue دى بيخرج (مؤقتا) يعنى هو فى حالتنا دى بتاعة ال switch هو بينزل عادى على ال case اللى بعدها يعنى يستخدم فقط للخروج من هذة الحالة فقط ويكمل على اللى بعدها
دا مثال ان شاء الله هتوضح الدنيا بية شيوية علشان نعرف الفرق بينهم



فى البرنامج دا هو بيعمل لووب عادية بتطبع الارقام من واحد الى عشرة بس هو لما بيجى عند ال 6 بيروح عامل continue يعنى بيخرج من حالة ال 6 يعنى مش بيطبعها بس بيكمل شغل وبيطبع ال 7 وكل الباقى
وهيكون الناتج بالشكل دا



فلو بصينا كويس هنلاقى انة مطبعش ال 6 لانة نفذ عندها ال continue
طب بالنسبة للbreak فدى زى ما قولنا انها بتخرج من ال block اللى هى فية حين استدعائخا يعنى المثال اللى فات لو استخدمنا فية ال break هيكون كدا الكود وهنشوف هيعمل اية؟



[mark=#CCFFFF]طب نشوف بقى هتعمل اية ؟[/mark]
هى هتطبع الارقام لحد 5 ولما توصل لل6 هتنفذ ال break فهتخرج من ال for loop block ودا هيكون شكل الناتج

تعليم لغة الجافا java الدرس 7

تعليم لغة الجافا java الدرس 7

السلام عليكم ورحمة الله وبركاته 




ان شاء الله هنتكلم فى درس مهم جدا النهاردة وهو ال control statements وهى جمل التحكم اى جمل التحكم فى ال statements اى التحكم فى ترتيب تنفيز الجمل حيث ان البرنامج هو عبارة عن مجموعة من الجمل بيمر عليهم حاجة اسمها control دا بيتنقل من جملة الى جملة علشان تتنفذ فبيكون التنفيذ بالترتيب وبيزيد كل مرة بمقدار واحد يعنى بينفذ جملة وبعد كدا بيروح للى بعدها على طول ينفذها لكن احنا هنا فى الدرس دا عاوزين نتحكم فى الترتيب يعنى نشوف مين فيهم عاوزين ننفذة اكتر من مرة ومين هننفذة بعد مين ومين هننفذة بس لما يحصل شرط معين وكدا يعنى 

[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(); فهو هنا بينزل على السطر اللى بعدة على طول.
تعليم لغة الجافا java الدرس 6

تعليم لغة الجافا java الدرس 6

السلام عليكم ورحمة الله وبركاته 



How to convert from data type to another data type??

طب دلوقتى يروح واحد سألنى هل ينفع انى احول من نوع من انواع المتغيرات الى نوع تانى ؟
اقولك هو ينفع بس فية شيوية قيود كدا.
الى بيحكمنى فى التحويل من نوع الى نوع اخر هو الحجم يعى مثلا لو انا عاوز احط حاجة من نوع byte فى متغير من نوع short دا عادى لان حجم ال short اكبر من حجم ال byte فهيقدر يستوعب القيمة اللى فية. اما العكس دا صعب شيوية لان حجم ال byte اصغر من حجم ال short وهنا فية قيم هتروح علشان كدا بقى احنا عندنا عمليتين هما ال casting and promotion طب اية الفرق بينهم بقى ؟
الpromotion اللى هيا زى التحويل من byte الى short يعنى سهلة ومش محتاجة اى كلام يعنى الحجم بتاع النوع اللى انا هحول لية اكبر من حجم المتغير اللى هحول منة تمام....؟ ركز بس وهتجيبها
وال Casting دا زى التحويل من short الى byte يعنى الحجم بتاع النوع اللى هحول لية اصغر من حجم النوع اللى هحول منة .

حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة


طول ما انا ماشى مع السهم يبقى كدا promotion لما لو مشيت عكس السهم يبقى كدا انا شغال casting
فمثلا لو
Int x=255; يبقى byte y=x; دى غلط لان ال 255 دى out of range بالنسبة لل y لان ال y دى من نوع byte وهو اقصى قيمة يشيلها هى 128 فعلشان كدا انا عاوز اعمل casting (حشر) يعنى ادخل ال255 دى فى ال y طب ودا بيتم ازاى بقى؟
بيتم انى اكتب كلمة byte)) بعد ال = على طول وبكدا الزيادة عن الrange هيتلغى (بياخد الزيادة يرميها ) وهتتكتب كدا byte y=(byte)x; بس على فكرة مش كل مرة بكتب (byte ) انا حسب النوع اللى هحول الية بكتبة يعنى ممكن اكتب
احنا كدا خلصنا تقريبا المتغيرات الحمد لله

[mark=#FFFF99]وهندخل عل حتة جديدة عندنا بس مهمة وهيا ال operations العمليات اللى بعملها على المتغيرات
وهيا مقسمى الى
• Artimatic
• Boolean(logical)
• Relational[/mark]


اولا ال artimatic وهيا الحسابية او الرياضية يعنى عمليات الجمع والطرح والقسمة وكدا يعنى
هنفرض ان int x=8; int y=2; ونطبقهم على كل العمليات اللى عندى
Artimatic operations

[mark=#33FFFF]• multiplying ( *) ضرب x*y=16
• )+( add جمع x+y=10
• )- subtract( طرح x-y=6
• Divide (/) قسمة x/y=4
• )%( remind باقى القسمة x%y=0
• )++( increment زيادة بمقدار 1 x++=9
• (--) decrement نقص بمقدار x--=7 1
• )=+ ( increment by زيادة بمقدار x+=y = x=x+y
• )=-( decrement by نقص بمقدار x-=y = x=x-y
• )=*( multiply by ضرب فى x*=y = x=x*y
• /=) ( division by قسمة على x/=y = x=x/y
artimatic operatorبيتعامل مع المتغيرات من نوع double و decimal و int [/mark]

Boolean operations
وهى عبارة عن العمليات المنظقية and or not
وهيا كل تعاملها مع المتغيرات من نوع Booleanوتحمل القيم اما true او false




Boolean operations دى بتنقسم الى نوعين unary و binary
ال unary دا بياخد معامل واحد بس زى مثلا ال not(x) دا بيدخلة معامل واحد بس اللى هو ال x
اما ال binary دا فبياخد معاملين يعنى زى ال x and y او x or y

[mark=#FF99FF]Relational operations
• > greater than
• >= greater than or equal
• < less than
• <= less than or equal
• = equal
• != not equal [/mark]

ودا برنامج فى الاخر بسيط كدا بيطبع لنا truth table of the and operator


حصرياً منتديات ستار شباب سلسة حصرياً منتديات ستار شباب سلسة

ودا الناتج

تعليم جافا
علوم و تقنيات