[ط¬ط§ظپط§ ط§ظ„ط¯ط±ط³ ط§ظ„ط«ط§ظ„ط«] ط§ظ„ظ…طھط؛ظٹط±ط§طھ(variables )



الدرس مفصل الثالث

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

ده كود code بنمثل بيه اي حرف موجود عندنا علي الكيبورد والجافا بتقدر تتعرف عليه وده بنستفيد بيه باننا ممكن نطبع بعض العلامات اللي مش موجدة عندنا علي الكيبورد زي
ф_® باننا نستخدم الكود code بتاعتها





***

تاني نوع الاعداد الكسرية (Floatin Point )

Float _ Double


هنا هنعرف رقم كسر

الكود code ده خطأ لازم لما نييجي نعرف كسر نحط حرف
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;

*****************

ده درس مفصل بسيط

بالتوفيق













©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©