Hunikal كتب:استفسار
بالنسبة للجزء بتاع الـ
Literals
انا مش فاهم الموضوع اوي
مستوعب الكود اللي هو عملو اة
لاكن مش فاهم النظرية بتاعت الكلام دة او الاستخدام بتاعة
يفرق اية عن التعامل مع انواع الارقام العادية !!
هو لما اقولك
int x=30;
واسالك القيمه بتاعت اكس بكام
هتقولى 30
طايب
لما اقولك 30 ديه نوعها ايه
هتوقلى عدد صحيح
عرفت ازاى
لانها حققت شرط الاعداد الصحيحه مش فيها كسور
معنى كده انك قدرت تعرف انها int من شكلها
تمام تعال نجرب تانى
"ahmed"
قولى بقى الكلمه اللى كتبتها نوعها ايه
علطول هتلاقى جت فى دماغك string
كويس اوى كده انت وصلت
يبقى
Literal=value+represent rule
يبقى لو سالتك تانى ادينى مثال عل char
تقولى علطول قيمه + الشكل المميز للنوع ده
مثلا 'c'
وفايده الكلام ده كله
ان ممكن نفس القيمه تخليها باكتر من نوع لو غيرت الشكل بتاعها
يعنى مثلا
300 ديه int
طب عاوزها لونج
اضيف فى الاخر حرف l
هتبقى كده 300l
طب عاوزها string
"300"
طب عاوزها مش ديسميل
عوزها مثلا هكسا
0x300
اة نقطة تانية
في الكود دة
- الكود:
float x=5.1f;
int i=1;
int j= (int)(i*x);
System.out.println("Mixed int and float:j=" +j);
هو لية استعمل المتغير i
ما ممكن يتعامل بية بالاسلوب دة
- الكود:
float x=5.1f;
int j= (int)x;
System.out.println("Mixed int and float:j=" +j);
و هيكون نفس الناتج = 5
اصلة كرر العملية دي في الاكواد اللي بعد كدة
الفكره مش انه يطبع 5
فيه قانون بيقول لو واحدمن المعاملات نوعه float
يبقى الناتج هيكون برضك float
فلو ضربت int * float=float
بس فى المثال هو
عاوز يخزن فى int فعمل التحويل
جرب تعمل نفس المثال بس بالاسلوب ده
- الكود:
float x=5.1f;
int i=1;
int j= i*x;
System.out.println("Mixed int and float:j=" +j);
وشوف الناتج
يارب تكون وصلت