# Declaring and Initializing (إعلان وتهيئة للمتغير)
Declaring :: وهذا يعني انه تم حجز مساحة في ال memory ايا كان نوع المتغير مثلا لو int يحجز 32bits تحت اسم هذا المتغير الذي تعطيه له ; int x
اما initializing :: فهو اعطاء قيمة لهذا المتغير ; int x = 5
بالعامية ( انه راح للمكان اللي اسمه x في ال memory ووضع فيه القيمة 5)
وكما يمكن جعلهما في سطر واحد كما يمكن تعريف اكثر من متغير مع شرط ان يكونو من نفس النوع في نفس السطر بهذا الشكل
. ; int x, y, z = 15
وهنا تم عمل declaring and initializing للمتغير y و declaring فقط للمتغيرين x,z
ملحوظة هامة ::
يتم تخزين اي شئ في ال memory بطريقة ال (0&1)binary بمعني انه عند تخزين الرقم 10 يتم تحويلها الي binary وهو(1010)
وفي حاله الحروف فان كل حرف او شكل علي لوحة المفاتيح يمثل برقم يسمي ASCII Code مثلا a الرقم المقابل له هو 97 وال binary الخاص به (01100001) وهكذا . ويمكنك معرفة اي ASCII Code بكتابته بهذا الشكل
; 'int z = 'a
وعند طباعته سيطبع الرقم المقابل له
علامة ال ( = ) معناها انه يأخذ القيمة التي في اليمين ويضعها في الشمال
مثال
1 int x = 5;
2 int y ;
3 y=x;
الاول معناه انه اخذ القيمة 5 ووضعها في المكان الذي حجزه المتغير x في ال memory بطريقة ال binaryاما الثالث فاخذ قيمة ال x اللي هي 5 ووضعها في المكان الذي حجزه المتغير y
ومن هنا نفهم انه لايمكن وضع متغير في متغير وانما توضع قيمة متغير في متغير اخر
لان المتغير ما هو الا مكان توضع فيه القيمة
# الفرق بين syntax error وال semantic error ::
syntax error :: وهو الخطأ في بناء الجملة
هو وجود خطأ او نسيان حرف من كلمة ثابته او نسيان (; ) او نسيان غلق اقواس وفي هذه الحالة سيعلمك ال compiler بمكان الخطأ وطريقه تصحيحه
بمعني عند كتابة int x =4 بدون (;) يكون syntax
اما semantic error :: الخطأ الدلالي
فهو وجود خطأ في ال logic الخاص بالبرنامج بمعني انه مثلا يعطيك ناتج غير الناتج وفي هذه الحالة تكون الغلطة في كتابه البرنامج نفسه او في الخطوات التي تتبعها لتحقيق النتيجة وستوضح الصورة في هذين الخطئين اثناء كتابة الكود
بعض الملحوظات
1- لا يمكن وضع متغير مساحته كبيرة في متغير مساحته صغيرة والعكس صحيح
وهذا في حالة انهما لنفس النوع سواء ارقام صحيحة او كسرية (double, float )
. int x = 50 ;---->> 32bits
. short y = 60 ;---->> 16bits
; y=x هنا يعطينا ال compiler خطأ عليها لان مساحة x>y
; x=y اما هنا فتكون صحيحة لان يمكن وضع 16bits في 32bits
ولتصحيح هذا الخطأ نستخدم ال casting وهو
تحويل نوع متغير الي نوع اخر
طريقة كتابتها ;المتغير الثاني (النوع المراد التحويل اليه ) = المتغير الاول
. ; y = (short) x
. ; float price = 10.5
. ; int z = 5
. ;z= (int) price
2- Constant ( الثابت )
وهو جعل قيمة المتغير ثابتة لا تتغير ابدا داخل البرنامج وتستخدم عندما تحتاح الي عدم تغيير قيمة هذا المتغير مثل ط = 3.14 في الرياضيات وتكتب بنفس نمط كتابة المتغير مع وضع كلمة final في البداية
; القيمة = اسم المتغير نوع المتغير. final
. final float PI = 3.14 ;
وعند محاولة تغييرها يعطينا error
0 Comments: