0Pricing
Java Academy · درس

String.format

أنشئ سلاسل نصية منسّقة

String.format درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 4 دروس في المجموع.

التنسيق دون الطباعة

يرسل printf النص مباشرةً إلى وحدة التحكم. لكنك قد ترغب أحيانًا في الحصول على النص المنسّق على هيئة String لتخزينه أو إرجاعه أو إعادة استخدامه.

ينفذ String.format ذلك تمامًا: القواعد نفسها، لكنه يعيد قيمة بدلًا من طباعتها.

أول استخدام لـ String.format

يستخدم String.format العناصر النائبة نفسها التي يستخدمها printf. وينشئ String جديدًا ثم يعيده إليك.

يُخزَّن الناتج هنا في msg ثم يُطبَع.

public class Main {
    public static void main(String[] args) {
        String msg = String.format("Hello, %s!", "World");
        System.out.println(msg);
    }
}

المحددات نفسها

ينطبق كل ما تعلّمته: تعمل %d و%f و%.2f والعروض والأعلام كلها داخل String.format.

الفرق الوحيد هو أن الناتج يُعاد بدلًا من عرضه.

public class Main {
    public static void main(String[] args) {
        String s = String.format("%s: %.2f", "Price", 9.5);
        System.out.println(s);
    }
}

تخزين الناتج

بما أنه يعيد String، يمكنك الاحتفاظ به في متغير أو ضمّه إلى نص آخر أو تمريره إلى method أخرى.

يفيد ذلك في إنشاء الرسائل خطوةً تلو الأخرى.

public class Main {
    public static void main(String[] args) {
        String label = String.format("#%03d", 7);
        System.out.println("ID " + label);
    }
}

إرجاع نص منسّق

يمكن لـ method استخدام String.format لإرجاع String منسّق ومرتب. وبذلك تظل منطقية التنسيق في مكان واحد.

تعيد greet أدناه التحية المنسّقة.

public class Main {
    static String greet(String name) {
        return String.format("Welcome, %s!", name);
    }
    public static void main(String[] args) {
        System.out.println(greet("Mia"));
    }
}

لا يوجد سطر جديد تلقائيًا

مثل printf، لا يضيف String.format سطرًا جديدًا ما لم تكتب \n في سلسلة التنسيق.

إذا طبعت الناتج باستخدام println، فسيضيف فاصل السطر نيابةً عنك.

public class Main {
    public static void main(String[] args) {
        String s = String.format("Line one");
        System.out.println(s);
    }
}

قيم متعددة

يمكنك تمرير عدد من الوسائط يساوي عدد العناصر النائبة. وتملأ هذه الوسائط المواضع من اليسار إلى اليمين، تمامًا كما في printf.

يسهّل ذلك إنشاء صف من البيانات على هيئة String واحد.

public class Main {
    public static void main(String[] args) {
        String row = String.format("%s | %d | %.1f", "Tea", 3, 2.5);
        System.out.println(row);
    }
}

إعادة استخدام التنسيق

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

يعيد كل استدعاء String جديدًا بالقيم الجديدة.

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {
            System.out.println(String.format("Item %d", i));
        }
    }
}

يستخدم printf التنسيق داخليًا

تحت الغطاء، يتصرف System.out.printf(fmt, args) مثل طباعة String.format(fmt, args).

لذلك يعتمد الاختيار بينهما فعليًا على ما إذا كنت تريد الطباعة الآن أم الاحتفاظ بالنص لاستخدامه لاحقًا.

إنشاء السجلات والتسميات

يُعدّ String.format مفيدًا لأسطر السجل وتسميات واجهة المستخدم وأسماء الملفات التي تحتاج إلى نمط دقيق.

يعني وضع التنسيق في مكان مركزي أن تغييرًا واحدًا يحدّث كل رسالة.

public class Main {
    public static void main(String[] args) {
        int code = 404;
        String log = String.format("[ERROR %d] not found", code);
        System.out.println(log);
    }
}

تنطبق قواعد الأنواع نفسها

قواعد مطابقة المحدد للقيمة متطابقة: يحتاج %d إلى عدد صحيح، ويحتاج %f إلى قيمة ذات فاصلة عائمة، ويؤدي عدم التطابق إلى طرح استثناء أثناء التشغيل.

تحقق جيدًا من الأزواج قبل التشغيل.

تحقق سريع

كيف يختلف String.format عن printf؟

مراجعة

يشترك String.format مع printf في القواعد، لكنه يعيد String يمكنك تخزينه أو إرجاعه أو إعادة استخدامه.

ستجمع في الخطوة التالية بين العرض والمحاذاة لإنشاء جداول مرتبة.

الأسئلة الشائعة

هل درس «String.format» مجاني؟

نعم — نص درس «String.format» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 4 دروس في المجموع.

ماذا ستتعلم في «String.format»؟

أنشئ سلاسل نصية منسّقة تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «String.format»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

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

جميع الدروس في هذه الدورة

  1. أساسيات printf
  2. تنسيقات الأرقام والكسور العشرية
  3. String.format
  4. محاذاة الجداول
← العودة إلى Java Academy