Αρ

Αριθμοί σε Java

36 ασκήσεις

Σχετικά με την έννοια Αριθμοί

Ένα από τα βασικά σημεία όταν δουλεύεις με αριθμούς στη Java είναι η διάκριση ανάμεσα στους ακέραιους (αριθμούς χωρίς ψηφία μετά την υποδιαστολή) και τους αριθμούς κινητής υποδιαστολής (αριθμούς με μηδέν ή περισσότερα ψηφία μετά την υποδιαστολή).

Η Java διαθέτει και άλλους τύπους δεδομένων εκτός από τους int και double:

// 8-Bit Integer
byte   a = 127;

// 16-Bit Integer
short  b = 262143;

// 64-Bit Integer
long   d = 18446744073709551999L;

// 32-bit Single-Precision Floating-Point
float  e = 5409.29f;

Τόσο οι ακέραιοι όσο και οι αριθμοί κινητής υποδιαστολής μπορούν να χρησιμοποιούν τον χαρακτήρα _ ως διαχωριστικό ψηφίων, κάτι που βοηθάει όταν ορίζεις μεγάλους αριθμούς:

int largeInt = 1_000_000;
// => 1000000

double largeDouble = 9_876_543.21;
// => 9876543.21

Οι αριθμητικές πράξεις γίνονται με τους καθιερωμένους αριθμητικούς τελεστές (+, -, *, κ.λπ.). Οι αριθμοί μπορούν να συγκριθούν με τους καθιερωμένους τελεστές σύγκρισης (<, >=, κ.λπ.), καθώς και με τον τελεστή ισότητας (==) και τον τελεστή ανισότητας (!=).

5 * 6
// => 30

1.2 > 0.8
// => true

120 == 100
// => false

2 != 4
// => true

Όταν μετατρέπεις ανάμεσα σε αριθμητικούς τύπους, υπάρχουν δύο είδη αριθμητικών μετατροπών:

  1. Έμμεσες μετατροπές: δεν χάνονται δεδομένα και δεν απαιτείται επιπλέον σύνταξη.
  2. Ρητές μετατροπές: ενδέχεται να χαθούν δεδομένα και απαιτείται επιπλέον σύνταξη με τη μορφή ενός cast.

Επειδή ο int έχει μικρότερη ακρίβεια από τον double, η μετατροπή από int σε double είναι ασφαλής και αποτελεί έμμεση μετατροπή. Ωστόσο, η μετατροπή από double σε int μπορεί να σημαίνει απώλεια δεδομένων, οπότε απαιτεί ρητή μετατροπή.

int i = 9;
double d = 2.72;

// Safe conversion, thus implicit conversion
double fromInt = i;

// Potentially unsafe conversion, thus explicit conversion
int fromDouble = (int)d;
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Αριθμοί