0Pricing
Java Academy · درس

أساسيات printf

نسّق السلاسل النصية والمعاملات

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

لماذا printf؟

لا تكون System.out.println كافية أحيانًا. قد ترغب في محاذاة الأرقام، أو تقليل المنازل العشرية، أو إدراج القيم داخل جملة.

يتيح لك System.out.printf إنشاء نص منسّق باستخدام العناصر النائبة. وهو اختصار لعبارة "طباعة منسّقة".

أول استخدام لـ printf

يستقبل استدعاء printf سلسلة تنسيق بالإضافة إلى قيم. يبدأ كل عنصر نائب بالرمز %.

يعني %s هنا «أدرج String هنا». وتملأ القيمة التي تأتي بعد الفاصلة ذلك الموضع.

public class Main {
    public static void main(String[] args) {
        System.out.printf("Hello, %s!\n", "World");
    }
}

لا يضيف printf سطرًا جديدًا

بخلاف println، لا يضيف printf فاصل أسطر تلقائيًا. إذا أردت نقل المؤشر إلى السطر التالي، فأضف \n بنفسك.

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

public class Main {
    public static void main(String[] args) {
        System.out.printf("A");
        System.out.printf("B\n");
    }
}

محدد %s

يُعدّ %s عنصرًا نائبًا للنص. ويعمل أيضًا مع معظم الكائنات، إذ يحوّلها Java إلى نص تلقائيًا.

يمكنك استخدام عدة مواضع %s في استدعاء واحد. وتطابق القيم هذه المواضع من اليسار إلى اليمين.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%s likes %s\n", "Ana", "Java");
    }
}

محدد %d

ينسّق %d عددًا صحيحًا، مثل int أو long. يشير الحرف d إلى «عدد عشري صحيح».

يؤدي تمرير قيمة عشرية مثل 3.5 إلى %d إلى حدوث خطأ، لذا استخدم %d للأعداد الصحيحة فقط.

public class Main {
    public static void main(String[] args) {
        int age = 25;
        System.out.printf("Age: %d\n", age);
    }
}

عناصر نائبة متعددة

يمكنك مزج المحددات بحرية. ويستهلك كل عنصر نائب الوسيط التالي بالترتيب.

يأخذ %s الاسم، بينما يأخذ %d النتيجة في المثال أدناه.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%s scored %d points\n", "Leo", 42);
    }
}

الترتيب مهم

تملأ الوسائط العناصر النائبة بالترتيب الدقيق لظهورها. تذهب القيمة الأولى إلى أول %، والثانية إلى ثاني واحد، وهكذا.

إذا بدّلت القيم، سيتغير معنى الناتج.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%d before %d\n", 1, 2);
    }
}

محرف الهروب %%

بما أن % يبدأ عنصرًا نائبًا، فكيف تطبع رمز النسبة المئوية حرفيًا؟ استخدم %%.

يتحول %% واحد في سلسلة التنسيق إلى % واحد في الناتج.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%d%% done\n", 80);
    }
}

محارف الهروب الشائعة

يمكنك استخدام تسلسلات الهروب المعتادة داخل سلسلة التنسيق: \n لسطر جديد و\t لعلامة جدولة.

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

public class Main {
    public static void main(String[] args) {
        System.out.printf("Name:\tBob\nCity:\tRome\n");
    }
}

مقارنة printf وprintln

يُعدّ println مناسبًا لإخراج قيمة واحدة بسرعة. أما printf فيتألق عندما تريد التحكم بدقة في مظهر القيم.

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

عدم تطابق الأنواع

يجب أن يتطابق المحدد مع نوع القيمة. قد يؤدي استخدام %d مع نص، أو استخدام %s عندما تتوقع تنسيق رقم، إلى أخطاء أو ناتج غير متوقع.

احرص دائمًا على إقران %s بالنصوص و%d بالأعداد الصحيحة.

تحقق سريع

اختبر أساسيات printf لديك.

مراجعة

تعلّمت استخدام System.out.printf والعنصرين النائبين %s و%d ومحرف الهروب %%، وأن printf لا يضيف سطرًا جديدًا تلقائيًا.

ستنسّق في الخطوة التالية الأرقام والقيم العشرية بدقة.

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

هل درس «أساسيات printf» مجاني؟

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

ماذا ستتعلم في «أساسيات printf»؟

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

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

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

كم من الوقت يستغرق درس «أساسيات printf»؟

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

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

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

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

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