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 12:41]
gthanos [Μορφοποίηση Εξόδου]
Line 1: Line 1:
-Τα stream ​αντικείμενα ​ που εφαρμόζουν ​formatting ​είναι περιπτώσεις είτε ​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)