أجهزة الكمبيوتر شبابيك إنترنت

بناء جافا الأساسي. العمليات الرئيسية للغة. عبارة if الشرطية

الغرض من Eclipse وميزاته وفوائده

الكسوف هو بيئة تطوير متكاملة (بيئة تطوير متكاملة). IDE عبارة عن مجموعة منظمة بشكل ملائم من الأدوات اللازمة للعمل في مشروع برمجي.

Eclipse هو نظام أساسي عالمي يمكن استخدامه لتطوير التطبيقات في أي لغة برمجة (على سبيل المثال ، يمكنك استخدام Python بعد تثبيت اتصال Pydev () ، لكن Java أصلها إلى Eclipse (والذي ، بالمناسبة ، مكتوب في Eclipse) .

هذا ما تخدمه الشروط. للقيام بذلك ، يجب أن نحدد مثالنا. في النهاية ، عن طريق إغلاق قوس الحلقة ، يعيدنا المترجم إلى بداية الحلقة. إذا لم نقم بهذا ، لما دخلنا إليه أبدًا. هذا جيد ، لأننا نتحقق من الحالة قبل الدخول في الحلقة! الأمر بسيط للغاية: مع حلقة!

انتباه ، سنحتاج إلى إعادة ضبط متغير الاستجابة إلى. هنا برنامجنا ككل. يمكنك التحقق من هذا الرمز: سترى أنه إذا لم تقم بإدخال الحرف الصحيح ، فسوف يسألك البرنامج سؤالاً كما في الصورة التالية! احرص على كتابة شروطك بشكل صحيح وتحقق من المتغيرات الخاصة بك أثناء وفي جميع حلقاتك بشكل عام. حاول تشغيل البرنامج السابق دون إعادة ضبط متغير الاستجابة وسترى النتيجة! وهذا ما يسمى "الحلقة اللانهائية". إذا قمت بتشغيل هذا البرنامج ، فسترى عددًا فلكيًا من "الوقواق 1 مرة!".

أهم ميزات Eclipse هي:

  1. عبر منصة. يعمل Eclipse على جميع الأنظمة الأساسية الشائعة: Windows و Linux و MacOS X. والأهم من ذلك ، أن وظائفه هي نفسها في كل من هذه الأنظمة الأساسية.
  2. براعة وقابلية التمدد. يوفر Eclipse القدرة على استخدام مجموعة متنوعة من أدوات الجهات الخارجية.
  3. الانفتاح والمجانية. Eclipse هو مشروع مفتوح المصدر (أي أكواد المصدرمتاح لأي شخص ويمكن لأي شخص الانضمام إلى تطوير هذه الأداة). لدى Eclipse مجتمع نشط يعمل باستمرار على تحسين البرنامج وتوسيع قدراته.

مساحة عمل الكسوف

أول شيء تراه عند بدء تشغيل Eclipse هو مربع حوار يتيح لك اختيار مكان وجود مساحة العمل. مساحة العمل هي الدليل حيث سيتم حفظ عملك.

هذا سوف يعطينا الشكل التالي. يمكنك استخدام بناء الجملة هذا أيضًا. وتجدر الإشارة إلى أن هناك حلقة for loop واحدة: حسنًا ، مع هذه الصيغة ، فإن عامل الزيادة له الأسبقية على عامل عدم المساواة ، أي تزيد الحلقة من قيمة المتغير a ، وفقط بعد أن تقوم بذلك ، تتحقق من الشرط!

في الواقع ، هاتان الحلقتان ليسا أبناء عمومة ، بل أخوات. عملهم متطابق في جزأين. أي أن مرحلة اختبار الشرط يتم تنفيذها في النهاية ، لأن الشرط يحدث بعد الوقت. لا تنس ، مع ذلك ، أو لن يقوم البرنامج بالتجميع. بصرف النظر عن هذين العنصرين ، تعمل هذه المفصلات بنفس الطريقة تمامًا.

بعد اختيار مساحة العمل ، ستظهر صفحة البداية على الشاشة ، مع اقتراحات لمشاهدة البرامج التعليمية والأمثلة وما إلى ذلك. حدد Workbench وسيتم نقلك إلى النافذة بيئة العمل (طاولة العمل) ، حيث سيتم تنفيذ عملك الإضافي.

المكونات الرئيسية لمساحة العمل هي طرق العرض والمحررين والمنظورات.

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

ربما لاحظت الوجود. في حالة فصل الحقول. لا تنسهم ، وإلا فلن يقوم البرنامج بالتجميع.

يمكننا أيضًا تغيير قيمة الحلقة ، أي بدلاً من البدء من 0 إلى 10 ، سنبدأ من 10 حتى الوصول إلى 0. يتم الحصول على الشكل التالي.

لدينا رقم بداية ، وشرط يجب تحقيقه لتنفيذ الحلقة مرة أخرى ، وإرشادات. لاحظ أنه لا يوجد شيء يمنعنا من تجميع الإعلانات والشروط والتعليمات من نهاية الحلقة. تسمح لك الحلقات بأداء مهام متكررة. ... على غرار الشروط ، إذا كانت الحلقة تحتوي على أكثر من سطر واحد من التعليمات البرمجية لتنفيذها ، فيجب عليك إحاطة الحلقة بأقواس معقوفة لتحديد بداية الحلقة ونهايتها بوضوح.

أداءعبارة عن قسم صغير داخل مساحة العمل يُستخدم للتنقل عبر فئة معينة من الكائنات (مثل الموارد أو الحزم) ، والمحررات المفتوحة ، وعرض خصائص المحررين النشطين. على سبيل المثال ، تعرض طريقة العرض Navigator المشروعات والموارد الأخرى ، بينما تعرض طريقة العرض Bookmarks جميع الإشارات المرجعية في Workbench ، جنبًا إلى جنب مع أسماء الملفات التي ترتبط بها تلك الإشارات المرجعية. يوضح الشكل الزاوية اليمنى العليا من مساحة العمل مع عرض مخطط تفصيلي نشط.

خطأ: يمكنك قياس حجم كائن عن طريق إجراء تسلسل له في تدفق بايت والنظر إلى طول التدفق الناتج. سبب عدم نجاح ذلك هو أن تخطيط التسلسل هو مجرد انعكاس عن بُعد للتخطيط الحقيقي في الذاكرة.

ومع ذلك ، في بداية كل شيء ، يجب أن نسأل أنفسنا السؤال الأساسي ، ما هو الهدف؟ تركز هذه اللغة بشكل رئيسي على. تحت كلمة المرور هذه ، يتم تصغير الرمز الدائم. هؤلاء هم أعضاء الفصل المتأصلون الذين لا يجلبون الكثير من التعليمات البرمجية ، لكنهم كذلك. بعد كل شيء ، يمكن استخدامها بشكل عام. مثال على هذه الأداة سيكون لومبوك. سيتم تشغيل باقي المترجم أثناء مرحلة إنشاء الرمز الثانوي. ومع ذلك ، نظرًا لأنه لا يوجد شيء مثالي في الممارسة ، كذلك لومبوك. بالمضي قدمًا في مفهوم اللغة ، نصل إلى كابوس المبرمج ، المسمى.

يتم حفظ أي تغييرات يتم إجراؤها على طرق العرض على الفور.

نوع آخر من المكونات المرئية Workbench - المحررين، والتي تُستخدم لعرض بعض الموارد وتحريرها (على سبيل المثال ، رمز البرنامج). عند تحديد مورد ، يظهر محرر مناسب. على سبيل المثال ، افتح أي مستند نصي (بامتداد .txt) باستخدام الأمر File -> Open File ... وسترى محرر النص العادي المدمج. إذا كتبت شيئًا ما في هذا المحرر ، فستظهر علامة النجمة على علامة التبويب الخاصة به حيث يتم كتابة اسم الملف. هذا يعني أن المحرر يحتوي على تغييرات غير محفوظة. سيتم حفظها إذا ضغطت على Ctrl + S أو حددت ملف -> حفظ الأمر.

هنا ، في الحقيقة ، سيقول جافان ، "لدينا خيار اختياري". ليس بالضرورة أن يكون أكثر ودا من التحقق من القيمة الفارغة في كل مرة ، ولكن طول السطر ينمو بمعدل سريع ، مما يقلل للأسف من قابلية قراءة الكود. المتانة وقابلية التشغيل البيني. ... الكثير من محترفي التسويق ، دعنا ننتقل إلى السلبيات وكيف تعمل في الممارسة.

تثير البنية الجديدة مشاعر مختلطة. بالنظر إلى الكود لأول مرة في المسبح ، شعرت بعدم الارتياح قليلاً. التركيب اللغوي ، الذي كان في البداية على الأقل تذكيرًا غريبًا بقليل من التراجع. في حالة الإعلانات ، يمكن قراءة الأساليب بطريقة واضحة. تنشأ المشكلة عندما نستخدم ما يسمى ب. لا يمكن إخفاء أن القدرة على التعامل مع الاستثناءات المحددة لا يمكن السيطرة عليها بالمثل ، مما يحسن بشكل كبير من قابلية قراءة الكود.

هناك العديد من طرق العرض المفيدة التي يمكن إضافتها إلى نافذة مساحة العمل باستخدام الأمر Window -> Show View. ومع ذلك ، بدلاً من إضافتها واحدة تلو الأخرى ، يكون من الأنسب تبديل المنظور. تنبؤ(أو إنطباع) عبارة عن مجموعة من الآراء والمحررين مصممة خصيصًا لإنجاز مهمة ما. بعد التشغيل في Eclipse ، يفتح منظور Java ، مهيأ للكتابة الفعلية للبرنامج. غالبًا ما يتم استخدام إسقاط التصحيح لتصحيح أخطاء البرنامج. يمكنك تبديل العرض باستخدام الأمر Window -> Open Perspective. يتم عرض اسم الإسقاط الحالي في الزاوية اليمنى العليا من بيئة العمل (انظر الشكل).

الفئات المعلنة وكذلك المتغيرات الافتراضية هي عامة ونهائية. يمكن تجاوز مشكلة الرؤية بواسطة المُعدِّل المناسب أثناء فتح المُعدِّل الأخير باستخدام المُعدِّل. العبارة الشرطية هي مشروع يتيح لك تحديد شرط لتنفيذ جزء معين من التعليمات البرمجية - التعليمات البرمجية التي تريد تشغيلها فقط في حالة استيفاء شروط معينة. الشكل العامالعبارة الشرطية تبدو هكذا.

يسمح لك التعبير الشرطي أيضًا بتحديد رمز بديل ، أي رمز يتم تنفيذه عندما يكون الشرط غير صحيح. على سبيل المثال ، ل من هذه القضيةيتم عرض الطريقة التالية ، بغض النظر عما إذا كانت رقمًا موجبًا. لاحظ أنه يمكن تحقيق نفس التأثير من خلال تنفيذ الطريقة المذكورة أعلاه بطريقة مختلفة تمامًا ، على سبيل المثال.

أول برنامج جافا

قبل أن تبدأ البرمجة ، تحتاج إلى إنشاء مشروع يخزن فيه Eclipse جميع الموارد المتعلقة ببرنامجك.

لإنشاء مشروع ، قم بتشغيل الأمر ملف -> جديد -> مشروع. في النافذة التي تظهر ، حدد مشروع جافا وانقر فوق التالي. أدخل اسمًا لمشروعك. يرجى ملاحظة أنه سيتم إنشاء مجلد باسم مشروعك في الدليل الذي حددته كمساحة عمل (ما لم تقم بالطبع بتغيير الإعدادات في هذه النافذة ، وهو ما لن نقوم به لأول مرة). انقر فوق الزر "إنهاء".

بطبيعة الحال ، الشكل الأول. إنها ليست موجزة في الكتابة فحسب ، بل من المحتمل أيضًا أن تكون أسرع نظرًا لوجود عدد أقل من المقارنات في المتوسط. في هذه الحالة ، يمكننا حذف الأقواس المتعرجة التي تتضمن الكود الشرطي. من هذه المحاضرة ، نبدأ في دراسة برمجة الكائنات باستخدام مثال لغة برمجة معينة. كل هذه الصفات تبرر اختيار اللغة كأداة لإظهار الآليات الموجهة للكائنات. ومع ذلك ، يجب التأكيد على أن هذا ليس الخيار الوحيد.

هناك العديد من الاحتمالات ، يجب على مبتكري كل محاضرة الاختيار. من المهم أن لا يغفل المحاضرون حقيقة أساسية: لغة البرمجة المختارة هي مجرد أداة لعرض أمثلة على البرمجة الشيئية. اختيار اللغة ، عند الضرورة ، هو ثانوي. يتعلق هذا بتعريف اللغة بالإضافة إلى وصف المكتبات القياسية. بالطبع ، لن نناقشهم جميعًا في سياق محاضرتنا ، لكننا سندرس أمثلة على التسلسل الهرمي الطبقي المعقد والمعقد.

مشروعك موجود الآن في عرض PackageExplorer على الجانب الأيسر من مساحة العمل. يمكنك حذفه في أي وقت بالضغط على اسمه انقر على اليمينالماوس واختيار حذف. بعد ذلك ، سيسأل Eclipse عما إذا كان سيتم تدمير المجلد بملفات المشروع في نفس الوقت (إذا لزم الأمر ، يمكنك أيضًا تدميره).

إذا لم تقم بحذف المشروع ، يمكنك إضافة ملفات ومجلدات إليه باستخدام أوامر قائمة السياق جديد -> ملف وجديد -> مجلدعلى التوالى. إذا كان المشروع كبيرًا ، فإنه يحتاج إلى بنية مجلد متداخلة. لكن في حالة مشروع Java ، تختلف الأمور قليلاً. النقطة المهمة هي أن أجزاء برنامج Java يتم تجميعها في الحزمويتم إنشاء مجلد منفصل لكل حزمة. يتم إنشاء الحزمة بواسطة جديد -> أمر الحزمة. تحتاج أيضًا إلى ابتكار اسم للحزمة. نتيجة لذلك ، سيتم إنشاء مجلد جديد بهذا الاسم في مجلد المشروع. يمكنك التحقق.

لإنشاء الرسم واجهات المستخدمسنأخذ على سبيل المثال المجموعات والجداول والفصول. بعد هذه التفسيرات ، حان الوقت للبدء! كانت افتراضات التصميم الأخرى حول قابلية البرامج. وسوف يكون التأثير نفسه. في اللغات الموجهة للكائنات ، تسمى الوظائف المحددة في الفئات بالطرق. يبدأ تعريف الصنف بكلمة فئة مسبوقة بمعدلات وصول إضافية. سوف نتناول الحزم. اسم هذه الطريقة ليس عشوائيًا. تعتبر معلمات الطريقة قوية جدًا في معظم لغات البرمجة.

قد تجد أنه من الأسهل استعراض موارد المشروع باستخدام طريقة العرض Navigator. افتحه باستخدام Window -> Show View command. سترى أنه بالإضافة إلى أدلة المشروع والحزمة ، قام Eclipse بإنشاء ملفين مساعدين ، .classpath و .project. يمكن فتحها بسهولة في المحرر ، لكنها ليست ذات أهمية خاصة لنا الآن.

يتكون برنامج Java دائمًا من واحد أو أكثر الطبقات... يمكنك إنشاء فئة باستخدام جديد -> أمر الفصل في قائمة السياقعروض Navigator (أو Package Explorer ، لا يهم). عند إنشاء فئة ، تحتاج إلى تحديد الحزمة التي ستنتمي إليها (حدد الحزمة التي أنشأتها للتو) وابتكار اسم لها. من الشائع أن تبدأ أسماء الفئات بحرف كبير. إذا لم تتبع قاعدة الشكل الجيد هذه ، فسيصدر Eclipse تحذيرًا ، ولكن لن يحدث أي شيء سيء.

يتم تقديم سلسلة من إعلانات المعلمات الفردية ، ويتم فصل الإعلانات الفردية بواسطة فاصل. يحدد كل إعلان اسم ونوع المعلمة. يتم توفير محددات إضافية أمام نوع الطريقة. تعني الكلمة الأساسية الثابتة أنها طريقة فئة ، أي مكالمة لا تحتاج إلى نسخة من كائن من هذه الفئة. كما ذكرنا سابقًا ، يتوافق الفصل مع النوع ، وقيم الفئة - مثيلات هذا النوع هي كائنات. عادةً ما نسمي التوابع على الكائنات ، ولكن يمكنك أيضًا استدعاء العمليات في الفصل.

هذا مهم بشكل خاص في برنامجنا ، حيث لم نقم بإنشاء أي كائن. جمعت هذه الفئة العمليات الأساسية والكائنات المرتبطة بالمدخلات والمخرجات القياسية ، ونظام التشغيل الذي يعمل فيه البرنامج. حيث يمكن أن يكون المكون سمة أو طريقة. في الحالة الأخيرة ، نقدم قائمة بمعلماتها ، محاطة بأقواس. بالطبع ، يمكننا أيضًا الإشارة إلى سمات السمة أو نتيجة طريقة ما عن طريق الكتابة ، على سبيل المثال.

لأغراضنا ، من المفيد تحديد المربع الموجود أسفل "ما هي الأساليب التي تريد إنشاؤها في فصلك؟" الخيار المعاكس الفراغ الرئيسي العام الثابت (سلاسل السلسلة)... نتيجة لذلك ، سيتم إنشاء الطريقة () الرئيسية (الوظيفة) في جسم الفصل. تتطلب Java أن يكون لواحد على الأقل من فئات البرنامج طريقة بهذا العنوان. هو الذي سيتم إعدامه في بداية البرنامج.

يتم استخدام نفس الصيغة عند وصف سمات وطرق الفصل. تبدأ التعليقات المكونة من سطر واحد بشرطتين مائلتين للأمام وتنتهي في نهاية السطر. بالطبع ، يمكن أن يتلاءم التعليق متعدد الأسطر بالكامل مع سطر واحد ، ويمكن أن يكون هناك العديد من هذه التعليقات في سطر واحد.

لا يمكن دمج التعليقات متعددة الأسطر. لن ندخل في التفاصيل هنا ، ونرسل المزيد من القراء المهتمين إلى تقرير اللغة. دعونا فقط نلخص أهم العناصر المعجمية. مسألة شرعية استخدام المعرفات المكتوبة بالحروف الوطنية ، أي ليس باللغة الإنجليزية ، يسبب الكثير من الجدل. يعرب مؤلف هذا النص ، الذي يقيم الحجج الأخرى المتعلقة ، على سبيل المثال ، بالعمل في فرق دولية ، عن فرحه فيما يتعلق بحقيقة أنه ، في حل Java ، يمكن تسمية مشكلة الذئب والماعز والملفوف باسم قارب متغير بدلاً من a قارب أو قارب.

كنتيجة لإجراءاتنا ، سيتم إنشاء ملف باسم صنفنا وامتداد .java في مجلد الحزمة. سيفتح Eclipse محرر كود يعرض محتويات هذا الملف. سيكون شيئًا مشابهًا لما يلي (قد تختلف أسماء الحزم والفئات بالطبع):

حزمة mainPack ؛ فئة عامة MyClass (/ ** *param args * / public static void main (String args) ())

يمكن كتابة الأوامر التي تشكل جسم الوظيفة بدلاً من التعليق الذي تم إنشاؤه تلقائيًا // TODO أبتر طريقة تم إنشاؤه تلقائيًا... سنكتب أمرًا واحدًا فقط يطبع سطر "Hello، world!" الكلاسيكي على الشاشة:

هذا يعني أن كل متغير أو سمة أو معلمة لها نوع معلن. يقوم المترجم بتعداد أنواع جميع التعبيرات في البرنامج والتحقق من استخدام جميع العوامل والطرق وفقًا لإعلاناتها ، أي وسيطات الأنواع المناسبة. الأنواع الأولية وأنواع المراجع. ... الأنواع الأساسية هي مجموعة من ثمانية أنواع تحتوي على قيم بسيطة.

تقع أنواع الروابط في الفئات التالية. أنواع الفئات وأنواع الواجهات وأنواع المصفوفات. ... أنواع المراجع هي مراجع كائن أو فارغة. نظرًا لعدم وجود اسم له ، لا يمكنك حتى إعلان متغير من هذا النوع. يمكن تعيين هذه القيمة لأي نوع مرجعي ، لذا يمكنك التفكير في القيم الخالية كقيم لكل نوع مرجعي ولا تقلق بشأن وجود النوع. تسمى المتغيرات حاويات للقيم الفردية من النوع الذي تم التصريح بها.

System.out.println ("Hello، world!")؛

يبقى لتشغيل البرنامج. للقيام بذلك ، قم بتنفيذ الأمر Run -> Run واحصل على مربع حوار به إعدادات تشغيل غير تافهة. على الجانب الأيسر من هذه النافذة ، حدد تطبيق Java ( تطبيق جافا). بعد قليل من التفكير ، سيجد Eclipse صفنا الذي يحتوي على الطريقة الرئيسية () ويعرض بدء البرنامج منه (على الجانب الأيمن من النافذة ، في علامة التبويب الرئيسية ، يجب أن تظهر أسماء مشروعنا وفصلنا). بالإضافة إلى ذلك ، يتم عرض المزيد من علامات التبويب على المبرمج. على سبيل المثال ، في الثانية منها - الحجج - يُقترح إدخال المعلمات سطر الأوامر(إذا كان البرنامج مصممًا ليتم استدعاؤه من سطر الأوامر مع المعلمات). بالنسبة لبرنامجنا البسيط ، لا تحتاج إلى تحديد أي شيء آخر. فقط انقر فوق الزر "تشغيل".

هناك سبعة أنواع من المتغيرات. متغيرات الفئة ، متغيرات النسخ ، المتغيرات المحلية ، عناصر المصفوفة ، معلمات الطريقة ، معلمات المنشئ ، معاملات معالجة الاستثناءات. يجب التصريح عن كل متغير. يرتبط كل متغير بنوعه المعلن في إعلان المتغير. يستخدم هذا النوع من قبل المترجم لفحص العمليات على المتغيرات. إذا اكتشف المترجم أن البرنامج يستخدم متغيرًا لا يتطابق مع نوعه ، فسيتم رفض البرنامج باعتباره غير صالح.

نتيجة لذلك ، تم بالفعل اكتشاف العديد من الأخطاء في البرامج في مرحلة التجميع. بالطبع ، لا يمكن للمترجم اكتشاف الأخطاء المنطقية. بالنسبة للمعلمات ، فإن الحفاظ على هذا المطلب واضح. بالنسبة للأنواع الأربعة الأخرى من المتغيرات ، يكون هذا أكثر صعوبة.

نتيجة لتشغيل البرنامج ، يتم إخراج البيانات إلى ما يسمى وحدة التحكم. الخامس نظام التشغيلكانت وحدة التحكم MS DOS هي شاشة العرض بأكملها. يفتح Eclipse عرض وحدة التحكم ، حيث (إذا تم كل شيء بشكل صحيح) السطر "Hello، world!" هو ناتج برنامجنا.

الآن ، لإعادة تشغيل البرنامج (على سبيل المثال ، إذا قررنا إجراء بعض التغييرات عليه أو احتجنا إلى إظهاره للمعلم) ، يمكنك الذهاب بالطريقة الأسهل - تنفيذ الأمر تشغيل -> تشغيل آخر تشغيل (قم بتشغيل التطبيق السابق مرة أخرى) أو اضغط فقط على Ctrl + F11.

أساسيات بناء جملة جافا

تعريفات

المعامل هو القيمة المتضمنة في العملية.

الطريقة (الوظيفة) هي جزء من برنامج له اسمه الخاص. يمكن استخدام هذا الاسم في البرنامج كأمر (يسمى هذا الأمر استدعاء الأسلوب). عندما يتم استدعاء طريقة ، يتم تنفيذ الأوامر التي تتكون منها. يمكن لطريقة مشابهة لعملية ما أن ترجع قيمة نتيجة.

التعبير عبارة عن سلسلة من العمليات واستدعاءات الطريقة التي يتم تنفيذها بترتيب معين (حسب أولوية العمليات ، مع مراعاة الأقواس) ، مما يعطي قيمة معينة أثناء الحساب.

المتغير هو منطقة محددة من ذاكرة الكمبيوتر حيث يمكن للبرنامج تخزين بيانات من نوع معين (يسمى قيمة متغيرة) والوصول إلى هذه البيانات باستخدام اسم المتغير.

مفاهيم البرنامج والخوارزمية (التكرار)

أي تعيين برنامج الحاسب- تحويل البيانات المدخلة إلى بيانات الإخراج. تحدد خوارزمية البرنامج كيفية تحويل بيانات الإدخال إلى بيانات الإخراج.


يمكن أن تأتي بيانات الإدخال من مجموعة متنوعة من المصادر. في المشاريع التعليمية ، يتم إدخال هذه البيانات غالبًا أثناء تشغيل البرنامج باستخدام لوحة المفاتيح والماوس. في البرامج الحقيقية ، يمكن أيضًا الحصول عليها من الملفات وقواعد البيانات والشبكات مباشرة من أجهزة استشعار مختلفة وما إلى ذلك.

غالبًا ما يتم عرض بيانات الإخراج (نتيجة عمل البرنامج) على الشاشة ، ولكن يمكن أيضًا حفظها في ملف أو قاعدة بيانات ، يتم إرسالها إلى الشبكة. تنشئ البرامج المضمنة تسلسلات هروب خاصة كإخراج يتسبب في قيام الجهاز المرتبط به البرنامج بتنفيذ بعض الإجراءات.

عند البدء في كتابة برنامج ما ، يجب أن تفهم على الفور ما يلي:

  1. ما هو هذا البرنامج على الإطلاق (ما الذي يفعله ، بشكل عام)؟
  2. ما هي بيانات الإدخال التي يحتوي عليها هذا البرنامج (ومن أين تأتي)؟
  3. ما هو ناتج هذا البرنامج (وأين يتم إرساله)؟
  4. كيف يجب تحويل الإدخال إلى إخراج (خوارزمية)؟ هذا هو أصعب جزء في تفكير المبرمج ، ولكن في حين لا توجد إجابة على الأسئلة الثلاثة السابقة ، فليس من المنطقي البدء فيه.

عند كتابة برنامج بسيط ، تحتاج إلى:

  1. احصل على المدخلات.
  2. تنفيذ خوارزمية لتحويل بيانات الإدخال إلى مخرجات.
  3. إخراج نتيجة عمل البرنامج (بيانات الإخراج): قم بعرضها ، وإرسالها عبر الشبكة ، وما إلى ذلك.

عند العمل مع مشاريع برمجية معقدة ، من الضروري إجراء تحليل مفصل لمتطلبات البرنامج (والتي قد تتطلب الكثير من التواصل مع العميل) ، لتنفيذ التصميم (لتحديد الأجزاء التي سيتألف منها البرنامج ، كيف ستتفاعل هذه الأجزاء مع بعضها البعض ، وتعرض الجوانب المختلفة لهيكل وسلوك البرنامج في شكل رسوم بيانية ، وما إلى ذلك). لكن على أي حال ، ابدأ البرمجة دون فهم بيانات الإدخال والإخراج ودون فهم بشكل عام جوهر الخوارزمية بلا هدف... وفكر على الأقل بشكل عام في جوهر الخوارزمية ، دون معرفة بيانات المدخلات والمخرجات مستحيل.

لذلك ، ابدأ تمارينك دائمًا بتحديد المدخلات والمخرجات. إذا واجهت أي صعوبات في هذا الأمر ، فاتصل بمعلمك.

الأدب حول الموضوع:

الإنشاءات الخوارزمية الأساسية (التكرار)

انتباه! في هذه المرحلة من التدريب ، يجب أن يكون لديك بالفعل معرفة بهذا الموضوع.إذا لم تكن موجودة ، وكانت مواد التكرار غير مفهومة أو غير كافية ، فلن تتعامل مع المهام! من الضروري الرجوع إلى الأدبيات حول هذا الموضوع.

لذلك ، الخوارزمية هي سلسلة من الإجراءات لتحويل بيانات الإدخال إلى بيانات الإخراج.

يمكن كتابة الخوارزمية بثلاث طرق رئيسية:

ترتبط الخطوات الفردية للخوارزمية (بغض النظر عن كيفية كتابتها) ببعضها البعض باستخدام ثلاثة تركيبات قياسية يتم تنفيذها في جميع لغات البرمجة تمامًا:

    التنفيذ المتسلسل. يتم تنفيذ الخطوات واحدة تلو الأخرى.

    المتفرعة. اعتمادًا على استيفاء شرط معين (في المثال المدروس ، هل هو x> y؟) ، يتم تنفيذ فرع أو فرع آخر من البرنامج.

    دورات. يتم تنفيذ تسلسل خطوات البرنامج عدة مرات. في الواقع ، تعتمد الحلقة على التفرع (يتم التحقق من شرط الخروج من الحلقة) ، ولكن إذا لم يتم استيفاء هذا الشرط ، يتم نقل التحكم إلى بداية الحلقة (للعودة إلى الخطوة المكتملة بالفعل).

ضع في اعتبارك مشكلة: اعرض جميع الأرقام الزوجية الأقل من 10. بالنسبة لهذه المشكلة ، يمكنك استخدام خوارزمية تستند إلى خطوات متسلسلة وخوارزمية تستخدم حلقة. تظهر الرسوم البيانية لكلا الخيارين في الشكل:

يبدو الرسم التخطيطي الأول أكثر وضوحًا ، ولكن في الحالة التي يكون فيها من الضروري عدم عرض 5 أرقام ، ولكن 100 ، سيزداد الرسم التخطيطي (والبرنامج المطابق لهذه الخوارزمية) 20 مرة ، وفي البرنامج المقابل للخوارزمية الثانية ، فقط سيتغير مكان واحد: 10 سيتغير إلى 100 وهذا هو سبب تصميم الإجراءات المتكررة في شكل دورات ، على الرغم من أنه يمكن الاستغناء عنها في كثير من الحالات.

تذكر: يجب أن تُبنى الخوارزمية من ثلاثة تراكيب مسماة فقط!

الأدب حول الموضوع:

1. الكتاب المدرسي لعلوم الكمبيوتر.

أساسيات أساسيات بناء جملة Java

  1. تميز لغة Java بين الأحرف الكبيرة والصغيرة.هذا يعني أنه يجب كتابة أسماء جميع الوظائف والكلمات الرئيسية تمامًا كما تظهر في الأمثلة والكتب المرجعية.
  2. يجب أن ينتهي كل أمر (عامل) في لغة Java بفاصلة منقوطة.
  3. يتكون برنامج Java من واحد أو أكثر الطبقات... بالتأكيد يجب وضع الجزء الوظيفي بالكامل من البرنامج (أي ما يفعله) أساليبفئات معينة. (سيتم تغطية الفئة والطريقة ، كمفهوم البرمجة الموجهة للكائنات ، في الدرس 3. سيتم أيضًا تغطية بناء جملة الفصل. في التدريبات الأولى ، استخدم الفئات التي ينشئها Eclipse افتراضيًا.)
  4. يتم تجميع الفئات في حزم.
  5. يجب أن يكون لدى أحد الأصناف على الأقل طريقة main () ، تمامًا كما في المثال الذي درسناه. (في البداية ، ليس من الضروري فهم أو محاولة تذكر التهجئة الصحيحة لهذه الطريقة - سيقوم Eclipse بإنشاء كل شيء بنفسه إذا قمت بتحديد المربع الضروري.) سيتم تنفيذ هذه الطريقة أولاً.

في أبسط الحالات ، يمكن أن يتكون البرنامج من حزمة واحدة (أو حتى لا شيء) ، وفئة واحدة داخل الحزمة ، وطريقة واحدة main () داخل الفئة. سيتم كتابة أوامر البرنامج بين السطور

الرئيسية العامة الثابتة الفراغ (سلاسل سلسلة) (

وقوس إغلاق مجعد) يشير إلى نهاية جسم الطريقة. يجب اتباع هذا النهج عند أداء أبسط التمارين.

التعليقات (1)

التعليقات هي تسميات توضيحية يستخدمها المبرمجون لتحسين فهم الكود. عند تجميع برنامج ، يتم تجاهل التعليقات ، بحيث يمكن كتابة أي شيء فيها. الشيء الرئيسي هو إظهار أن هذا النقش هو تعليق ولا ينبغي تفسيره على أنه أوامر برنامج. في Java ، يتم ذلك بإحدى الطرق التالية:

  1. يتم إدخال شرطتين مائلتين للأمام //. من الآن فصاعدًا حتى نهاية السطر ، يمكنك كتابة ما تريد - ستتعامله Java على أنه تعليق.
  2. في بداية التعليق ، يتم وضع الأحرف / * ، وفي النهاية - * /. في هذه الحالة ، يمكن أن يمتد التعليق على أي عدد من الأسطر.
  3. تسليط الضوء التعليقات على التوثيقالتي يتم وضعها بين العلامات / ** و * /. سيتم مناقشة استخدامها لاحقًا.

قواعد الكتابة الحرفية

حول أشكال مختلفة من الكتابة الحرفية

يمكن كتابة الأعداد الصحيحة (أعداد حرفية صحيحة) في Java بالطريقة المعتادة بالصيغة العشرية: 12345 ، +4 ، -11.

بالإضافة إلى ذلك ، يمكنك كتابة أعداد صحيحة في شكل ثماني ، بدءًا من الصفر (0777 ، -056) وفي شكل سداسي عشري ، بدءًا من الصفر والحرف اللاتيني x (0xFFFF ، 0x14 ، 0xA1BC).

تتم كتابة القيم الحرفية الصالحة بالتدوين العشري ، ويتم فصل الجزء الصحيح عن العلامة العشرية.

يمكن كتابة رقم حقيقي النقطة العائمة، على سبيل المثال: 5.4e19 ، 17E-11 ، -123e + 4. الجزء الذي يأتي قبل الحرف e يسمى الجزء العشري ، والجزء الذي يأتي بعد الحرف e يسمى الترتيب. يعني الترميز ما يلي: تحتاج إلى رفع 10 إلى أس الترتيب والضرب في الجزء العشري. أحيانًا يكون كتابة 1e-9 أكثر ملاءمة من 0.000000001.

الأحرف المفردة مكتوبة بالفواصل العليا ، على سبيل المثال ، "a"، "D"، "@".

هناك بعض الأحرف الخاصة والتحكم التي تمت كتابتها باستخدام تسلسل هروب خاص. يتم سرد أكثرها شيوعًا في الجدول:

يتم أيضًا تضمين تسلسل الهروب في فواصل عليا.

يشير السطر الأول من الجدول إلى أنه يمكن تحديد أي حرف باستخدام الكود الخاص به (مع الترميز العشري من 0 إلى 255) ، وكتابة هذا الرمز في نظام الأرقام الثماني. على سبيل المثال ، سيتم كتابة الحرف "g" في تشفير CP1251 بتسلسل الهروب "\ 346"

إذا لزم الأمر ، يمكنك تحديد رمز أي حرف في ترميز يونيكود- بعد الشرطة المائلة للخلف والحرف اللاتيني u - بأربعة أحرف سداسية عشرية. على سبيل المثال ، "\ u0055" هو الحرف U.

سلاسل الأحرف محاطة بعلامات اقتباس. يجب أن تكون علامات اقتباس الفتح والإغلاق على نفس سطر التعليمات البرمجية.

بالنسبة إلى السلاسل ، يتم تحديد عملية التسلسل + ، والتي تتيح لك تجميع عدة سلاسل في سلسلة واحدة ("توزيعها" على بعضها البعض).

إذا كان ثابت السلسلة طويلًا جدًا ويتم إدراكه بشكل سيئ في كود البرنامج عند كتابته في سطر واحد ، فيمكنك كتابته في عدة أسطر ، مع ربطها باستخدام عملية سلسلة السلسلة. على سبيل المثال:

"هذا سلسلة طويلة جدًا مكتوبة" + "على سطرين من المصدر"

تتم كتابة أحرف وأكواد التحكم داخل سلسلة بنفس طريقة كتابة شرطة مائلة للخلف(ولكن لا توجد فواصل عليا).

القيم الحرفية المنطقية صحيحة وخاطئة.

معرفات

حول قواعد الأسلوب الجيد

عند البرمجة ، هناك حاجة مستمرة لابتكار معرّفات لتسمية الكائنات.

يمكن أن يتكون المعرف من أحرف وأرقام وشرطة سفلية _ وعلامة الدولار $ (لا يُنصح باستخدام هذا الأخير ، حيث تستخدمه Java لاحتياجاتها الخاصة). لا يمكن أن يبدأ المعرف برقم. كلمات جافا الأساسية (ولا حرفية خطأ صحيحو باطل).

كما هو مذكور أعلاه ، تميز لغة Java بين الحروف البسيطة والصغيرة... هذا يعني أن myAge و myage و MyAge هي أسماء كائنات مختلفة تمامًا. كن حذرًا: خطأ التسجيل هو حالة شائعة جدًا!

تبدأ أسماء الفئات بحرف كبير ؛ إذا كان الاسم يتكون من كلمات متعددة ، فإن كل كلمة تبدأ بحرف كبير. على سبيل المثال: MyClass، Book.

تبدأ أسماء الأساليب والمتغيرات بأحرف صغيرة (أحرف صغيرة) ؛ إذا كان الاسم يحتوي على عدة كلمات ، فإن كل كلمة تالية تبدأ بحرف كبير. على سبيل المثال ، myVar ، x ، y ، newBigCounter.

الأسماء الثابتة مكتوبة بالكامل بأحرف كبيرة؛ إذا كان الاسم يحتوي على عدة كلمات ، يتم وضع شرطة سفلية بينها. على سبيل المثال ، PI ، COUNT_OF_MONTHS.

هناك العديد من الفوائد لاستخدام هذه الإرشادات. أحدها هو أنك ستعرف بالضبط كيفية وضع الأحرف الكبيرة والصغيرة عند استخدام المعيار مكتبات جافا، والتي التزم مطوروها بالتوصيات.

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

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

النوع int هو الأكثر شيوعًا لتخزين الأعداد الصحيحة في Java.

بشكل عام ، هناك أربعة أنواع من الأعداد الصحيحة في لغة Java: بايت ، قصير ، int ، طويل. وهي تختلف في مقدار الذاكرة التي سيتم تخصيصها للمتغير ، وبالتالي في نطاق القيم التي يمكن تخزينها في هذا المتغير. يشغل النوع int الأكثر استخدامًا 4 بايت في الذاكرة وهو مناسب لتخزين الأرقام من -2147483648 إلى 2147483647. يستهلك نوع البايت أقل ذاكرة وهو مناسب للعمل مع الأرقام الصغيرة (من -128 إلى 127). النوعان القصير والطويل هما 2 و 8 بايت على التوالي.

النوع المزدوج مناسب للأرقام الحقيقية.

يتم تمثيل الأرقام الحقيقية (الحقيقية) (أو أرقام الفاصلة العائمة) بنوعين: عائم ومزدوج. يستهلك النوع الطفو 4 بايت من الذاكرة ولا يوفر درجة عالية من الدقة عند التعامل مع أعداد كبيرة جدًا أو صغيرة جدًا. يوصى باستخدامه عند الحاجة إلى الجزء الكسري ، لكن الدقة العالية غير مطلوبة (على سبيل المثال ، لقياس المسافات بالأمتار ، ولكن مع مراعاة السنتيمترات والمليمترات ، أو قياس الأسعار بالروبل ، مع مراعاة كوبيل). إذا كانت هناك حاجة إلى حسابات أكثر دقة ، فمن المستحسن العمل بقيم من النوع المزدوج (على سبيل المثال ، يمكن لمثل هذا المتغير تخزين قيمة جيب الزاوية).

تعتبر القيم الحرفية الصالحة مثل 5.3 و 8.0 و 2e-3 بواسطة Java مزدوجة. إذا كان سيتم استخدامها كعوامات في البرنامج ، فيجب أن تنتهي بالحرف f: 5.3f ، 8.0f ، 2e-3f.

نوع الحرف يستخدم لتخزين الأحرف المفردة. تعتبره Java نوعًا من نوع عدد صحيح (نظرًا لأن كل حرف يتم تحديده بواسطة رمز Unicode الخاص به) ، لذلك يتم تطبيق جميع عمليات الأعداد الصحيحة على char.

يتم تمثيل القيم المنطقية (سواء كانت صحيحة أو خاطئة) بالنوع المنطقي.

وبالتالي ، تحدد Java ثمانية أنواع بسيطة ، يتم تقديم ميزاتها بتنسيق طاولة:

إعلان المتغيرات

في Java (كما هو الحال في العديد من اللغات الأخرى) ، تحتاج إلى وصفها قبل استخدامها. لوصف متغير ما هو إعطائه اسمًا وتحديد نوعه.

عند التصريح عن متغير ، يُشار إلى النوع أولاً (والذي يمكن أن يكون أحد الأنواع البسيطة ، اسم فئة أو واجهة) ، ثم اسم المتغير. إذا كانت هناك حاجة إلى متغير تهيئة(تعيين القيمة الأولية) ، يتم تحديد القيمة الأولية بعد الاسم من خلال علامة التساوي. يمكن الإعلان عن عدة متغيرات أخرى من نفس النوع مفصولة بفواصل.

أمثلة إعلان المتغير:

كثافة العمليات س ؛ // أعلن عن متغير عدد صحيح xضعف أ ، ب ؛ // إعلان متغيرين حقيقيين أ و بحرف char = "Z" ؛ // قم بتعريف حرف متغير حرف ، تمت تهيئته بقيمة أولية لـ "Z"منطقي b1 = صحيح ، b2 ، b3 = خطأ ؛ // قم بتعريف ثلاثة متغيرات منطقية ، سيكون أولها صحيحًا ، وسيكون الأخير خطأ

عمليات اللغة الأساسية

المتغيرات ويمكن المشاركة فيها (والتي بدورها يمكن بناء متغيرات معقدة). لنفكر في أبسط العمليات لغة جافا.

عمليات رياضية

عمليات المقارنة ، والنتيجة هي قيمة منطقية: صواب أو خطأ

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

حول عمليات Java

&& و || تختلف في أن قيمة الثانية لا تحسب بالضرورة. على سبيل المثال ، تقوم && بتقييم قيمة المعامل الأول ، وإذا كانت خاطئة ، فإنها تُرجع خطأً على الفور ، بينما || يعود صحيحًا فورًا إذا رأى أن المعامل الأول صحيح. Java لديها عمليات مماثلة & و | ، يقومون بتقييم قيم كلا المعاملين قبل إجراء عملية عليهم.

عمليات التحول

(العمل مع تمثيل بت للمعامل الأول)

عمليات Bitwise

(العمل مع تمثيل بت للمعاملات)

عملية؟:

العملية؟: ثلاثية ، أي لديها ثلاثة معاملات. المعامل الأول هو شرط ، تعبير منطقي. المعاملان الثاني والثالث عبارة عن تعبيرات من أي نوع آخر. تعمل العملية على النحو التالي: إذا كان الشرط صحيحًا ، فإنها تُرجع معاملها الثاني نتيجة لذلك ، وإذا كانت خاطئة ، فتُرجع معاملها الثاني.

على سبيل المثال ، التعبير (5> 3)؟ 7 + 1: 2 * 2 سيكون لها القيمة 8 ، لكن التعبير (5 == 3)؟ 7 + 1: 2 * 2 - القيمة 4. لا يبدو هذا الترميز وصفيًا للغاية ، ولكن غالبًا ما يستخدمه المبرمجون لتقصير التعليمات البرمجية الخاصة بهم. لذلك ، بدلاً من سلسلة من الأوامر:

إذا (x> 0) y = 45 + a * 2 ؛ // إذا تمت مناقشة البيان أدناهوإلا ص = 45 - ب * 3 ؛

يمكنك كتابة:

ص = 45 + ((س> 0)؟ أ * 2: -ب * 3) ؛

مهمة تشغيل

بعد وصف المتغير ، يمكنك العمل معه في البرنامج. على وجه الخصوص ، يمكن تعيين قيمة من النوع المناسب لها. بعد ذلك ، في المستقبل ، عند استخدام هذا المتغير في أي تعبير ، سيتم استبدال هذه القيمة الحالية به تلقائيًا.

ترتبط القيمة بمتغير باستخدام التخصيص. في لغة Java ، تتم كتابتها بعلامة يساوي بسيطة:

متغير = تعبير ؛

يتم تحديد المتغير دائمًا على يسار عامل الإسناد. على اليمين يجب أن يتطابق مع المتغير حسب النوع. يمكن أن يكون بسيطًا (على سبيل المثال ، رقم أو رمز):

س = 7 ؛ // المتغير x يتم تعيين القيمة 7حرف = "Q" ؛ تم تعيين // letter على "Q"

بشكل عام ، التعبير هو شيء يمكن حسابه (على سبيل المثال ، نتيجة عملية حسابية أو النتيجة التي يتم إرجاعها بواسطة طريقة ما):

أ = 7.5 + 2.4 ؛ // المتغير a تم تعيينه 9.9 نتيجة الحسابات

بالإضافة إلى القيم الحرفية ، يمكن للمتغيرات الأخرى المشاركة في التعبير. يتم استبدال قيمتها الحالية لهم. نتيجة للأمر:

ب = أ + 1 ؛

سيتم تعيين المتغير ب على 10.9.

لذلك ، يعمل عامل التخصيص على النحو التالي. أولاً ، يتم حساب قيمة التعبير الموجود على الجانب الأيمن ، ثم يتم تخصيص النتيجة للمتغير المحدد على الجانب الأيسر. حتى الموقف التالي ممكن:

س = س + 4 ؛

يقوم هذا الأمر بزيادة القيمة الحالية للمتغير الصحيح x بمقدار 4.

والأوامر التالية مكتوبة بشكل غير صحيح ولن تعمل:

5 = س + 7 ؛ // يجب أن يكون هناك متغير على اليسارس + 3 = 14 ؛ // يجب أن يكون هناك متغير واحد فقط على اليسارس = 4.5 ؛ // يمكن للمتغير x أن يأخذ قيمًا صحيحة فقط

سيحاول Eclipse الإشارة إلى الخطأ في هذه السطور قبل تنفيذ البرنامج عن طريق وضع علامات تحذير في هامش محرر الكود. يمكنك أن ترى كيف يفعل ذلك.

حول نوع الصب

عندما يتم تعيين قيمة لمتغير من نوع آخر ، يتم استخدامه صب (تحويل) الأنواع... بالنسبة للأنواع الرقمية (بايت ، قصير ، int ، طويل ، عائم ، مزدوج ، حرف) يحدث ذلك تلقائيًا إذا كان نوع المتغير الذي يتم تغييره يمكنه "استيعاب" قيمة من نوع آخر.

على سبيل المثال ، إذا تم تعيين قيمة نوع بايت لمتغير من النوع int ، فسيحدث التحويل من نوع بايت إلى نوع int تلقائيًا. وبالمثل ، يمكن تحويل نوع الطفو إلى النوع المزدوج ، إلخ.

إذا حاولت تعيين متغير من نوع أقل دقة (على سبيل المثال ، بايت) إلى قيمة من نوع أكثر دقة (على سبيل المثال ، int) ، فسيقوم المترجم بإنشاء رسالة خطأ.

لنوع الصب ، يمكنك استخدام عامل الزهر- قبل التعبير الذي نريد إجراء تحويل النوع له ، يتم وضع الأقواس مع النوع الذي يتم إجراء التحويل عليه ، داخل الأقواس. عند تحويل نوع عدد صحيح عالي الدقة إلى نوع عدد صحيح أقل دقة ، يمكن إجراء تقسيم modulo من خلال النطاق المسموح به للنوع الذي يتم تنفيذ الصب عليه ، وعند إرسال تعبير من النوع مزدوج إلى تعبير من نوع float ، سيتم تقليل دقة التعبير.

طويل j = (طويل) 1.0 ؛ // استخدم عامل الصب إلى long، j = 1 char ch = (char) 1001 ؛ // استخدم عامل الإرسال لـ char، ch = "d"البايت b2 = (بايت) (100) ؛ // استخدم عامل التشغيل من int إلى بايت ، b2 = 100بايت b3 = (بايت) (100 * 2) ؛ //انتباه! يحدث تقسيم modulo ، b3 = -56

غالبًا ما يحدث خطأ عدم تطابق النوع مع القيم الحرفية الصالحة. على سبيل المثال ، لا يمكنك أداء الواجب أ = 7.5 + 2.4 ؛ إذا كان المتغير a من النوع float ، نظرًا لأن الحرفين 7.5 و 2.4 يعتبران من النوع double. لتجنب الخطأ ، من الضروري استخدام التلبيس:

أ = (عائم) (7.5 + 2.4) ؛

أو للإشارة إلى أن القيم الحرفية هي أيضًا عائمة:

أ = 7.5 ف + 2.4 ف ؛ // هذا أيضًا أمر صالح

تقريبا كل عملية ثنائية لها نوع خاص بها من مشغل التخصيص. على سبيل المثال ، بالنسبة لعملية الإضافة + ، يوجد عامل تعيين أحادي + = ، مما يزيد من قيمة المعامل بمقدار معين:

س + = 8 ؛ // مثل x = x + 8 (x تزيد بمقدار 8)

وبالمثل بالنسبة للعمليات الأخرى: عوامل التشغيل * = ، - = ، / = ،٪ = ، & = ^ = ، إلخ:

س * = 3 ؛ // مثل x = x * 3 (x تزيد بمقدار 3 مرات)ب 1 ^ = ب 2 ؛ // مثل b1 = b1 ^ b2

التمرين 1

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

مستعجل:يمكنك استخدام المشروع الذي تم إنشاؤه بالفعل في Eclipse عن طريق اللصق الأوامر المطلوبةبعد الأمر لإخراج السطر "Hello، world!" أو بدلا من ذلك.

عوامل الزيادة والنقصان

حول عوامل الزيادة والنقصان

عوامل الزيادة والنقصان ++ و- زيادة وإنقاص قيمة المعامل بمقدار واحد. من الأنسب استخدام الأمر x ++ ؛ بدلاً من الأمر x = x + 1 ؛

عوامل الزيادة والإنقاص ترجع أيضًا قيمة. هذا يعني أنه من القانوني تنفيذ الأمر

ص = 7 * س ++ ؛

نتيجة لذلك ، سيزداد المتغير x بمقدار 1 ، وسيأخذ المتغير y قيمة سبعة أضعاف القيمة القديمة لـ x. يمكنك أيضًا تشغيل هذا الأمر:

ص = 7 * ++ س ؛

نتيجة لذلك ، سيزداد المتغير x بمقدار 1 ، وسيأخذ المتغير y قيمة سبعة أضعاف القيمة الجديدة لـ x.

عبارة if الشرطية

أبسط شكل لكتابة عامل شرطي هو:

الأمر if (condition)

الشرط بين قوسين هو تعبير منطقي ، أي يمكن أن تكون صحيحة أو خاطئة. إذا كان الشرط صحيحًا ، فسيتم تنفيذ الأمر ، وإلا فلن يحدث شيء. على سبيل المثال:

إذا كانت (x // إذا كانت قيمة المتغير x أقل من 17 ، فخصص x لـ 17

إذا كان من الضروري في الحالة التي يكون فيها الشرط خاطئًا ، يتم تنفيذ أمر آخر ، فاستخدم الصيغة الموسعة لتعليمة if:

if (الشرط) command1 else command2

عن الآخر إذا كان البناء

في المثال أعلاه ، قد نرغب في إسناد المتغير x إلى 5 إذا كان الشرط لم يتم تنفيذ x (لماذا نحتاجها ، سؤال آخر).

إذا (س آخر س = 5 ؛

إذا كان من الضروري استخدام العديد من الشروط المتنافية ، فيمكن كتابتها على النحو التالي:

if (condition1) command1 وإلا إذا (condition2) command2 وإلا إذا (condition3) command3 ... else commandN

تمرين 2

قم بتعريف متغيرين عدد صحيح ، وقم بتعيين أي قيم لهما. استخدم عبارة if للعثور على الحد الأقصى منها وإخراجها.

مستعجل:تم النظر في خوارزمية إيجاد الحد الأقصى أثناء تكرار التركيبات الأساسية للخوارزمية.

أوامر مركبة

يمكن دمج أوامر لغة Java المتعددة في أمر مركب واحد باستخدام الأقواس المتعرجة (). على سبيل المثال ، يمكنك كتابة:

(أ = 12 ؛ حرف = "د" ؛)

يمكن استخدام الأوامر المركبة أينما كانت الأوامر العادية. على سبيل المثال ، في عبارة if ، إذا كان يلزم تنفيذ عدة إجراءات عند استيفاء أحد الشروط:

إذا (س "س" ؛) آخر (س = 5 ؛)

يسمى أيضًا بناء الدعامة المتعرجة كتلة من الأوامروالأقواس المتعرجة حدود الكتلة.

لاحظ أن الترميز المستخدم في المثال (عندما يتم وضع حدود الكتلة على أسطر منفصلة ، ويتم كتابة محتويات الكتلة بمسافة بادئة من حدودها) اختيارية. إنها مجرد قاعدة نمط لتسهيل فهم البرامج وعدم الخلط بينها وبين الأقواس المتعرجة ، والتي تُستخدم غالبًا في برنامج Java.

حول بيان اختيار التبديل

بيان اختيار التبديل

غالبًا ما يعتمد اختيار الأمر المراد تنفيذه على قيمة متغير (أو تعبير). على سبيل المثال ، يُطلب من المستخدم إدخال علامة عملية ، واعتمادًا على الحرف الذي تم إدخاله ، يلزم عرض نتيجة الجمع والطرح وما إلى ذلك. أو ، إذا تم إدخال حرف غير صحيح ، تظهر رسالة خطأ. في هذه الحالة ، من الملائم استخدام بيان اختيار المفتاح ، الذي يحتوي على الرموز التالية:

التبديل (التعبير) (قيمة الحالة 1: تسلسل الأوامر 1 فاصل ؛ قيمة الحالة 2: تسلسل الأوامر 2 فاصل ؛ ... الافتراضي: تسلسل الأوامر الافتراضي)

Value1 ، value2 ، إلخ. هي ثوابت أو تعبيرات تتضمن ثوابت فقط. التعبير بين قوسين بعد كلمة رئيسيةيمكن أن يحتوي التبديل على متغيرات. يتم تقييم هذا التعبير ، ثم تتم مطابقة النتيجة بإحدى القيم بعد الكلمة الأساسية للحالة. إذا تم العثور على مثل هذا التطابق ، فسيتم تنفيذ التسلسل الكامل للأوامر الواقعة بين النقطتين وأقرب أمر فاصل. إذا لم يتم العثور على تطابق ، فسيتم تنفيذ التسلسل الافتراضي للأوامر التي تتبع الكلمة الأساسية الافتراضية. على سبيل المثال:

دار شار // علامة العملية ، سيتم تحديدها من قبل المستخدم ... // لنفترض أنه في هذه اللحظة يكون المستخدم قد اختار العلامة switch (مشغل) (الحالة "+": System.out.println (a + b) ؛ فاصل ؛ الحالة "-": System.out.println (أ - ب) ؛ كسر ؛ الحالة "*": System.out. println (a * b) ؛ فاصل ؛ افتراضي: System.out.println ( "علامة معاملة غير صالحة"); }

يمكنك حذف القسم الافتراضي. في هذه الحالة ، إذا لم يتم العثور على تطابق ، فلن يتم تنفيذ أي أمر.

بينما بيان الحلقة

الحلقة while بالشكل التالي:

while (condition) command

إذا كان الشرط بين قوسين (يمثل تعبيرًا منطقيًا) صحيحًا ، فسيتم تنفيذ الأمر - هيئة حلقة(يمكن أن يكون أمرًا بسيطًا أو سلسلة من الأوامر في أقواس معقوفة) ، وبعد ذلك سيعود البرنامج إلى تنفيذ هذه العبارة مرة أخرى وسيكرر ذلك حتى يتبين أن الشرط خاطئ.

لذلك ، حتى لا يدخل البرنامج حلقة لا نهائية ولا يتعطل ، يجب أن يوفر جسم الحلقة خيار خروج ، أي ، على سبيل المثال ، يجب أن تؤثر الأوامر الموجودة في جسم الحلقة بطريقة ما على المتغيرات المضمنة في الشرط.

على سبيل المثال ، يقوم مقتطف الشفرة التالي بطباعة الأرقام الزوجية من 2 إلى 10:

كثافة العمليات س = 2 ؛ بينما (x<= 10){ System.out.println(x); x += 2; }

حول أثناء حلقة مع حالة لاحقة

توجد طريقة أخرى لكتابة حلقة while loop:

نفذ الأمر بينما (الشرط)

عند استخدام هذا الخيار ، يتم تنفيذ الأمر أولاً ، ثم يتم التحقق من الشرط. يعمل كلا الخيارين بنفس الطريقة ، ولكن في الحالة الثانية ، سيتم تنفيذ جسم الحلقة (الأمر) مرة واحدة على الأقل ، حتى إذا كان الشرط خاطئًا في البداية.

التمرين رقم 3

استخدم حلقة while لطباعة جميع الأرقام الفردية من 1 إلى 10.

مستعجل:تغيير طفيف في الخوارزمية لإخراج الأرقام الزوجية.

لمشغل الحلقة

تُستخدم حلقة for عادةً عندما يُعرف مسبقًا عدد المرات التي يجب تكرار تنفيذ أمر (أو سلسلة من الأوامر). لها الشكل التالي:

لـ (أمر init ؛ شرط ؛ أمر الانتقال) حلقة الجسم

قبل بدء الدورة ، يتم تنفيذ أمر التهيئة. ثم يتم التحقق من شرط الانتقال (وهو تعبير منطقي). إذا كان هذا الشرط صحيحًا ، فسيتم تنفيذ الأمر (أو كتلة الأوامر الموجودة في الأقواس المتعرجة) التي تشكل جسم الحلقة. ثم يتم تنفيذ أمر الانتقال ويبدأ كل شيء من جديد. عادة ما تغير تعليمات القفز المتغير الذي يؤثر على حقيقة الشرط ، وتعليمات التهيئة هي وصف هذا المتغير.

عادةً ما يتم استخدام حلقة for على النحو التالي:

لـ (int i = 1 ؛ i<= 10; i++) тело_цикла;

في هذا المثال ، سيتم تنفيذ حلقة الحلقة 10 مرات بالضبط. في هذه الحالة ، عند كل تكرار ، سيكون المتغير i متاحًا (يسمى متغير الحلقة) ، والذي يمر بالتسلسل عبر القيم من 1 إلى 10. ينتج جزء البرنامج التالي أرقامًا زوجية من 2 إلى 10 (مشابه لـ مثال حلقة while):

لـ (int i = 1 ؛ i<= 5; i++) System.out.println(i*2);

التمرين 4

استخدم حلقة for لطباعة جميع الأرقام الفردية من 1 إلى 10.

كسر واستمر في البيانات

عندما يتكون جسم الحلقة (من أجل أو أثناء) من عدة أوامر ، فقد ينشأ موقف بعدم وجود حاجة لتنفيذها جميعًا في التكرار التالي. في هذه الحالة ، تكون عبارات break and continue مفيدة.

تنهي تعليمة break تنفيذ الحلقة الحالية ، بغض النظر عما إذا كان شرط الإنهاء الخاص بها قد تم الوفاء به أم لا.

تُنهي عبارة المتابعة تنفيذ تكرار الحلقة الحالية. بمعنى ، إذا تمت مصادفة هذا العامل في جسم الحلقة ، فسيتم تخطي بقية الأوامر التالية ويبدأ تكرار جديد (تكرار) للحلقة.

استنتاج

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

أدب إضافي

1. Vyazovik N.A. برمجة جافا. (الفصول 1-4 ، 7 ، 10)

2. Khabibullin I.Sh. برنامج Java الذاتي التعليمي 2. (الفصل 1)

انتبه بشكل خاص لأنواع بيانات Java وقواعد الصب ، والتي لم يتم تناولها بالتفصيل في هذا البرنامج التعليمي. يجب أن يتحكم المبرمج المحترف دائمًا في برامجه في إمكانية تجاوز قيمة متغيرة النطاق المسموح به لنوعها. تعد أخطاء Typecasting من أكثر الأخطاء شيوعًا وصعوبة اكتشافها. يُنصح بشدة قراءة الفصلين الرابع والسابع من الكتاب الأول لجميع الطلاب المتقدمين للحصول على درجة ممتازة.

تحتوي صفحات JSP على بناء جملة مدمج: مزيج من بناء الجملة القياسي الذي يتوافق مع مواصفات HTML وبناء جملة JSP المحدد بواسطة مواصفات صفحات خادم Java. تحدد صيغة JSP القواعد لكتابة صفحات JSP ، والتي تتكون من علامات HTML القياسية وعلامات JSP. تحتوي صفحات JSP ، بالإضافة إلى علامات HTML ، على علامات JSP للفئات التالية:

توجيهات JSP

التوجيهاتتوفير معلومات عالمية بشأن طلبات محددة إلى JSP وتوفير المعلومات اللازمة أثناء مرحلة الترجمة.

التوجيهاتيتم وضعها دائمًا في بداية صفحة JSP قبل جميع العلامات الأخرى ، لذلك محلل(محلل) JSP ، عند تحليل النص ، في البداية ، أبرزت التعليمات العامة. وبالتالي ، فإن محرك JSP (وقت تشغيل JSP) يوزع الكود وينشئ servlet من JSP. التوجيهاتهي رسائل إلى حاوية JSP. بناء الجملة التوجيهاتيبدو JSP كما يلي:

<%@ директива имяАтрибута="значение" %>بناء جملة المهمة التوجيهاتفي XML: التوجيهيمكن أن يكون لها سمات متعددة. في هذه الحالة التوجيهيمكن تكرارها لكل سمة. في نفس الوقت الأزواج "AttributeName = value"يمكن وضعها تحت توجيه واحد بمسافة كفاصل. هناك ثلاثة أنواع من التوجيهات:

  • صفحة (صفحة)
  • taglib (مكتبة العلامات)
  • تشمل (تشمل)

توجيه الصفحة

التوجيه صفحةيحدد خصائص صفحة JSP التي تؤثر على المترجم. ترتيب السمات في التوجيه صفحةلا يهم. يؤدي انتهاك البنية أو وجود سمات غير معروفة إلى حدوث خطأ في الترجمة. مثال على التوجيه صفحةيمكن أن يخدم الكود التالي:<%@ page buffer="none" isThreadSafe="yes" errorPage="/error.jsp" %>يوضح هذا التوجيه أن صفحة JSP هذه لا تستخدم التخزين المؤقت ، وأنه من الممكن لعدة مستخدمين الوصول إلى صفحة JSP هذه في نفس الوقت ، وأن صفحة الخطأ المسماة خطأ. jsp.
التوجيه صفحةقد تحتوي على معلومات حول الصفحة:<%@ page info = "JSP Sample 1" %>قائمة سمات التوجيه المحتملة صفحةالمعروضة في الجدول.
اسم السمةالمعنى وصف
لغة خط يحدد اللغة المستخدمة في ملفات JSP النصية أو التعبيرات أو أي ملفات تتضمن ، بما في ذلك نص التعليمات البرمجية المترجمة. الافتراضي هو "جافا"
يمتد خط يحدد الفئة الفائقة لـ servlet الذي تم إنشاؤه. يجب استخدام هذه السمة بعناية كبيرة حيث من الممكن أن يكون الخادم يستخدم بالفعل فئة فائقة.
يستورد خط تعريف العبوات المراد استيرادها على سبيل المثال:
& lt٪ @ استيراد الصفحة = "java.util. *٪>
حصة صحيحة أو خاطئة المعنى حقيقية(افتراضي) يشير إلى متغير محدد مسبقًا حصة(اكتب HttpSession) يجب أن يكون مرتبطًا بجلسة موجودة ، إن وجدت ، وإلا يتم إنشاء جلسة جديدة وربطها. المعنى خاطئةيقرر أنه لن يتم استخدام الجلسات ، ويحاول الوصول إلى متغير حصةسيؤدي إلى حدوث خطأ عند ترجمة صفحة JSP إلى servlet
متعادل لا شيء أو حجم المخزن المؤقت بالكيلو بايت. يضبط حجم المخزن المؤقت لمخرج JspWriter. تعتمد القيمة الافتراضية على إعدادات الخادم ويجب ألا تتجاوز 8 كيلو بايت. إذا كانت القيمة لا أحدينتقل الإخراج مباشرة إلى الكائن
تدفق تلقائي صحيحة أو خاطئة يحدد ما إذا كان يجب إفراغ المخزن المؤقت تلقائيًا عند فائضه أو حدوث خطأ. القيمة الافتراضية حقيقية
isThreadSafe صحيحة أو خاطئة المعنى حقيقية(الافتراضي) يحدد نمط التنفيذ العادي لـ servlet ، حيث تتم معالجة الطلبات المتعددة بشكل متزامن باستخدام نسخة servlet واحدة ، بافتراض أن المؤلف لديه وصول متزامن لمتغيرات تلك النسخة. تشير القيمة الخاطئة إلى أن servlet يجب أن يرث SingleThreadModel(نموذج ذو مؤشر ترابط واحد) حيث يتم التعامل مع الطلبات المتسلسلة أو المتزامنة بواسطة طبعات منفصلة من servlet
معلومات خط يحدد سلسلة من المعلومات حول صفحة JSP التي سيتم الوصول إليها باستخدام الطريقة Servlet.getServletInfo ()
صفحة الخطأ خط قيمة السمة هي عنوان URL للصفحة التي يجب عرضها في حالة وجود أخطاء محتملة تسبب استثناءات
isErrorPage صحيحة أو خاطئة إشارات ما إذا كان يمكن استخدام هذه الصفحة لمعالجة أخطاء صفحات JSP الأخرى. الافتراضي هو خاطئة
نوع المحتوى خط يحدد الترميز لصفحة JSP والاستجابة ، ونوع MIME لاستجابة JSP. القيمة الافتراضية لنوع المحتوى هي نص / أتش تي أم أل، ترميزات - ISO-8859-1.على سبيل المثال:
contentType = "text / html؛ charset = ISO-8859-1"
pageEncoding خط يحدد ترميز الأحرف لصفحة JSP. الافتراضي هو محارفمن السمة نوع المحتوىإذا تم تعريفه هناك. إذا كانت القيمة محارففي السمة نوع المحتوىقيمة غير محددة pageEncodingتم تعيينه على قدم المساواة ISO-8859-1

توجيه تاجلب

التوجيه تاجليبيصرح بأن صفحة JSP معينة تستخدم مكتبة علامات ، وتعرفها بشكل فريد باستخدام URI ، وتعيين بادئة علامة يمكن للمكتبة التعامل معها. إذا تعذر على الحاوية العثور على مكتبة العلامات ، فسيحدث خطأ فادح في الترجمة. التوجيه تاجليبلديه بناء الجملة التالي:<%@ taglib uri="URI لمكتبة العلامات المضمنة"بادئة =" اسم البادئة"٪> بادئة" اسم البادئة"عند الإشارة إلى المكتبة. مثال على استخدام مكتبة العلامات علاماتي: <%@ taglib uri="http://www.taglib/mytags" prefix="customs" %> . . . في هذا المثال ، تحتوي مكتبة العلامات على URI "http: //www.taglib/mytags"، يتم تعيين السلسلة كبادئة جماركيتم استخدامه في صفحة JSP عند الوصول إلى عناصر مكتبة العلامات.

تضمين التوجيه

التوجيه يشمليسمح لك بإدخال نص أو رمز أثناء ترجمة صفحة JSP إلى servlet. بناء جملة التوجيه يشمليشبه هذا:<%@ include file="URI النسبي للصفحة المراد تضمينها"٪> التوجيه يشملله سمة واحدة - ملف... يتضمن نص المصدر المحدد في ملف JSP. يمكن استخدام هذا التوجيه لوضع رأس حقوق نشر قياسي في كل صفحة JSP:<%@ include file="copyright.html" %>تصل حاوية JSP إلى ملف التضمين. إذا تم تغيير ملف التضمين ، يمكن للحاوية إعادة ترجمة صفحة JSP. التوجيه يشمليعامل موردًا ، مثل صفحة JSP ، ككائن ثابت. عادةً ما يتم تفسير URI المحدد بالنسبة إلى JSP للصفحة التي يوجد بها الرابط ، ولكن كما هو الحال مع أي URI نسبي ، يمكنك إخبار النظام بموضع مورد الاهتمام بالنسبة إلى الدليل الرئيسي لخادم WEB عن طريق التهيئة معرّف الموارد المنتظم (URI) بحرف "/". يتم التعامل مع محتوى ملف التضمين كنص JSP عادي وبالتالي يمكن أن يتضمن عناصر مثل HTML الثابت وعناصر البرنامج النصي والتوجيهات والإجراءات. تستخدم العديد من المواقع شريط تنقل صغيرًا في كل صفحة. نظرًا لمشاكل استخدام إطارات HTML ، غالبًا ما يتم حل هذه المهمة عن طريق وضع جدول صغير أعلى أو في النصف الأيسر من الصفحة ، حيث يتم تكرار كود HTML الخاص به عدة مرات لكل صفحة من صفحات الموقع. التوجيه يشمل- هذه هي الطريقة الأكثر طبيعية لحل هذه المشكلة ، إنقاذ المطور من كابوس روتين نسخ HTML في كل ملف منفصل. منذ التوجيه يشمليربط الملفات أثناء ترجمة الصفحة ، ثم بعد إجراء التغييرات على شريط التنقل ، يلزم إعادة ترجمة جميع صفحات JSP التي تستخدمها. إذا كانت الملفات المرفقة تتغير كثيرًا ، يمكنك استخدام الإجراء jsp: تضمينالذي يربط الملف عند الوصول إلى صفحة JSP.

إعلانات JSP

الإعلانات (الإقرارات)مخصصة لتعريف المتغيرات والطرق في لغة البرمجة النصية ، والتي يتم استخدامها لاحقًا في صفحة JSP. بناء الجملة الإعلاناتيشبه هذا:<%! код Java %> إعلاناتموجودة في كتلة الإعلان ويتم استدعاؤها في كتلة التعبير لصفحة JSP. عادةً ما تتم كتابة الكود الموجود في كتلة الإعلان بلغة Java ، ولكن يمكن لخوادم التطبيقات استخدام بناء جملة البرامج النصية الأخرى. إعلاناتتستخدم أحيانًا لإضافة وظائف إضافية عند العمل مع البيانات الديناميكية التي تم الحصول عليها من خصائص مكونات JavaBeans. أمثلة على إعلاناتمعروضة في الجدول. إعلانيمكن أن تحتوي على أسطر متعددة ، كما هو الحال في الكود أدناه لحساب قيمة دالة حقيقة (int n)، والتي يجب أن تكون مساوية لـ 1 عندما تكون n أقل من 2 و n! بقيمة موجبة من n ؛<%! public static int fact (int n) { if (n إعلاناتلا تنتج أي إخراج إلى الناتج القياسي خارج... المتغيرات والطرق المعلنة في الإعلاناتتمت تهيئتها وإتاحتها لـ scriptlets وغيرها إعلاناتفي وقت تهيئة صفحة JSP.

JSP Scriptlets

النصوصتضمين أجزاء مختلفة من التعليمات البرمجية المكتوبة بلغة البرمجة النصية المحددة في التوجيه لغة... يجب أن تتوافق مقتطفات التعليمات البرمجية مع التركيبات النحوية للغة سكربتليتس، أي عادة بناء جملة لغة جافا. النصوصلديك بناء الجملة التالي:<% текст скриптлета %>مكافئ لغوي النصيبالنسبة إلى XML هو: نص scriptlet
إذا كان في النص النصيمن الضروري استخدام تسلسل الأحرف٪> تمامًا كمجموعة من الأحرف ، وليس كعلامة - علامة نهاية النصي، بدلاً من التسلسل٪> ، استخدم المجموعة التالية من الأحرف٪ \>.
توفر مواصفات JSP مثالًا بسيطًا ومباشرًا النصييغير محتوى صفحة JSP ديناميكيًا على مدار اليوم.<% if (Calendar.getInstance ().get (Calendar.AM_PM) == Calendar.AM) {%>صباح الخير<% } else { %>مساء الخير<% } %>وتجدر الإشارة إلى أن الكود بداخله النصيتم إدراجه كما هو مكتوب وجميع نصوص HTML الثابتة (نص القالب) قبل أو بعد النصيتم تحويلها باستخدام عامل التشغيل مطبعة... هذا يعني أن scriptlets لا يجب أن تحتوي على أجزاء Java مكتملة ، وأن الأجزاء التي تُترك مفتوحة يمكن أن تؤثر على HTML الثابت خارج النصي. نصوصالوصول إلى نفس المتغيرات المعرفة تلقائيًا مثل التعبيرات. لذلك ، على سبيل المثال ، إذا كانت هناك حاجة لعرض أي معلومات على الصفحة ، فيجب عليك استخدام المتغير خارج. <% String queryData = request.getQueryString (); out.println ("Дополнительные данные запроса: " + queryData); %>

تعبيرات JSP

تعبيرفي صفحة JSP عبارة عن تعبير قابل للتنفيذ مكتوب بلغة البرمجة النصية المحددة في الإعلان لغة(عادة جافا). نتيجة التعبيرات JSP من النوع المطلوب سلسلة، يتم إرسالها إلى الإخراج القياسي خارجباستخدام الكائن الحالي JspWriter... إذا كانت النتيجة التعبيراتلا يمكن أن يلقي سلسلة، إما أن يحدث خطأ في الترجمة إذا تم اكتشاف المشكلة في مرحلة الترجمة ، أو تم طرح استثناء ClassCastExceptionإذا تم الكشف عن التناقض أثناء تنفيذ الطلب. تعبيرله الصيغة التالية: & lt٪ = نص التعبير٪> بناء الجملة البديل لـ التعبيرات JSP عند استخدام XML: نص التعبيرأمر التنفيذ التعبيراتفي صفحة JSP من اليسار إلى اليمين. لو التعبيرتظهر في أكثر من سمة وقت تشغيل واحدة ، ثم يتم تشغيلها من اليسار إلى اليمين في تلك العلامة. تعبيريجب أن يكون تعبيرًا كاملاً في نص برمجي محدد (عادةً Java). يتم تنفيذ التعبيرات أثناء تشغيل بروتوكول HTTP. يتم تحويل قيمة التعبير إلى سلسلة ويتم تضمينها في الموضع المناسب في ملف JSP. التعبيراتتستخدم بشكل شائع لحساب وعرض تمثيل السلسلة للمتغيرات والطرق المحددة في كتلة إعلان صفحة JSP أو مشتقة من JavaBeans التي يمكن الوصول إليها من JSP. الكود التالي التعبيراتيعمل على عرض تاريخ ووقت طلب هذه الصفحة: الوقت الحالي: & lt٪ = new java.util.Date ()٪> للتبسيط التعبيراتهناك العديد من المتغيرات المحددة مسبقًا التي يمكنك استخدامها. المتغيرات الأكثر استخدامًا هي:
  • طلب ، HttpServletRequest ؛
  • استجابة HttpServletResponse ؛
  • جلسة HttpSession - المرتبطة بالطلب ، إن وجدت ؛
  • خارج ، PrintWriter - نسخة مخزنة من نوع JspWriter لإرسال البيانات إلى العميل.