Aiemmin näit käyttö print
ja println
menetelmät tulostus jouset standard output (System.out
). Koska kaikki numerot voi olla muuntaa jousille (kuten näette myöhemmin tällä oppitunnilla), voit käyttää näitä menetelmiä tulostaa mielivaltaisen sekoitus merkkijonoja ja numeroita., Java-ohjelmointikielellä on kuitenkin muita menetelmiä, joiden avulla voit hallita tulostettasi huomattavasti enemmän, kun numerot ovat mukana.
printf ja muodon Menetelmät
java.io
paketti sisältää PrintStream
luokka, joka on kaksi muotoilun menetelmiä, joita voit käyttää korvata print
ja println
. Nämä menetelmät, format
ja printf
, vastaavat toisiaan., Tuttu System.out
, joka on ollut käytössä sattuu olemaan PrintStream
objekti, joten voit vedota PrintStream
menetelmiä System.out
. Näin voit käyttää format
tai printf
tahansa koodi, jos sinulla on aiemmin ollut käytössä print
tai println
., Esimerkiksi,
System.out.format(.....);
syntaksi nämä kaksi java.io.PrintStream
menetelmät on sama:
public PrintStream format(String format, Object... args)
jossa format
on merkkijono, joka määrittää muotoilua käytetään ja args
on luettelo muuttujat voidaan tulostaa käyttäen, että alustaminen. Yksinkertainen esimerkki olisi,
ensimmäinen parametri, format
, on string-muodossa, jossa täsmennetään, miten esineet toinen parametri, args
, ovat alustamaan., Muotoile merkkijono sisältää pelkkää tekstiä sekä muoto suunnittelijat, jotka ovat erityisiä merkkejä, jotka muodossa väitteet Object... args
. (Notaatio Object... args
on nimeltään varargs, jolloin argumenttien määrä voi vaihdella.)
formaatin määrittelyt alkavat prosenttimerkillä (%) ja päättyvät muuntimella. Muunnin on merkki, joka ilmaisee muotoiltavan argumentin tyypin. Prosenttimerkin (%) ja muuntimen välissä voi olla valinnaisia lippuja ja tarkennuksia., On olemassa monia muuntimet, liput, ja suunnittelijat, jotka on dokumentoitu java.util.Formatter
Tässä on perus esimerkki:
int i = 461012;System.out.format("The value of i is: %d%n", i);
%d
määrittää, että yksittäinen muuttuja on kymmenjärjestelmän kokonaisluku. %n
on alustariippumaton newline-merkki. Tuotos on:
The value of i is: 461012
printf
ja format
menetelmät ovat ylikuormitettuja., Jokaisella on versio, jossa on seuraava syntaksi:
public PrintStream format(Locale l, String format, Object... args)
tulostaa numerot, ranskan järjestelmä (jossa käytetään pilkkua sijasta desimaalin tarkkuudella englanti edustus liukulukuja), esimerkiksi, voit käyttää:
Esimerkki
seuraavassa taulukossa luetellaan joitakin muuntimet ja liput, joita käytetään näyte-ohjelman, TestFormat.java
, joka seuraa pöydän.,
Converter | Flag | Explanation |
---|---|---|
d | A decimal integer. | |
f | A float. | |
n | A new line character appropriate to the platform running the application. You should always use %n , rather than \n ., |
|
tt | päivämäärä & aika muuntaminenlocale-erityisiä koko nimi kuussa. | |
td, te – | päivämäärä & aika muuntaminen2-numeroinen kuukauden päivä. td johtaa tarvittaessa nollia, te ei. | |
ty, tY | päivämäärä & aika muuntaminenty = 2-numeroinen vuotta, tY = 4-numeroinen vuosi. | |
tl | päivämäärä & aika muuntaminentunnin ja 12-tunnin kello., | |
tM | päivämäärä & aika muuntaminenminuuttia 2 numeroa, johtavien nollia tarpeen mukaan. | |
tp | päivämäärä & aika muuntaminenlocale-erityisiä am/pm (lower case). | |
tm | päivämäärä & aika muuntaminenkuukautta 2 numeroa, johtavien nollia tarpeen mukaan., | |
tD | A date & time conversiondate as %tm%td%ty | |
08 | Eight characters in width, with leading zeroes as necessary. | |
+ | Includes sign, whether positive or negative. | |
, | Includes locale-specific grouping characters. | |
– | Left-justified.. | |
.3 | Three places after decimal point. | |
10.,3 | kymmenen merkkiä leveydeltään oikeaoppisesti, kolme desimaalin tarkkuudella. |
seuraava ohjelma osoittaa joitakin muotoilu, että voit tehdä format
. Lähtö on osoittaneet sisällä lainausmerkkeihin upotettu kommentti:
format
ja printf
menetelmiä. Tarkemmin löytyy Basic I/O
osa Välttämättömiä trail, vuonna ”Alustaminen” sivulla.,String.format
merkkijonojen luomiseen käytetään merkkijonoja. Ja DecimalFormat Luokan
Voit käyttää java.text.DecimalFormat
class hallita näytön johtava ja perään nollia, etuliitteitä ja päätteitä, ryhmittely (tuhansia) erotin ja desimaalierotin. DecimalFormat
tarjoaa paljon joustavuutta muotoilua numerot, mutta se voi tehdä koodia enemmän monimutkainen.,
seuraava esimerkki luo DecimalFormat
objekti myFormatter
, johtamalla kuvio merkkijono DecimalFormat
rakentaja., format()
menetelmä, jossa DecimalFormat
perii NumberFormat
, sitten vedonneet myFormatter
se hyväksyy double
arvo argumenttina ja palauttaa alustettu numero, merkkijono:
Tässä on näyte ohjelma, joka havainnollistaa käyttöä DecimalFormat
:
lähtö on:
123456.789 ###,###.### 123,456.789123456.789 ###.## 123456.79123.78 000000.000 000123.78012345.67 $###,###.### $12,345.67
seuraava taulukko kertoo kunkin rivin tuotoksen.