التعبيرات هي كتل بناء أساسية لأي برنامج Java ، وعادة ما يتم إنشاؤها لإنتاج قيمة جديدة ، على الرغم من أنه في بعض الأحيان يعين تعبير قيمة لمتغير. يتم بناء التعبيرات باستخدام القيم ، المتغيراتوالمشغلين وطريقة المكالمات.
الفرق بين العبارات جافا والتعبيرات
من حيث بناء لغة جافا ، فإن التعبير يشبه أ بند في اللغة الإنجليزية الذي يصور معنى معين. مع علامات الترقيم الصحيحة ، يمكن أن يقف في بعض الأحيان من تلقاء نفسه ، على الرغم من أنه يمكن أن يكون أيضًا جزءًا من جملة. تتساوى بعض التعبيرات مع العبارات في حد ذاتها (عن طريق إضافة فاصلة منقوطة في النهاية) ، ولكن بشكل أكثر شيوعًا ، فإنها تشكل جزءًا من عبارة.
فمثلا،
(أ * 2)هو تعبير.
ب + (أ * 2) ؛عبارة. يمكنك القول أن التعبير عبارة ، والعبارة هي الجملة الكاملة لأنها تشكل وحدة التنفيذ الكاملة.
لا يجب أن يتضمن البيان تعبيرات متعددة. يمكنك تحويل تعبير بسيط إلى عبارة عن طريق إضافة فاصلة منقوطة:
(أ * 2) ؛
أنواع التعبيرات
بينما ينتج التعبير كثيرًا عن نتيجة ، فإنه لا يحدث دائمًا. هناك ثلاثة أنواع من التعبيرات في Java:
- تلك التي تنتج قيمة ، أي نتيجة
(1 + 1)
- تلك التي تعين متغيرًا ، على سبيل المثال
(ت = 10)
- تلك التي ليس لها نتيجة ولكن قد يكون لها "تأثير جانبي" لأن التعبير يمكن أن يشمل مجموعة واسعة من عناصر مثل عمليات استدعاء الأسلوب أو عوامل الزيادة التي تعدل حالة (أي الذاكرة) أ برنامج.
أمثلة على التعبيرات
فيما يلي بعض الأمثلة لأنواع مختلفة من التعبيرات.
التعبيرات التي تنتج قيمة
تستخدم التعبيرات التي تنتج قيمة مجموعة كبيرة من العمليات الحسابية أو المقارنة أو الشرطية. على سبيل المثال ، تشتمل المعاملات الحسابية على + و * و / و و ++ و٪. بعض عوامل شرطية هي ؟، || ، وعوامل المقارنة . انظر مواصفات جافا للحصول على قائمة كاملة.
تنتج هذه التعبيرات قيمة:
3/2
5% 3
pi + (10 * 2)
لاحظ الأقواس في التعبير الأخير. هذا يوجه Java أولاً إلى حساب قيمة التعبير داخل الأقواس (تمامًا مثل الحساب الذي تعلمته في المدرسة) ، ثم أكمل بقية الحساب.
التعبيرات التي تقوم بتعيين متغير
يحتوي هذا البرنامج هنا على الكثير من التعبيرات (الموضحة بالخط المائل الغامق) التي يحدد كل منها قيمة.
عدد ثانيةفي اليوم = 0;
عدد
daysInWeek = 7;
عدد
ساعات اليوم = 24;
عدد
minutesInHour = 60;
عدد
secondsInMinute = 60;
منطقية
calculateWeek = صحيح;
secondsInDay = secondsInMinute * minutesInHour * hoursInDay; //7
System.out.println (
"عدد الثواني في اليوم هو:" + secondsInDay);
إذا (
calculateWeek == صحيح)
{
System.out.println (
"عدد الثواني في الأسبوع هو:" + secondsInDay * daysInWeek);
}
التعبيرات في الأسطر الستة الأولى من الكود أعلاه ، كلها تستخدم عامل التعيين لتعيين القيمة على يمين المتغير على اليسار.
السطر الذي يشار إليه بـ // 7 هو تعبير يمكن أن يقف من تلقاء نفسه كبيان. كما يوضح أنه يمكن بناء التعبيرات من خلال استخدام أكثر من مشغل واحد. القيمة النهائية للثواني المتغيرة INDay هي تتويج لتقييم كل تعبير بدوره (على سبيل المثال ، secondsInMinute * minutesInHour = 3600 ، متبوعًا بـ 3600 * hoursInDay = 86400).
التعبيرات بدون نتيجة
في حين أن بعض التعبيرات لا تنتج أي نتيجة ، فإنها يمكن أن يكون لها تأثير جانبي يحدث عندما يغير التعبير قيمة أي من تعبيراته المعاملات.
على سبيل المثال ، تعتبر بعض المشغلين تنتج دائمًا آثارًا جانبية ، مثل مشغلي التعيينات والتزايدات والتناقصات. النظر في هذا:
int int = a * b؛
المتغير الوحيد الذي تغير في هذا التعبير هو المنتج; أ و ب لا تتغير. وهذا ما يسمى الآثار الجانبية.