printf()

Java chiqarish printf() metodi

❮ Chiqarish metodlari


Misol

Konsolga formatlangan matn chiqaring.

%s belgisi "World" stringi uchun joy egasi hisoblanadi:

System.out.printf("Hello %s!", "World");

O‘zingiz sinab ko‘ring »

Eslatma: Boshqa "O‘zingiz sinab ko‘ring" misollarini ushbu sahifaning pastki qismida topasiz.


ULASHISH

Ta’rif va qo‘llanilishi

printf() metodi formatlangan stringni chiqaradi.

Qo‘shimcha argumentlardagi ma’lumotlar formatlanadi va formatlangan stringdagi % belgisi bilan belgilangan joy egalariga yoziladi. Argumentlarning qanday formatlanishi % belgisidan keyin keladigan belgilar ketma-ketligiga bog‘liq.

Joy egalari (placeholders)

Joy egalari %[arg$][flags][width][.precision]conversion ko‘rinishiga ega. [Kvadrat qavslar] ichidagi komponentlar ixtiyoriy.

Har bir komponentning izohi:

  • arg$ - Ixtiyoriy. Qo‘shimcha argumentlardan qaysi biri ishlatilishini ko‘rsatadigan, ortidan $ belgisi keladigan son; argumentlar raqami 1 dan boshlanadi. Uning o‘rniga oldingi joy egasidagi argument ishlatilishini bildiruvchi < belgisini qo‘yish mumkin.
  • flags - Ixtiyoriy. Quyidagi belgilarning istalganidan iborat ketma-ketlik:
    • - - To‘ldiruvchi bo‘sh joylarni chap tomon o‘rniga o‘ng tomonga qo‘shib, natijani chapga tekislaydi.
    • + - Musbat sonlar oldiga har doim "+" belgisi qo‘yilishini ta’minlaydi.
    • - (Bo‘sh joy belgisi) Musbat sonlar oldiga bo‘sh joy qo‘shadi; bu asosan ularning raqamlarini manfiy sonlar raqamlari bilan bir chiziqqa tekislash uchun kerak.
    • 0 - Sonlarni chap tomondan nollar bilan to‘ldiradi.
    • , - Raqamlarni guruhlaydi (masalan, minglar bo‘yicha) va guruhlar orasiga ajratuvchi qo‘yadi.
  • width - Ixtiyoriy. Natija egallashi kerak bo‘lgan eng kam belgilar sonini belgilovchi butun son. Zarur bo‘lsa, shu songa yetkazish uchun chap tomonga, - bayrog‘i ishlatilganda esa o‘ng tomonga bo‘sh joylar qo‘shiladi.
  • .precision Ixtiyoriy. Formatlangan ma’lumotda kasr qismidan nechta raqam ko‘rsatilishini bildiruvchi, ortidan butun son keladigan . belgisi.
  • conversion - Majburiy. Argument ma’lumotlari qanday ko‘rinishda ifodalanishini bildiruvchi belgi. Agar belgi katta harf bo‘lsa, ma’lumotlar imkon qadar katta harflarda formatlanadi. Mumkin bo‘lgan belgilar ro‘yxati quyidagi jadvalda keltirilgan.

Konversiyalar ro‘yxati

Character Konversiya Tavsif
% Foiz Natijada "%" belgisini aynan o‘zicha chiqaradi.
n Yangi qator Natijada qator uzilishini (yangi qatorni) chiqaradi.
b yoki B Boolean Argumentning boolean qiymatini "true" yoki "false" ko‘rinishida chiqaradi. Agar "B" ishlatilsa, buning o‘rniga "TRUE" yoki "FALSE" chiqaradi.
c yoki C Unicode belgisi Argumentni Unicode belgisi ko‘rinishida chiqaradi. Butun sonlar uchun bu songa mos keladigan Unicode belgisi bo‘ladi. Agar "C" ishlatilsa, belgi imkon qadar katta harfga o‘giriladi.
s yoki S String Argumentning standart string ko‘rinishini chiqaradi. Agar "S" ishlatilsa, string imkon qadar katta harflarga o‘giriladi.
d O‘nlik butun son Butun sonni o‘nlik butun son sifatida ifodalaydi.
h yoki H Ishorasiz o‘n oltilik butun son Argumentning ikkilik ma’lumotlarini ishorasiz o‘n oltilik butun son sifatida ifodalaydi. Agar "H" ishlatilsa, A dan F gacha bo‘lgan raqamlar katta harflarda ko‘rsatiladi.

Eslatma: Musbat butun sonlardan boshqa har qanday ma’lumot uchun bu uning haqiqiy qiymatini ifodalamaydi.

o Sakkizlik butun son Butun sonni sakkizlik butun son sifatida ifodalaydi. "#" bayrog‘i son oldiga "0" qo‘shadi.
x yoki X O‘n oltilik butun son Butun sonni o‘n oltilik butun son sifatida ifodalaydi. "#" bayrog‘i son oldiga "0x" qo‘shadi. Agar "X" ishlatilsa, A dan F gacha bo‘lgan raqamlar va X harfi katta harfda ko‘rsatiladi.
e yoki E Ilmiy yozuv Suzuvchi nuqtali sonni ilmiy yozuvda ifodalaydi. Agar "E" ishlatilsa, ifodadagi "E" harfi katta harfda bo‘ladi. "#" bayrog‘i kasr raqamlari bo‘lmasa ham o‘nlik nuqtani majburan qo‘yadi.
f Suzuvchi nuqtali son Suzuvchi nuqtali sonni ifodalaydi. "#" bayrog‘i kasr raqamlari bo‘lmasa ham o‘nlik nuqtani majburan qo‘yadi.
g yoki G Umumiy son Suzuvchi nuqtali son uchun f hamda e yoki E ko‘rinishlaridan eng qisqasini chiqaradi.
a yoki A O‘n oltilik suzuvchi nuqtali son Suzuvchi nuqtali sonning ichki ko‘rinishini o‘n oltilik raqamlar bilan chiqaradi.
t yoki T Vaqt yoki sana Formatlangan sana yoki vaqtni chiqaradi. t yoki T dan keyin sana yoki vaqt qanday formatlanishi kerakligini bildiruvchi yana bitta belgi kelishi shart. Agar "T" ishlatilsa, sana yoki vaqtning "JANUARY" kabi matnli qismlari katta harflarda bo‘ladi.

Sana va vaqtni formatlash uchun quyidagi belgilardan foydalanish mumkin:

  • H - soatning 24 soatlik formati (00 dan 23 gacha)
  • I - soatning 12 soatlik formati (01 dan 12 gacha)
  • k - soatning 24 soatlik formati (0 dan 23 gacha)
  • l (kichik 'L' harfi) - soatning 12 soatlik formati (1 dan 12 gacha)
  • M - boshida nol bilan yozilgan daqiqalar (00 dan 59 gacha)
  • S - boshida nol bilan yozilgan soniyalar (00 dan 59 gacha) (kabisa soniyalari uchun 60 qiymati ham uchrashi mumkin)
  • L - boshida nollar bilan yozilgan millisoniyalar (000 dan 999 gacha)
  • N - boshida nollar bilan yozilgan nanosoniyalar (000000000 dan 999999999 gacha)
  • p - tushgacha yoki tushdan keyinni bildiruvchi "am", "pm", "AM" yoki "PM"
  • z - Grinvich vaqtiga nisbatan farq (Misol: -0800)
  • Z - vaqt mintaqasi qisqartmalari (Misollar: EST, MDT)
  • s - Unix davri boshidan (1970-yil 1-yanvar 00:00:00 GMT) beri o‘tgan soniyalar
  • Q - Unix davri boshidan (1970-yil 1-yanvar 00:00:00 GMT) beri o‘tgan millisoniyalar
  • B - oyning to‘liq matnli ko‘rinishi (January dan December gacha)
  • b yoki h - oyning qisqa matnli ko‘rinishi (uch harf)
  • A - hafta kunining to‘liq matnli ko‘rinishi (Misol: Monday)
  • a - hafta kunining qisqa matnli ko‘rinishi (Misol: Mon)
  • C - yilning dastlabki ikki raqami (1970 uchun "19" ko‘rsatiladi)
  • Y - yilning to‘rt xonali ko‘rinishi
  • y - yilning ikki xonali ko‘rinishi
  • j - boshida nollar bilan yozilgan yilning kuni (001 dan 366 gacha)
  • m - oyning raqamli ko‘rinishi (01 dan 12 gacha)
  • d - oyning kuni (01 dan 31 gacha)
  • e - boshida nolsiz yozilgan oyning kuni (1 dan 31 gacha)
  • R - 24 soatlik formatdagi vaqt (Misol: 21:30)
  • T - 24 soatlik formatdagi, soniyalari bilan vaqt (Misol: 21:30:02)
  • r - 12 soatlik formatdagi, soniyalari bilan vaqt (Misol: 09:30:02 PM) ("AM" va "PM" har doim katta harflarda)
  • D - oy/kun/yil ko‘rinishidagi sana (Misol: 12/17/23)
  • F - yil-oy-kun ko‘rinishidagi sana (Misol: 2023-12-17)
  • c - to‘liq sana va vaqt (Misol: Thu Mar 28 10:51:00 EDT 2024)


Sintaksis

System.out.printf(locale, formatString, args)

Parametr qiymatlari

Parametr Tavsif
locale Ixtiyoriy. Formatlashning ayrim jihatlarini, masalan, o‘nlik nuqta va guruh ajratuvchilari uchun qaysi belgilar ishlatilishini aniqlashda qo‘llaniladigan lokal.
formatString Majburiy. Qo‘shimcha argumentlarni qanday formatlashni bildiruvchi joy egalarini o‘z ichiga olgan string
args Ixtiyoriy. Metodga uzatiladigan istalgan miqdordagi qo‘shimcha argumentlar; ularning qiymatlari formatlanib, formatString ichida ko‘rsatilishi mumkin.

Texnik tafsilotlar

Qaytaradi: PrintStream obyekti.
Istisno chiqaradi: IllegalFormatException - agar format stringida noto‘g‘ri joy egasi bo‘lsa yoki joy egasi argumentning ma’lumot tipiga mos kelmasa.
Java versiyasi: 1.5

Ko‘proq misollar

Misol

String va butun sonni o‘z ichiga olgan formatlangan matnni chiqaring:

System.out.printf("Hello %s! One kilobyte is %,d bytes.", "World", 1024);

O‘zingiz sinab ko‘ring »

Misol

Suzuvchi nuqtali sonni turli usullarda formatlang:

// Default
System.out.printf("%f%n", 123456.78);

// Two decimal digits
System.out.printf("%.2f%n", 123456.78);

// No decimal digits
System.out.printf("%.0f%n", 123456.78);

// No decimal digits but keep the decimal point
System.out.printf("%#.0f%n", 123456.78);

// Group digits
System.out.printf("%,.2f%n", 123456.78);

// Scientific notation with two digits of precision
System.out.printf("%.2e", 123456.78);

O‘zingiz sinab ko‘ring »

Misol

Barcha komponentlardan foydalanadigan joy egasi:

System.out.printf("%2$,3.2f %1$s", "meters", 1260.5052);

%2$,3.2f joy egasining har bir qismi quyidagicha ishlaydi:

  • 2$ ikkinchi argument qiymati ishlatilishini bildiradi
  • , raqamlar guruhlanishi kerakligini bildiradi (odatda minglar bo‘yicha)
  • 3 ma’lumot ko‘rinishi kamida 3 belgi uzunlikda bo‘lishi kerakligini bildiradi
  • .2 o‘nlik nuqtadan keyin ikki raqam bo‘lishi kerakligini bildiradi
  • f ma’lumot suzuvchi nuqtali son sifatida ifodalanishini bildiradi

O‘zingiz sinab ko‘ring »

Misol

Argumentlardan boshqa tartibda foydalaning:

System.out.printf("%3$c %2$c %1$c", 'a', 'b', 'c');

O‘zingiz sinab ko‘ring »

Misol

Unix vaqt belgisidan (timestamp) sanani formatlang:

long date = 1711638903488L; // Unix timestamp (number of milliseconds since January 1, 1970)

// Time
System.out.printf("%tl:%<tM %<tp%n", date);

// Month and day
System.out.printf("%tB %<te%n", date);

// Full date representation
System.out.printf("%tc%n", date);

O‘zingiz sinab ko‘ring »

Misol

Belgilarni ularning Unicode kod nuqtalari orqali ifodalang:

// Represent characters from their unicode code points
System.out.printf("%c%c%c%c%c%n", 72, 101, 108, 108, 111);

// Force unicode characters to uppercase
System.out.printf("%C%C%C%C%C", 72, 101, 108, 108, 111);

O‘zingiz sinab ko‘ring »


❮ Chiqarish metodlari

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!