java double tutorial with programming examples
Αυτό το σεμινάριο θα εξηγήσει τον πρωτόγονο τύπο δεδομένων Java Double. Θα συζητήσουμε επίσης σχετικές τάξεις όπως το Java BigDecimal και το DecimalFormat Class με παραδείγματα:
Σε αυτό το σεμινάριο, θα διερευνήσουμε τον διπλό τύπο δεδομένων με τη βοήθεια παραδειγμάτων σύνταξης και προγραμματισμού.
Η μορφή δεκαδικού Java και τα μεγάλα δεκαδικά τμήματα εξηγούνται εδώ με μερικές συχνές ερωτήσεις που θα σας βοηθήσουν να κατανοήσετε καθαρά τον τύπο διπλού δεδομένων.
=> Ρίξτε μια ματιά στον Οδηγό για αρχάριους Java εδώ.
Τι θα μάθετε:
Πρωτόγονοι τύποι Java
Όπως όλοι γνωρίζουμε, η Java έχει οκτώ πρωτόγονους τύπους, δηλαδή int, short, long, byte, float, double, char και boolean. Το Java double είναι ένας από τους πρωτόγονους τύπους δεδομένων του οποίου το πλάτος και το εύρος είναι περισσότερο από float.
Πρωτόγονοι τύποι | Πλάτος (bits) | Εύρος |
---|---|---|
διπλό | 64 | 4.9e-324 έως 1.8e + 308 |
Java Double
Το Java double χρησιμοποιείται για την αναπαράσταση αριθμών κινητής υποδιαστολής. Χρησιμοποιεί 64 bit για να αποθηκεύσει μια μεταβλητή τιμή και έχει εύρος μεγαλύτερη από τον τύπο float.
Σύνταξη:
// square root variable is declared with a double type. double sqrt;
Διπλό παράδειγμα Java
Σε αυτό το παράδειγμα, υπολογίζουμε την τετραγωνική ρίζα της περιοχής ενός ορθογωνίου. Έχουμε πάρει το μήκος και το πλάτος ως ακέραιο και υπολογίσαμε την περιοχή που είναι τύπου ακέραιος.
Καθώς η τετραγωνική ρίζα είναι πιο πιθανό να σας δώσει δεκαδική τιμή, δηλώσαμε τη μεταβλητή Area_sqrt ως διπλή και υπολογίσαμε την τετραγωνική ρίζα.
public class doubleExample { public static void main(String[] args) { int length=15, breadth=25; int area; area = length*breadth; // calculating area of the rectangle System.out.println('Area of rectangle is ' + area); // declared a varibale which will store the square root double Area_sqrt; // calculating square root of Area of the rectangle Area_sqrt = Math.sqrt(area); System.out.println('Square root of area is ' +Area_sqrt); } }
Παραγωγή
Java DecimalFormat
Η Java έχει μια ειδική τάξη που ονομάζεται DecimalFormat που χρησιμοποιείται για τη μορφοποίηση των αριθμών. Αυτή η μορφοποίηση είναι προσαρμόσιμη.
Στο παρακάτω παράδειγμα, έχουμε ορίσει ένα μοτίβο οριοθετημένο με κόμμα «,» και έναν δεκαδικό αριθμό τύπου διπλό. Χρησιμοποιώντας αυτό το μοτίβο ή μορφή, θα εμφανίσουμε τον αριθμό εισαγωγής μας.
Έχουμε περάσει το μοτίβο στην κλάση δεκαδικών μορφών και διαμορφώσαμε την έξοδο χρησιμοποιώντας την αναφορά «df».
import java.text.DecimalFormat; public class ExampleFormat { public static void main(String[] args) { // defining a format in which number will be displayed String formatter = '##,###,###.##'; // initialized the decimal number double num = 12345678.12; // passed the pattern into the Decimal format class DecimalFormat df = new DecimalFormat(formatter); // printed the formatted number System.out.println('The formatted number is: ' +df.format(num)); } }
Παραγωγή
Java BigDecimal
Αυτή είναι και πάλι μια ειδική κλάση Java που παρέχει απλές αριθμητικές λειτουργίες στον αριθμό (προσθήκη, αφαίρεση, πολλαπλασιασμός και διαίρεση), στρογγυλοποίηση του αποτελέσματος, μετατροπή μορφής και ούτω καθεξής.
Ας δούμε το παρακάτω παράδειγμα για να το κατανοήσουμε καλύτερα.
Στρογγυλοποίηση του αριθμού
διαφορά μεταξύ αριστερού συνδέσμου και αριστερού εξωτερικού συνδέσμου στο sql
Στο παρακάτω παράδειγμα, έχουμε δείξει τη διαφορά μεταξύ της απλής αφαίρεσης δεκαδικού και της αφαίρεσης μέσω της κατηγορίας Big-Decimal.
Έχουμε ξεκινήσει δύο διπλές μεταβλητές και υπολογίσαμε τη διαφορά μεταξύ των τιμών τους. Και πάλι ξεκινήσαμε δύο μεταβλητές χρησιμοποιώντας την κατηγορία Big-Decimal με την ίδια τιμή και υπολογίσαμε τη διαφορά τους.
Τέλος, εκτυπώσαμε και τις δύο τιμές και μπορείτε να δείτε τη διαφορά μεταξύ τους. Η υπολογισμένη τιμή του Big Decimal στρογγυλοποιήθηκε αυτόματα.
import java.math.BigDecimal; public class example { public static void main(String[] args) { // Initialized two double numbers double length1 = 1.06; double breadth1 = 1.07; // Subtracting length and breadth double sub = breadth1-length1; System.out.println('Simple Subtraction = ' +sub); // Initialized two big decimal numbers with same value BigDecimal length2 = new BigDecimal('1.06'); BigDecimal breadth2 = new BigDecimal('1.07'); // Subtracting length and breadth length2 = breadth2.subtract(length2); System.out.println('Big Decimal Subtraction = ' + length2); } }
Παραγωγή
καλύτερο δωρεάν καθαριστικό για τα παράθυρα 10
Συχνές Ερωτήσεις
Q # 1) Πόσα byte παίρνει ένας διπλός τύπος;
Απάντηση: 8 byte.
Q # 2) Τι είναι το MathContext στην Java;
Απάντηση: Το MathContext είναι μια τάξη στην Java που καθορίζει τη λειτουργία αριθμού στρογγυλοποίησης και την ακρίβεια. Παρέχει αμετάβλητα αντικείμενα και είναι επίσης υπεύθυνο για την επιβολή ορισμένων κανόνων για τους χειριστές που εφαρμόζονται από την κατηγορία Big Decimal.
Οι κανόνες είναι:
RoundingMode.CEILING,
RoundingMode.DOWN,
RoundingMode.FLOOR,
RoundingMode.UP
Στο παρακάτω παράδειγμα, έχουμε αρχικοποιήσει μια διπλή μεταβλητή και έχουμε ορίσει διαφορετικούς κανόνες στρογγυλοποίησης των ψηφίων. Αυτό λειτουργεί σύμφωνα με τον προσδιοριστή εξόδου που έχουμε περάσει.
Για παράδειγμα, Στην πρώτη δήλωση εκτύπωσης, υπολογίζουμε τη λειτουργία οροφής όπου έχουμε περάσει το «3» ως προσδιοριστής εξόδου. Αυτό σημαίνει ότι η έξοδος θα έχει τρία ψηφία. Ομοίως, στην τελευταία δήλωση, περάσαμε το «1», οπότε η έξοδος θα περιέχει 1 ψηφίο.
import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; public class example { public static void main(String[] args) { double d = 3.14; // Rounded off to the upper limit, the output will contain 3 digit System.out.println(new BigDecimal(d, new MathContext(3, RoundingMode.CEILING))); // Rounded off to the lower limit, the output will contain 3 digit System.out.println(new BigDecimal(d, new MathContext(3, RoundingMode.DOWN))); /* * Rounded off to the previous integer (discards the decimal value) * The output will contain 1 digit */ System.out.println(new BigDecimal(d, new MathContext(1, RoundingMode.FLOOR))); /* * Rounded off to the next integer (discards the decimal and increments integer) * The output will contain 1 digit */ System.out.println(new BigDecimal(d, new MathContext(1, RoundingMode.UP))); } }
Παραγωγή
Q # 3) Είναι το Java Big Decimal αμετάβλητο;
Απάντηση: Ναί. Κάθε φορά που κάνουμε μια συγκεκριμένη λειτουργία στο Big Decimal, επιστρέφουν ένα νέο αντικείμενο αντί να τροποποιούν τα ήδη δημιουργημένα αντικείμενα.
Q # 4) Ποια είναι η διαφορά μεταξύ float και double;
Απάντηση: Παρακάτω αναφέρονται οι διαφορές μεταξύ float και double.
Φλοτέρ | Διπλό |
---|---|
Αντιπροσωπεύει αριθμούς μίας ακρίβειας. | Αντιπροσωπεύει αριθμούς διπλής ακρίβειας. |
Το πλάτος είναι 32 bits και το εύρος είναι 1.4e – 045 έως 3.4e + 038 | Το πλάτος είναι 64 bit και το εύρος είναι 4,9e – 324 έως 1,8e + 308 |
Περιέχει 7 ψηφία. | Περιέχει μεταξύ 15-16 ψηφίων. |
Χρήσιμο σε πράξεις μετατροπής νομίσματος. | Χρήσιμο στο sin (), cos (), sqrt () καθώς ο τύπος επιστροφής είναι διπλός. |
Αργότερη από διπλή ακρίβεια. | Στον σύγχρονο επεξεργαστή που έχει κατασκευαστεί για να εκτελεί μεγάλες μαθηματικές λειτουργίες, η διπλή ακρίβεια είναι πολύ πιο γρήγορη. |
Q # 5) Τι είναι ένα μάθημα μαθηματικών;
Απάντηση: Μια τάξη μαθηματικών είναι μια τάξη στην Java που περιέχει όλες τις μεθόδους που χρησιμοποιούνται σε μαθηματικές λειτουργίες. Έχει δύο διπλές σταθερές, δηλαδή E (2.72) και pi (3.14).
Για παράδειγμα, sin (), cos (), μαύρισμα () μέθοδοι τριγωνομετρίας. sqrt (), log (), pow () μεθόδους εκθετικής. Ένα παράδειγμα προγραμματισμού στο pow () καλύπτεται ήδη παραπάνω (Java διπλό παράδειγμα).
συμπέρασμα
Σε αυτό το σεμινάριο, εξηγήσαμε τον διπλό πρωτόγονο τύπο με ένα κατάλληλο παράδειγμα. Έχουμε συμπεριλάβει επίσης DecimalFormat και BigDecimal Java με προγράμματα.
Συχνές ερωτήσεις περιλαμβάνονται επίσης σε διάφορους τομείς του διπλού τύπου όπως εύρος, πλάτος, μέγεθος, τάξη μαθηματικών κ.λπ.
Με τη μετάβαση σε αυτό το σεμινάριο, θα μπορείτε να κατανοήσετε λεπτομερώς τον διπλό τύπο και θα μπορείτε να χρησιμοποιήσετε αυτές τις έννοιες γράφοντας τη δική σας λογική στις αριθμητικές πράξεις.
=> Διαβάστε μέσω της σειράς Easy Java Training.
Συνιστώμενη ανάγνωση
- Java Float Tutorial με παραδείγματα προγραμματισμού
- Το Java String περιέχει () Μέθοδος Εκμάθησης με Παραδείγματα
- Java Integer και Java BigInteger Class με παραδείγματα
- Εκμάθηση συμβολοσειράς Java | Μέθοδοι συμβολοσειράς Java με παραδείγματα
- Java Reverse String: Tutorial με παραδείγματα προγραμματισμού
- Java substring () Μέθοδος - Εκμάθηση με παραδείγματα
- Ternary Operator In Java - Εκμάθηση με παραδείγματα
- Jagged Array In Java - Εκμάθηση με παραδείγματα