java:formatting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
java:formatting [2015/02/26 19:22]
elkarafe created
java:formatting [2015/03/10 11:23]
gthanos [Η Μέθοδος format]
Line 1: Line 1:
-Τα stream αντικείμενα ​ που εφαρμόζουν ​formatting ​είναι περιπτώσεις είτε PrintWriter,​ μια κλάση stream χαρακτήρων,​ ή PrintStream,​ μια κλάση ​byte stream ​.+====== Μορφοποίηση Εξόδου ====== 
 + 
 +Τα stream αντικείμενα που εφαρμόζουν ​μορφοποίηση ​είναι περιπτώσεις είτε ​//PrintWriter// (κλάση stream χαρακτήρων)ή //​PrintStream//​ (κλάση byte stream). 
 + 
 +**Σημείωση**:​ Τα μόνα //​PrintStream//​ αντικείμενα που είναι πιθανό να χρειαστείτε είναι τα //​System.out// ​και //​System.err//​. Όταν χρειάζεται να δημιουργήσετε ενα διαμορφωμένο ​stream ​εξόδου,​ χρησιμοποιήστε //​PrintWriter//,​ και όχι //​PrintStream//​.  
 + 
 +Όπως όλα τα αντικείμενα streams byte και ​χαρακτήρων, ​περιπτώσεις //​PrintStream//​ και //​PrintWriter//​ εφαρμόζουν ένα τυποποιημένο σύνολο μεθόδων εγγραφής για απλή έξοδο byte και χαρακτήρα. Επιπλέον,​ τόσο η //PrintStream// όσο και η //​PrintWriter//​ εφαρμόζουν το ίδιο σύνολο μεθόδων για τη μετατροπή των εσωτερικών δεδομένων σε μορφοποιημένη έξοδο. Δύο επίπεδα μορφοποίησης παρέχονται:​ 
 + 
 +  * To //print// και //println// μορφοποιεί μεμονωμένες τιμές σε έναν τυποποιημένο τρόπο. 
 +  * Το //format// μορφοποιεί σχεδόν οποιοδήποτε πλήθος τιμών βασισμένο σε ενα string μορφής, με πολλές επιλογές για την ​ακριβή μορφοποίηση. 
 + 
 +==== Οι print και println Μέθοδοι ==== 
 + 
 +Η κλήση των //print// ή //println// εξάγει μια μοναδική τιμή αφού μετατρέψει την τιμή χρησιμοποιώντας την κατάλληλη μέθοδο //​toString//​Μπορούμε να δούμε αυτό το παράδειγμα //Root//: 
 + 
 +<code java Root.java>​ 
 +public class Root { 
 +    public static void main(String[] args) { 
 +        int i = 2; 
 +        double r = Math.sqrt(i);​ 
 +         
 +        System.out.print("​The square root of "); 
 +        System.out.print(i);​ 
 +        System.out.print("​ is "); 
 +        System.out.print(r);​ 
 +        System.out.println("​."​);​ 
 + 
 +        i = 5; 
 +        r = Math.sqrt(i);​ 
 +        System.out.println("​The square root of " + i + " is " + r + "​."​);​ 
 +    } 
 +
 +</​code>​ 
 + 
 +Αυτή είναι η έξοδος της Root: 
 + 
 +<code java> 
 +The square root of 2 is 1.4142135623730951. 
 +The square root of 5 is 2.23606797749979. 
 +</​code>​ 
 + 
 +Οι μεταβλητές //i// και //r// διαμορφώθηκαν δύο φορές: την πρώτη φορά, χρησιμοποιώντας κώδικα σε μια υπερφόρτωση της print, τη δεύτερη φορά με κώδικα μετατροπής που δημιουργήθηκε αυτόματα από το μεταγλωττιστή της Java, ο οποίος επίσης χρησιμοποιεί την //​toString//​. Μπορείτε να διαμορφώσετε οποιαδήποτε τιμή με αυτόν τον τρόπο, αλλά εδώ δεν έχετε πολύ τον έλεγχο των αποτελεσμάτων. 
 + 
 +==== Η Μέθοδος format ==== 
 + 
 +Η μέθοδος //format// μορφοποιεί πολλαπλά στοιχεία που βασίζονται σε ενα //string// μορφής. Το string μορφής αποτελείται από //static// κείμενο με ενσωματωμένα προσδιοριστικά μορφής. Εκτός των προσδιοριστικών μορφής,​ το string μορφής είναι αμετάβλητο της εξόδου. 
 + 
 +Τα //strings// μορφής υποστηρίζουν πολλές δυνατότητες. Εδώ, θα καλύψουμε μόνο κάποια βασικά. 
 + 
 +Το παράδειγμα //Root2// μορφοποιεί δύο τιμές με μία μόνο κλήση της //​format//:​ 
 + 
 +<code java Root2.java>​ 
 +public class Root2 { 
 +    public static void main(String[] args) { 
 +        int i = 2; 
 +        double r = Math.sqrt(i);​ 
 +         
 +        System.out.format("​The square root of %d is %f.%n",​ i, r); 
 +    } 
 +
 +</​code>​ 
 + 
 +Αυτή είναι η έξοδος:​ 
 +<code java> 
 +The square root of 2 is 1.414214. 
 +</​code>​ 
 + 
 +Όπως και τα τρία που χρησιμοποιούνται σε αυτό το παράδειγμα,​ όλα τα προσδιοριστικά μορφής αρχίζουν με ένα % και τελειώνουν με μια μετατροπή 1- ή 2- χαρακτήρων που καθορίζει το είδος της μορφοποιημένης εξόδου που παράγεται. Οι τρεις μετατροπές που χρησιμοποιήθηκαν εδώ είναι:​ 
 + 
 +  * το d μορφοποιεί μια τιμή integer ως μια δεκαδική τιμή. 
 +  * το f μορφοποιεί μια floating point τιμή ως μια δεκαδική τιμή. 
 +  * το n εξάγει έναν platform-specific τερματιστή γραμμής . 
 + 
 +Εδώ είναι κάποιες άλλες μετατροπές: ​  
 + 
 +  * το x μορφοποιεί έναν integer ως μια δεκαεξαδική τιμή.  
 +  * το s μορφοποιεί κάθε τιμή σε ένα string. 
 +  * το tB μορφοποιεί έναν integer σε ένα locale-specific όνομα μήνα. 
 + 
 +|Προηγούμενο:​ [[:​java:​character_streams | Streams Χαρακτήρων]]| Επόμενο:​ [[:​java:​class_path | Η κλάση Path ]] | 
  
-Σημείωση:​ Τα μόνα PrintStream αντικείμενα που είναι πιθανό να χρειαστείτε είναι τα System.out και System.err. ​ Όταν χρειάζεται να δημιουργήσετε ενα διαμορφωμένο stream εξόδου,​ χρεισημοποιήστε PrintWriter,​ οχι PrintStream. 
java/formatting.txt · Last modified: 2016/02/26 11:15 (external edit)