المتغيرات وأنواع البيانات

المتغيرات هي حاويات لتخزين البيانات. في هذا الدرس، سنتعلم كيفية تعريف المتغيرات وفهم أنواع البيانات الأساسية.

تعريف المتغيرات

صيغة التعريف

JAVA
نوع_البيان اسم_المتغير = القيمة;

أمثلة

JAVA
int age = 25;              // عدد صحيح
double price = 19.99;      // عدد عشري
boolean isStudent = true;  // قيمة منطقية
char grade = 'A';          // حرف واحد
String name = "أحمد";       // نص

أنواع البيانات الأساسية

الأعداد الصحيحة

النوع الحجم النطاق
byte 1 byte -128 إلى 127
short 2 bytes -32,768 إلى 32,767
int 4 bytes -2^31 إلى 2^31-1
long 8 bytes -2^63 إلى 2^63-1
JAVA
byte small = 100;
short medium = 30000;
int big = 2000000000;
long veryBig = 9000000000L;  // ينتهي بـ L

الأعداد العشرية

النوع الحجم الدقة
float 4 bytes 6-7 أرقام عشرية
double 8 bytes 15-16 رقمًا عشريًا
JAVA
float price = 19.99f;      // ينتهي بـ f
double precise = 3.14159;

القيم المنطقية

JAVA
boolean isJavaFun = true;
boolean isFish = false;

الأحرف

JAVA
char letter = 'A';
char digit = '5';
char symbol = '@';

النصوص (String)

JAVA
String greeting = "مرحباً";
String name = "أحمد";
String empty = "";
💡 ملاحظة: String ليست نوع بيانات أساسي، بل هي فئة (class)، لكنها تُستخدم كثيرًا كنوع أساسي.

القواعد الأساسية للمتغيرات

1. يجب تعريف المتغير قبل استخدامه

JAVA
// ❌ خطأ: المتغير غير معرّف
System.out.println(x);

// ✅ صحيح
int x = 10;
System.out.println(x);

2. لا يمكن تغيير نوع المتغير

JAVA
int number = 10;
// number = "نص";  // ❌ خطأ: لا يمكن تغيير النوع

3. يمكن تعريف عدة متغيرات من نفس النوع

JAVA
int x = 10, y = 20, z = 30;

4. الحروف كبيرة/صغيرة مهمة

JAVA
int age = 25;
// Age = 30;  // ❌ خطأ: Age و age متغيران مختلفان

ثوابت (Constants)

لجعل المتغير لا يتغير، استخدم final:

JAVA
final double PI = 3.14159;
final String COMPANY = "شركة التقنية";

// PI = 3.14;  // ❌ خطأ: لا يمكن تغيير الثابت

تحويل الأنواع

تحويل تلقائي (Widening)

JAVA
int myInt = 10;
double myDouble = myInt;  // تلقائي: int → double
System.out.println(myDouble);  // 10.0

تحويل يدوي (Narrowing)

JAVA
double myDouble = 9.78;
int myInt = (int) myDouble;  // يدوي: double → int
System.out.println(myInt);  // 9 (يقطع الجزء العشري)

❓ أسئلة شائعة

س ما الفرق بين int و Integer؟
ج int هو نوع أساسي (primitive)، بينما Integer هو فئة (wrapper class) توفر دوال إضافية.
س متى أستخدم float بدلاً من double؟
ج استخدم float عندما تحتاج توفير مساحة الذاكرة ودقة أقل. double هو الخيار الافتراضي والأكثر استخدامًا.
س لماذا String كبيرة الحرف الأول بينما int صغيرة؟
ج String هي فئة (class)، بينما int هو نوع أساسي (primitive). الأنواع الأساسية تُكتب بحروف صغيرة.

📖 ملخص

📝 تمارين

  1. متغيرات شخصية: عرّف متغيرات لاسمك وعمرك ومدينتك
  2. حساب المساحة: عرّف متغيرات لطول وعرض المستطيل، ثم احسب المساحة
  3. ثوابت: عرّف ثابت PI واستخدمه لحساب مساحة الدائرة

الدرس التالي

في الدرس التالي، سنتعلم العوامل — العمليات الحسابية والمنطقية.

100%