السلام عليكم ورحمة الله وبركاته
كيف الحال كيفكم مع البرد البارد جدا :”
اليوم ان شاء الله راح نبدأ شرح
week 3Lec#2 -JavaBasics (I)
وهذي الجزئية تتكلم عن اساسيات لغة الجافا
وبيدرس حالات ومفاهيم في الجافا وايضا طريقة كتابة البرنامج وتصميمه.
من بعد هالباب يبدأ الشغل الجد وندخل بالأكواد وطريقة كتابتها , راح اشرح لكم كل مفهوم وطريقته ان شاء الله .
طيب نبدأ مع اساسيات لغة الجافا :
تنقسم الى ثلاث اقسام ( الذاكرة , المتغيرات , وانواع البيانات )
طيب يقول لنا عشان اقدر احفظ البيانات في الذاكرة واسترجعها بسهوله لازم اخزنها بطريقة معينة الي هي : المتغيرات .
وطريقة تعريف المتغيرات في لغة الجافا تكون كذا ( الاسم والنوع والمساحة الي بياخذها والقيمة له )
طبعا الاسم راح تكون شروطه نفس شروط التسمية الي تعلمناها قبل
انه ما يبدا برقم ومافيه مسافه وتراعين حالة الحرف اذا سمول او كابيتل الخ .
طبعا لازم لازم لازم عشان تعرفين متغير في الجافا تحددين نوعه واذا حددتي النوع تتحدد المساحة تبعا له تلقائياً .
الانواع المهمة والي بتستخدمونها دايماً اربع انواع والخامس قليل يستخدم بس لازم اقول لكم عنه لانه يجي احيانا بالامثله .
الانواع او ال Data type :
Int : تستخدم لتعريف العدد الصحيح .
Float : تستخدم للتعريف بالعدد العشري . ( قليل تستخدم )
Double : تستخدم للتعريف بالعدد العشري كذلك لكن مساحتها اكبر من ال Float عشان كذا يستعملونها اكثر .
Char : تستخدم للتعريف بالحروف والارقام والرموز (0-9).
Bool : تستخدم للتعريف بالقيم التي تاخذ مسارين ( True,False ).
المساحة لكل نوع وباقي التفاصيل تلقونها بالجدول الموجود في السلايدات.
طيب يالله نشوف مثال عليه :
; identifier <Data Type>
يعني لو ابي اعرف شيء معين مثلا كذا اكتب :
;Char Hessah
;Int Year
طبعا ضروري جدا نعرف كل المتغيرات الي بنستعملها في البرنامج قبل مانبدا في كتابة الاكواد
وفيه نقطة ثانية بقولها لكم لو مثلا عرفتي متغير في بداية البرنامج وعطيتيه قيمه وبعدين جيتي في نص البرنامج وعطيتيه قيمة ثانية راح تنمسح الاولى وتتخزن محلها الثانية .
طيب لو بعطي المتغير قيمة كيف اسويها ؟
يعني مثلا انا بعرف متغير من نوع int وبسميه x وبعطيه قيمة مثلا 11 كيف اسويها ؟
اكتب كذا :
;Int x=11
ف هنا البرنامج خزن في المتغير x قيمة 11 وكل ما كتبت x راح ياخذ قيمتها ب 11 .
فيه ملاحظة تقول لكم اذا عرفتي متغير مثلا int وعطيتيه قيمة مثلا 2.99 راح يطبع لك الناتج 2 لان النوع الي حددتيه عدد صحيح وما يقبل عدد عشري , وفيه كلام بالسلايد نظري وملاحظات ارجعوا لها .
طيب نجي لخاصية ال Casting
هذي الخاصية بإختصار تقول لك حطي النوع الي تبينه بين قوسين وكملي عادي ف بيكون الاوت بوت متوافق مع النوع الي حطيتيه
يعني مثلا تكتبين هالعملية
(Double )17/5.5 عشانك حاطه النوع Double ف الناتج دايما بيطلع عشري .
بعدها رجع يوضح لنا ترتيب العمليات الرياضية وشرحتها قبل .
بعدها تكلم لنا عن خاصيتين مهمة الي هي :
Increment & Decrement Operators
هنا ركزوا معي بالفرق بينهم
ال Increment تكون عادة مكتوبة بهالطريقة :
;++Int var
ملاحظة ( var) مجرد اسم مب شيء ثابت *
المهم وش معنى هال ++ الموجودة جنب كلمة var ؟
معناتها المتغير زائد واحد يعني كذا
;Int var = int var +1
بس بدال ما يكررون int var مرتين حطوا لها اختصار ++
طيب وال Decrement نفسها بالضبط لكن بإختلاف الاشارة بدل ++ الى – –
اتضحت الفكرة ؟ ان شاء الله
طيب راح احل معكم مثال بالشرح المفصل لانه مهم ولازم تفهمون هالنقطة مره مره مره
المثال يوضح لك الفرق بين Post-Increment و Pre-Increment
يالله نبدا الحالة الأولى :
Post-Increment :
int n=2,res;
res =2*(n++);
وسألك وش القيمة الي بتكون لل res و لل n ؟؟
طبعا هنا بالسؤال عرفنا متغيرين من نوع عدد صحيح اعطينا المتغير الاول قيمة 2
ف الحين وش بنسوي ؟ لأن ال ++ جت بعد ال n راح نضرب 2*2
بعدين بنزود القيمة 1 .
اما في الحالة الثانية
Pre-Increment :
int n=2,res;
res =2*(++n);
هنا بالسؤال عرفنا متغيرين من نوع عدد صحيح اعطينا المتغير الاول قيمة 2
ف الحين وش بنسوي ؟ لأن ال ++ جت قبل ال n راح نزود قيمة ال n واحد بعدين نضربها ف 2 .
والي ودها تتأكد من فهمها تحل هذا المثال وترسل لي ال output على حسابي في تويتر او الكيك
9o9ah_a
طيب بعد كذا نبدأ نتكلم في نقطة مهمة ايضاً وهي ال input او المدخلات :
لما نسوي برنامج يحتاج قيمة من المستخدم كيف نفهم الجافا انه ياخذ قيمة من المستخدم ويستعملها في البرنامج ؟
فيه كم جملة ثابته ما تتغير ابد تحفظينها زي اسمك واول ما يكون البرنامج طالب من المستخدم قيمة تقومين تحطين هالجمل علطول بدون تفكير
import java.util.Scanner;
public class HessahLesson{
static Scanner input = new Scanner (System.in);
public static void main (String[]args){
int x ;
int y;
System.out.print(“Enter x value:”);
x=input.nextInt();
System.out.print(“Enter y value:”);
y=input.nextInt();
System.out.print(” Sum=” +(x+y));
}}
طيب البرنامج الي بنسويه الحين راح يجمع لنا قيمتين ياخذهم من المستخدم ويعطينا الناتج لهم
الجمل باللون الاحمر هي الجديدة الخاصة بال Scanner ,
ملاحظة ال Scanner هي الخاصية الوحيدة في الجافا الي تسمح لنا ناخذ قيمة من المسخدم *
طيب اول شيء نكتب اول عبارة وهذي شيء ثابت ما يتغير
بعدها نفتح الكلاس ونسميه بأي اسم نختاره ونراهي شروط التسميه في الجافا
بعدها نكتب الجملة الثانية الي باللون الاحمر ولاحظو حطيت خط تحت كلمة ststic لان عندي ملاحظة هنا
اذا كتبنا هالجملة ;(Scanner input = new Scanner (System.in قبل كلاس الmain لازم وضروري نكتب كلمة static اما اذا كتبناها داخل المين ما نكتب كلمة static .
بعدها نفتح ال main ونعرف داخله متغير x و متغير y عشان نحجز مساحة في الميموري تدخل فيها القيمة الي يكتبها المستخدم .
بعدها نطبع للمستخدم جملة توضح له ان الحين لازم يدخل القيمة ( لو ما كتبنا هالجملة راح يقعد البرنامج ينتظر قيمة من المستخدم والمستخدم مب عارف انه ينتظر وسرى الليل وحنا ما سرينا )
بعدها كتبنا جملة تلقي ;()x=input.nextInt وزي ماقلت هالجملة ضرورية مره هي الي تاخذ القيمة وتخزنها في المتغير اكس .
عندي ملاحظة مره مهمة , لما نعرف المتغير اكس عندنا طريقتين ونسوي وحدة منهم اما اننا نسوي زي ما سويت فوق او نحذف التعريف الي فوق الي بهالشكل ;int x وندمج التعريف والتلقي بجملة وحدة مثل كذا
;()int x = input.nextInt
ولازم يكون النوع نفسه بجملة التلقي والتعريف *
وسوينا نفس الخطوات للمتغير اكس وبعدها سوينا جملة طباعة وفيها عملية الجمع بين المتغيرين وخلص برنامجنا.
بعدها بدأ يشرح لنا شيء من خاصية printf
بشرحها عالصورة عشان تستوعبونها
1/
A) هنا ترجمة الرمز “14d%”
رقم 14 معناه اترك مسافة 14 خانه واكتب الرقم بآخر ثلاث خانات يعني كذا
512———–
B) علامة السالب معناتها اكتب الرقم بعدين اترك بعده 11 خانه فاضيه كذا
———–512
2/
A) هنا ترجمة الرمز “14.2f%”
يعني عندك 14 خانه اكتب فيها الرقم الصحيح مع رقمين بعد الفاصله كذا يعني
1595,17——-
لاحظوا حطينا سبعة تقريب لان عندنا جنب ال6 ثمانيه ف قربنا العدد .
B) هنا ترجمة الرمز “7f.%”
معناته اكتب الرقم الصحيح علطول بدون مسافات لكن خذ بعد الفاصلة 7 خانات بيكون كذا
1595,1680011
C) هذي نسيت معناها شكلها مب مهمه اصلا =))
3/
A) هنا ترجمة الرمز “14s%”
رقم 14 معناه اترك مسافة 14 خانه واكتب الكلمة من الاخير يعني كذا
Hello, World——-
B) علامة السالب معناتها اكتب الكلمة بعدين اترك بعدها الخانات الفاضيه كذا
——-Hello, World
c) هنا ترجمة الرمز “14.5s-%” معناته عندك مساحة 14 خانه ابدأ من اولها واكتب بس 5 حروف والباقي خله فاضي
———Hello
وبس خلصنا هذي النقطة , بعدها بدأ يشرح لنا مره ثانية عن العمليات الرياضية
وبعدها تكلم عن القيمة الثابتة او Constants بالبرنامج وكيف نمثلها بحيث ماتتغير ابد بهالطريقة
(الترجمة مب حرفية هي على فهمي للموضوع ولو فيه اي خطأ غير مقصود صححوا لي )
تنوية ( التدوينة غير معدة البيع ولا احلل من يستخدم الدروس لبيعها ويمكن النشر مع حفظ الحقوق لي ولمدونة لاس )
الحمدلله رب العالمين والصلاة والسلام على سيد المرسلين نبينا محمد وعلى اله وصحبة اجمعين ان اخطأت فهو مني ومن الشيطان وان اصبت فهو توفيق من الله سبحانه , اذا استفدتي من المعلومات السابق ذكرها اذكريني ووالدي ومن احب بدعوة في ظهر الغيب .
والسلام عليكم ورحمة الله وبركاته .
حصة الحسن .
م فيه شرح لل boolean