الوحدة 2: البيانات والعمليات · الموضوع 3 من 13
الموضوع 3

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

المتغيّر صندوق في الذاكرة له اسم ونوع، نخزّن فيه قيمة ونقرؤها ونغيّرها.

int20agedouble1.75heightString"أحمد"name
بعد هذا الدرس ستستطيع أن:
  • إنشاء متغيّر بالصيغة الصحيحة: النوع ثم الاسم ثم القيمة.
  • التمييز بين الإعلان والإسناد والقراءة.
  • اختيار نوع البيانات المناسب لكل قيمة.
  • دمج النصّ مع قيمة المتغيّر عند الطباعة.

١ما هو المتغيّر؟

حاوية (صندوق) في ذاكرة الحاسب نخزّن فيها قيمة. لكل متغيّر اسم ونوع بيانات يحدّد نوع القيمة التي يقبلها، ويمكن قراءة قيمته أو تغييرها لاحقًا.

فائدته: تخزين البيانات لاستخدامها لاحقًا، وتفادي تكرار القيم، وجعل البرنامج مرنًا سهل التعديل.

٢كيف نُنشئ متغيّرًا؟

intالنوع
ageالاسم
=إسناد
20القيمة
;نهاية الأمر
العمليةالمعنىمثال
الإعلان declarationتحديد النوع والاسمint age;
الإسناد assignmentوضع قيمة في المتغيّرage = 20;
القراءة readاستدعاء المتغيّر باسمهSystem.out.println(age);
🔎 شاهد الصندوق يتغيّر
Main.java
int age;age = 20;System.out.println(age);age = 21;System.out.println("العمر بعد التحديث: " + age);
Variables · المتغيّرات في الذاكرة
Output×

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

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

int20ageعدد صحيح
double1.75heightعدد عشري
char'A'gradeحرف واحد بين ' '
booleantruepassصواب أو خطأ فقط
String"أحمد"nameنصّ بين " "

٥مثال شامل

Variables.java
public class Variables{    public static void main(String[] args)    {        // إنشاء متغيّرات وإسناد قيم لها        int age = 20;        double height = 1.75;        char grade = 'A';        boolean isStudent = true;        String name = "أحمد";         // قراءة المتغيّرات وطباعة قيمها        System.out.println("الاسم: " + name);        System.out.println("العمر: " + age);        System.out.println("الطول: " + height);        System.out.println("التقدير: " + grade);        System.out.println("طالب؟ " + isStudent);         // تغيير قيمة متغيّر لاحقًا        age = 21;        System.out.println("العمر بعد التحديث: " + age);    }}
Output – JavaApplication (run)×
run:
الاسم: أحمد
العمر: 20
الطول: 1.75
التقدير: A
طالب؟ true
العمر بعد التحديث: 21
BUILD SUCCESSFUL (total time: 0 seconds)

توقّع وتحقّق

أجب قبل أن تنظر إلى الشرح. التصحيح فوري، وإجاباتك تُحفظ.

أنسب نوع لتخزين 3.5:

أي إعلان صحيح؟

الحرف الواحد بين علامتين مفردتين ' '، والنصّ بين مزدوجتين " ".

أي اسم متغيّر صالح؟

يبدأ بحرف وبلا مسافات أو رموز.

ما الناتج؟

snippet
int x = 5;x = 8;System.out.println(x);
الإسناد الثاني يستبدل القيمة الأولى.

الخلاصة

تحدٍّ برمجي: ملف الطالب

سهل

خزّن بيانات طالب في متغيّرات مناسبة النوع، ثم اطبعها في جملة واحدة مدموجة.

المطلوب:
  • أربعة متغيّرات: الاسم (String)، والعمر (int)، والطول (double)، وهل هو منتظم (boolean).
  • اطبع جملة واحدة بالدمج +.
  • غيّر العمر إلى 21 واطبعه مرة أخرى.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

Student.java
public class Student{    public static void main(String[] args)    {        // 1) أنشئ المتغيّرات الأربعة         // 2) اطبع الجملة المدموجة         // 3) غيّر العمر واطبعه    }}
Output – المطلوب×
أحمد عمره 20 سنة وطوله 1.75 م، منتظم: true
العمر الجديد: 21
💡 تلميح 1
الصيغة: النوع الاسم = القيمة;
💡 تلميح 2
في الدمج: "أحمد" + " عمره " + age … لا تنسَ المسافات داخل النصوص.

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

Student.java
public class Student{    public static void main(String[] args)    {        String name = "أحمد";        int age = 20;        double height = 1.75;        boolean regular = true;         System.out.println(name + " عمره " + age + " سنة وطوله " + height + " م، منتظم: " + regular);         age = 21;        System.out.println("العمر الجديد: " + age);    }}

أسئلة التقييم

ورقة العمل: المتغيّرات وأنواع البيانات. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) المتغيّر هو:

2) أيُّ التصريحات التالية صحيحٌ لتخزين عدد عشري؟

3) نوع البيانات المناسب لتخزين اسم الطالب هو:

4) قيمة النوع boolean يمكن أن تكون:

2السؤال الثاني: صح أم خطأ

1) المتغيّر يمكن تغيير قيمته بعد إنشائه.
الصواب: صح
2) الاسمان Age و age متطابقان في جافا.
الصواب: خطأ
3) النوع char يخزّن حرفًا واحدًا بين علامتين مفردتين ' '.
الصواب: صح
4) كل تصريح متغيّر ينتهي بفاصلة منقوطة ( ; ).
الصواب: صح
5) النوع String يُستخدم لتخزين الأعداد الصحيحة.
الصواب: خطأ

3السؤال الثالث: أكمل الفراغات

1) الصيغة العامة للتصريح: اسم_المتغيّر = ;

💡 الفراغ الأول قبل الاسم، والثاني بعد علامة =.

الإجابة: النوع، القيمة

2) النوع يُستخدم لتخزين الأعداد الصحيحة.

💡 ثلاثة أحرف إنجليزية.

الإجابة: int

3) النوع double يُستخدم لتخزين الأعداد .

💡 أعداد فيها فاصلة مثل 1.75

الإجابة: العشرية

4) علامة بين نصّ ومتغيّر تعني الدمج عند الطباعة.

💡 الرمز نفسه المستخدم في الجمع.

الإجابة: +

5) أوّل خطوة لاستخدام متغيّر هي ثم إسناد قيمة له.

💡 تحديد النوع والاسم، مثل: int age;

الإجابة: الإعلان

4السؤال الرابع: التوصيل

طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):

  1. 1) int
  2. 2) double
  3. 3) char
  4. 4) boolean
  5. 5) String
  1. أ. 'A'
  2. ب. "أحمد"
  3. ج. 20
  4. د. 1.75
  5. هـ. true
المفتاح: (1) ج (2) د (3) أ (4) هـ (5) ب

5السؤال الخامس: أسئلة عملية

1) تتبّع الناتج: اكتب ما يُطبع على الشاشة.

snippet
int a = 5;int b = 2;System.out.println("الناتج = " + (a + b));
الناتج الصحيح:
Output×
الناتج = 7

2) صحّح الخطأ في السطر التالي، واكتب الصواب:

snippet
int age = "20";
إجابة نموذجية:
snippet
int age = 20;

3) اكتب سطر تصريح لمتغيّر يخزّن عمرك:

إجابة نموذجية:
snippet
int age = 20;

4) اكتب سطر تصريح لمتغيّر يخزّن اسمك:

إجابة نموذجية:
snippet
String name = "أحمد";

5) اكتب سطر تصريح لمتغيّر يخزّن طولك (عشري):

إجابة نموذجية:
snippet
double height = 1.75;
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».