📘 شرح الدرس الوحدة 2: أساسيات البرمجة بلغة جافا · الدرس 5 من 17
الدرس 5
📋 في الخطة: الوحدة 4. أنواع البيانات والمتغيرات · ⏱ 1 نظري + 4 عملي

العمليات والقراءة من لوحة المفاتيح

الرموز أدوات نُجري بها العمليات على القيم والمتغيّرات: حساب، ومقارنة، ومنطق، ودمج نصوص.

+−×÷%==&&||
بعد هذا الدرس ستستطيع أن:
  • تستخدم العمليات الحسابية والمقارنة والمنطقية.
  • تطبّق أولويات التنفيذ وتستخدم الأقواس.
  • تدمج النصوص بالرمز +.
  • تقرأ قيمًا من لوحة المفاتيح باستخدام Scanner.

١الرموز الحسابية

الرمزالعمليةمثالالناتج
+جمع5 + 27
-طرح5 - 23
*ضرب5 * 210
/قسمة7 / 23
%باقي القسمة7 % 21
مختبر القسمة: صحيح أم عشري؟

غيّر الأرقام والنوع، ولاحظ كيف تتغيّر نتيجة / بين int و double.

,;

٢الزيادة والنقصان: ++ و --

Main.java
int x = 5;x++;   // أصبحت 6  (تعادل x = x + 1;)x--;   // رجعت 5   (تعادل x = x - 1;)System.out.println(x);
Output – JavaApplication (run)×
run:
5
BUILD SUCCESSFUL (total time: 0 seconds)

٣رموز المقارنة

نتيجتها دائمًا true أو false (boolean).

مختبر المقارنة
int,;
✗ خطأ
snippet
if (x = 5)
✓ صواب
snippet
if (x == 5)

علامة = للإسناد (وضع قيمة)، و == للمقارنة (هل الطرفان متساويان؟).

٤الرموز المنطقية

تربط بين شرطين، ونتيجتها boolean.

جدول الحقيقة التفاعلي

اضغط لتبديل قيمة A أو B.

التعبيرالنتيجةالقاعدة
Main.java
int age = 20;System.out.println(age >= 18 && age < 60);  // trueSystem.out.println(age < 12 || age > 65);   // falseSystem.out.println(!(age == 20));           // false
Output – JavaApplication (run)×
run:
true
false
false
BUILD SUCCESSFUL (total time: 0 seconds)

٥رمز + مع النصوص: الدمج

حول الرمز +ماذا يفعل؟مثال
رقمانجمع حسابي5 + 2 → 7
نصّ (String) في أحد الطرفيندمج: يلصق القيم في نصّ واحد"Age: " + 20 → "Age: 20"

لماذا يطبع هذا 523 وليس 10؟

🔎 تتبّع الدمج من اليسار إلى اليمين
Main.java
System.out.println("5" + 2 + 3);
Variables · المتغيّرات في الذاكرة
Output×

✗ خطأ
snippet
System.out.println("5 + 2 = " + 5 + 2);// 5 + 2 = 52
✓ صواب
snippet
System.out.println("5 + 2 = " + (5 + 2));// 5 + 2 = 7

ضع الأقواس حول العملية الحسابية لتُحسب قبل الدمج.

٦أولويات التنفيذ

عند اجتماع عدّة عمليات تُنفَّذ من الأعلى أولويةً إلى الأدنى:

الترتيبالعملياتالرموز
١الأقواس( )
٢الزيادة والنقصان والنفي++ -- !
٣الضرب والقسمة والباقي* / %
٤الجمع والطرح+ -
٥المقارنات< > <= >= == !=
٦المنطقية (&& قبل ||)&& ||
٧الإسناد=
🔎 الأولوية تغيّر النتيجة
Main.java
int r1 = 2 + 3 * 4;int r2 = (2 + 3) * 4;
Variables · المتغيّرات في الذاكرة
Output×

٧مثال شامل

Operators.java
public class Operators{    public static void main(String[] args)    {        int a = 10, b = 3;         System.out.println(a + b);          // 13        System.out.println(a / b);          // 3 (قسمة صحيحة)        System.out.println(a % b);          // 1 (الباقي)         a++;                                // a أصبحت 11        System.out.println(a);              // 11         System.out.println(a > b && b > 0);         // true        System.out.println(!(a == b));              // true        System.out.println(2 + 3 * 4);              // 14        System.out.println("a + b = " + (a + b));   // a + b = 14    }}
Output – JavaApplication (run)×
run:
13
3
1
11
true
true
14
a + b = 14
BUILD SUCCESSFUL (total time: 0 seconds)

٨ثلاث خطوات للقراءة

١. استورد الكلاسفي أعلى الملف
snippet
import java.util.Scanner;
٢. أنشئ كائن Scannerداخل main
snippet
Scanner input = new Scanner(System.in);
٣. اقرأ وخزّنبحسب نوع القيمة
snippet
int age = input.nextInt();

٩دوال القراءة

الدالةتقرأتُخزَّن في
input.nextInt()عددًا صحيحًاint
input.nextDouble()عددًا عشريًّاdouble
input.next()كلمة واحدة (حتى أول مسافة)String
input.nextLine()سطرًا كاملًا مع المسافاتString
next() أم nextLine()؟
input.next()
input.nextLine()

١٠مثال شامل: شغّله بنفسك

Input.java
import java.util.Scanner; public class Input{    public static void main(String[] args)    {        Scanner input = new Scanner(System.in);         System.out.print("اكتب اسمك: ");        String name = input.nextLine();         System.out.print("اكتب عمرك: ");        int age = input.nextInt();         System.out.println("أهلاً " + name);        System.out.println("عمرك بعد سنة: " + (age + 1));    }}
محاكي التشغيل

اكتب ما سيُدخله المستخدم ثم شغّل. الإدخال يظهر في الناتج بخط مائل.

الناتج

١١نقاط مهمة

توقّع وتحقّق

ما ناتج 17 % 5؟

17 = 5 × 3 + 2، فالباقي 2.

ما ناتج 9 / 2 إذا كان الرقمان int؟

القسمة الصحيحة تحذف الكسر.

تأمل الكود التالي،

snippet
System.out.println("Total: " + 5 + 5);

ماذا سيكون الناتج عند تنفيذه؟

بعد النصّ تتحوّل كل + إلى دمج من اليسار إلى اليمين.

ما قيمة 10 - 2 * 3؟

الضرب أولًا: 2 * 3 = 6، ثم 10 - 6.

إذا كان age = 15 فما قيمة age >= 18 || age == 15؟

يكفي أن يكون أحد الطرفين صوابًا مع ||.

أي سطر يُكتب في أعلى الملف لاستخدام Scanner؟

لقراءة سعر مثل 12.5 نستخدم:

كتب المستخدم «محمد أحمد». ماذا تقرأ input.next()؟

next تقرأ كلمة واحدة حتى أول مسافة.

ماذا يحدث إذا كتب المستخدم «عشرون» عند nextInt()؟

InputMismatchException: النوع غير مطابق.

الخلاصة

تحدٍّ برمجي: حاسبة المتوسط

متوسط

اقرأ عددين صحيحين من المستخدم، واطبع مجموعهما ومتوسطهما.

المطلوب:
  • استورد Scanner وأنشئ كائنًا منه.
  • اطبع رسالة توضيحية قبل كل قراءة.
  • المتوسط عدد عشري: 17.5 لا 17.

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

Average.java
import java.util.Scanner; public class Average{    public static void main(String[] args)    {        Scanner input = new Scanner(System.in);         // اقرأ العددين ثم اطبع المجموع والمتوسط     }}

مثال تشغيل بالمدخلات: 10 ثم 25

Output – المطلوب×
أدخل العدد الأول: 10
أدخل العدد الثاني: 25
المجموع = 35
المتوسط = 17.5
💡 تلميح 1
int a = input.nextInt();
💡 تلميح 2
لتجنّب القسمة الصحيحة اقسم على 2.0 بدل 2.

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

Average.java
import java.util.Scanner; public class Average{    public static void main(String[] args)    {        Scanner input = new Scanner(System.in);         System.out.print("أدخل العدد الأول: ");        int a = input.nextInt();        System.out.print("أدخل العدد الثاني: ");        int b = input.nextInt();         int sum = a + b;        System.out.println("المجموع = " + sum);        System.out.println("المتوسط = " + sum / 2.0);    }}

🧪 تدريبات المذكرة العملية

التدريب العملي 3: الترحيب بالمستخدممن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 4: مساحة المربعمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 5: مساحة المستطيلمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 6: بيانات الطالب ومعدلهمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 7: زكاة المالمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 8: تحويل درجة الحرارةمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 9: تقسيط سيارةمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←التدريب العملي 10: صافي الراتبمن مذكرة العملي: المسألة، والخوارزمية، والمخرجات، والحل.افتح التدريب ←انتقل إلى تقييم الدرسأسئلة الاختيار، وصح وخطأ، وأكمل الفراغات، والأسئلة العملية.ابدأ التقييم ←