الدرس الثالث
variables
المتغيرات
___________________________
الهدف من المتغير هو تخزين قيمة معينة ونقدر نغير قيمته في اي وقت
وعشان نفدر نستخدم اي متغير لازم الاول نعرفه وتعريف المتغير بيتم كالتالي
رمز Code:
datatype + variableName;
variableName = value;
وممكن كده
رمز Code:
datatype + variableName = value;
رمز Code:
int x =5;
رمز Code:
int x ;
x=5;
كده احنا عرفنا متغير اسمه x من نوع integer وخزنا فيه القيمة 5
ولو بعرف اكتر من متغير من نقس النوع ممكن اكتبهم كلهم في سطر واحد
رمز Code:
int x, y, z;
***
اسم المتغير
اسم المتغير من يكون حروف من a==>z او A==>Z وممكن حروف خاصة زي $
وممكن ارقام من 1 ل 9
وممكن حروف وارقام مع بعض بس مينفعش ان اسم المتغير يكون بادئ برقم هو يحتوي ارقام لكن مبيبداش بيها
مثال
ده ينفع يكون اسم متغير فيه حروف وارقام
رمز Code:
int num_1=3;
ده مينفعش يكون اسم متغير لانه بادئ برقم
رمز Code:
int 1_num=3;
اسم المتغير مينفعش يبقي كلمة من الكلمات المحجوزه (Reserved Words)
طب يعني ايه كلمات محجوزة
دوول حبة كلمات موجودين عندنا في الجافا ومينفعش استخدمهم في تعريف اي متغيرات او ميثود او كلاس لان لهم معني واستخدام معروف في اللغة نفسها
زي
static_public_protected_main_class_int
يعني مينفعش اعمل متغير مثلا ويكون اسمه class
***
Data types
يعني انواع البيانات وعندنا منها نوعين
Premitive data Tybe
دى انواع البيانات اللى احنا عارفين حجمها زى مثلا float او Integers
و النوع ده بيتخزن فى مكان فى Memory اسمه Stack
User defined Data Tybe
دى انواع البيانات اللى احنا مش عارفين حجمها زى مثلا
Objects - Classes
و دى بتتخزن فى مكان فى ال Memory اسمه heap
وهنتعرف علي ال stack وال heap بعدين
***
هناخد كل واحدة منهم بالتفصيل
Premitive data Tybe
وده بيتقسم ل 3 انواع
اول نوع الاعداد الصحيحة (integers)
ولو هنعرف عدد صحيح بنستخدم
Byte _ short _ int _ long
اقتباس:
byte ------------------------- Byte
short ------------------------- Short
char ------------------------- Character
int ------------------------ Integer
float ------------------------ Float
double ----------------------- Double
boolean ---------------------- Boolean
long ----------------------- Long
ولو هنخزن حرف او كلمة بنستخدم
char _ string
char لتخزين حرف واحد مككن اكتب الحرف نفسه او ممكن اكتب ال unicode بتاع الحرف
string لتخزين كلمة او مجموعة حرووف
ويوضع بين Single Quote
رمز Code:
string x =b;
طب يعني ايه unicode
ده كود بنمثل بيه اي حرف موجود عندنا علي الكيبورد والجافا بتقدر تتعرف عليه وده بنستفيد بيه باننا ممكن نطبع بعض العلامات اللي مش موجدة عندنا علي الكيبورد زي ф_® باننا نستخدم الكود بتاعتها
***
تاني نوع الاعداد الكسرية (Floatin Point )
Float _ Double
هنا هنعرف رقم كسر
الكود ده خطأ لازم لما نييجي نعرف كسر نحط حرف f عشان ال combiler يعرف انه كسر
رمز Code:
float x=3.5 ;
// error
ده الصح
رمز Code:
float x=3.5f ;
لو عاوز اعرف متغير من النوع double بكتبه كده
رمز Code:
double x= 3.5;
ال double وال float بنعرف بيهم ارقام فيها كسور لكن الفرق بينهم ان ال double ادق وبيشيل مساحة اكبر وممكن نستخدم decimal وهو اكبر في الدقة
***
تالت نوع ال boolean
وده بياخد قيمتين اما true او false
والاختلاف الاساسي بين كل المتغيرات دي هو المساحة اللي بتتخزن فيها
وكل متغير فيهم بيشيل مدي معين من الارقام حسب الجدول
***********************
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 .
Byte ---→ short ---→ int ---→ long
↑
Char
طول ما انا ماشى مع السهم يبقى كدا 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;
*****************
ده درس بسيط
بالتوفيق
variables
المتغيرات
___________________________
الهدف من المتغير هو تخزين قيمة معينة ونقدر نغير قيمته في اي وقت
وعشان نفدر نستخدم اي متغير لازم الاول نعرفه وتعريف المتغير بيتم كالتالي
رمز Code:
datatype + variableName;
variableName = value;
وممكن كده
رمز Code:
datatype + variableName = value;
رمز Code:
int x =5;
رمز Code:
int x ;
x=5;
كده احنا عرفنا متغير اسمه x من نوع integer وخزنا فيه القيمة 5
ولو بعرف اكتر من متغير من نقس النوع ممكن اكتبهم كلهم في سطر واحد
رمز Code:
int x, y, z;
***
اسم المتغير
اسم المتغير من يكون حروف من a==>z او A==>Z وممكن حروف خاصة زي $
وممكن ارقام من 1 ل 9
وممكن حروف وارقام مع بعض بس مينفعش ان اسم المتغير يكون بادئ برقم هو يحتوي ارقام لكن مبيبداش بيها
مثال
ده ينفع يكون اسم متغير فيه حروف وارقام
رمز Code:
int num_1=3;
ده مينفعش يكون اسم متغير لانه بادئ برقم
رمز Code:
int 1_num=3;
اسم المتغير مينفعش يبقي كلمة من الكلمات المحجوزه (Reserved Words)
طب يعني ايه كلمات محجوزة
دوول حبة كلمات موجودين عندنا في الجافا ومينفعش استخدمهم في تعريف اي متغيرات او ميثود او كلاس لان لهم معني واستخدام معروف في اللغة نفسها
زي
static_public_protected_main_class_int
يعني مينفعش اعمل متغير مثلا ويكون اسمه class
***
Data types
يعني انواع البيانات وعندنا منها نوعين
Premitive data Tybe
دى انواع البيانات اللى احنا عارفين حجمها زى مثلا float او Integers
و النوع ده بيتخزن فى مكان فى Memory اسمه Stack
User defined Data Tybe
دى انواع البيانات اللى احنا مش عارفين حجمها زى مثلا
Objects - Classes
و دى بتتخزن فى مكان فى ال Memory اسمه heap
وهنتعرف علي ال stack وال heap بعدين
***
هناخد كل واحدة منهم بالتفصيل
Premitive data Tybe
وده بيتقسم ل 3 انواع
اول نوع الاعداد الصحيحة (integers)
ولو هنعرف عدد صحيح بنستخدم
Byte _ short _ int _ long
اقتباس:
byte ------------------------- Byte
short ------------------------- Short
char ------------------------- Character
int ------------------------ Integer
float ------------------------ Float
double ----------------------- Double
boolean ---------------------- Boolean
long ----------------------- Long
ولو هنخزن حرف او كلمة بنستخدم
char _ string
char لتخزين حرف واحد مككن اكتب الحرف نفسه او ممكن اكتب ال unicode بتاع الحرف
string لتخزين كلمة او مجموعة حرووف
ويوضع بين Single Quote
رمز Code:
string x =b;
طب يعني ايه unicode
ده كود بنمثل بيه اي حرف موجود عندنا علي الكيبورد والجافا بتقدر تتعرف عليه وده بنستفيد بيه باننا ممكن نطبع بعض العلامات اللي مش موجدة عندنا علي الكيبورد زي ф_® باننا نستخدم الكود بتاعتها
***
تاني نوع الاعداد الكسرية (Floatin Point )
Float _ Double
هنا هنعرف رقم كسر
الكود ده خطأ لازم لما نييجي نعرف كسر نحط حرف f عشان ال combiler يعرف انه كسر
رمز Code:
float x=3.5 ;
// error
ده الصح
رمز Code:
float x=3.5f ;
لو عاوز اعرف متغير من النوع double بكتبه كده
رمز Code:
double x= 3.5;
ال double وال float بنعرف بيهم ارقام فيها كسور لكن الفرق بينهم ان ال double ادق وبيشيل مساحة اكبر وممكن نستخدم decimal وهو اكبر في الدقة
***
تالت نوع ال boolean
وده بياخد قيمتين اما true او false
والاختلاف الاساسي بين كل المتغيرات دي هو المساحة اللي بتتخزن فيها
وكل متغير فيهم بيشيل مدي معين من الارقام حسب الجدول
***********************
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 .
Byte ---→ short ---→ int ---→ long
↑
Char
طول ما انا ماشى مع السهم يبقى كدا 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;
*****************
ده درس بسيط
بالتوفيق