1. doubleप्रकार

Java doubleवास्तविक (अपूर्णांक) संख्यांसह कार्य करण्यासाठी प्रकार प्रदान करते. ते 8 bytesमेमरीमध्ये व्यापलेले आहे (प्रकारापेक्षा दुप्पट ) आणि ते intश्रेणीमध्ये मूल्ये संचयित करू शकतात . तुलनेसाठी: प्रकार पासून ते श्रेणीमध्ये मूल्य संचयित करू शकतो .-1.7*10308+1.7*10308int-2*109+2*109

वास्तविक संख्यांमध्ये, अंशात्मक भाग दशांश बिंदू नंतर लिहिला जातो. उदाहरणार्थ, 123.456, किंवा 2.5, किंवा 100.00, किंवा 0.01. जेव्हा संगणक अशा संख्यांशी व्यवहार करतो तेव्हा आपण त्यांना फ्लोटिंग पॉइंट नंबर म्हणतो.

तसे, प्रकाराव्यतिरिक्त double, आमच्याकडे floatप्रकार देखील आहे (जे आकारात फक्त 4 बाइट्स आहे). त्याचे नाव फ्लोटिंग पॉइंटवरून आले आहे . आणि हे नाव डबल फ्लोटवरूनdouble आले आहे . A पेक्षा दुप्पट मोठा आहे : विरुद्ध . त्याला दुहेरी अचूक फ्लोटिंग-पॉइंट नंबर देखील म्हणतात .doublefloat8 bytes4


2. एक doubleप्रकार तयार करणे

दुहेरी प्रकार वास्तविक संख्या संग्रहित करण्यासाठी वापरला जातो. कोडमध्ये एक व्हेरिएबल तयार करण्यासाठी जे वास्तविक संख्या संचयित करू शकते, तुम्हाला असे विधान वापरावे लागेल:

double name;
एक doubleप्रकार तयार करणे

जेथे नाव हे व्हेरिएबलचे नाव आहे. उदाहरणे:

विधान वर्णन
double price;
वास्तविक priceव्हेरिएबल तयार केले आहे
double weight;
वास्तविक weightव्हेरिएबल तयार केले आहे
double lightSpeed;
वास्तविक lightSpeedव्हेरिएबल तयार केले आहे

प्रकाराप्रमाणे int, तुम्ही एकाच वेळी अनेक व्हेरिएबल्स तयार करण्यासाठी शॉर्टहँड वापरू शकता double:

double name 1, name 2, name 3;
एकाधिक doubleव्हेरिएबल्स तयार करणे

आणि ताबडतोब त्यांना मूल्ये नियुक्त करा:

double name 1 = value 1, name 2 = value 2, name 3 = value 3;
doubleएकाधिक व्हेरिएबल्स तयार करणे आणि आरंभ करणे

उदाहरणे:

विधान नोंद
double price = 5.0;
व्हेरिएबल स्टोअर्स5.0
double weight = 2;
व्हेरिएबल स्टोअर्स2.0
double x = 1.0, y = 2.0, z = 3.0;

3. पूर्णांक आणि वास्तविक संख्या नियुक्त करणे

intपूर्णांक फक्त व्हेरिएबल्ससाठी आणि वास्तविक संख्या — फक्त व्हेरिएबल्ससाठी नियुक्त केले असल्यास ते वाईट होईल double. आम्हाला दोन प्रकारच्या संख्यांमध्ये रूपांतरित करण्यास सक्षम व्हायचे आहे. आणि Java ही क्षमता प्रदान करते.

प्रथम, दोन्ही वास्तविक आणि पूर्णांक संख्या doubleव्हेरिएबल्सना नियुक्त केल्या जाऊ शकतात. पूर्णांक नियुक्त करताना, ते फक्त वास्तविक संख्यांमध्ये रूपांतरित केले जातात. अर्थात, प्रक्रियेत काही अचूकता गमावली जाऊ शकते.

विधान नोंद
double price = 5.0;
व्हेरिएबल स्टोअर्स5.0
double weight = 2;
व्हेरिएबल स्टोअर्स2.0
int t = 1000;
double x =  t * t;

व्हेरिएबल xस्टोअर्स1000000.0

दुसरे, जर काही अभिव्यक्तीमध्ये पूर्णांक आणि वास्तविक संख्या समाविष्ट असेल, तर पूर्णांक प्रथम वास्तविक संख्येमध्ये रूपांतरित केला जातो आणि त्यानंतरच इतर वास्तविक संख्येसह ऑपरेशन केले जाते.

विधान नोंद
int t = 1000;
double x = t * 5.0;

व्हेरिएबल xस्टोअर्स5000.0
System.out.println(5 * 2);
क्रमांक 10स्क्रीनवर प्रदर्शित होईल
System.out.println(5 * 2.0);
क्रमांक 10.0स्क्रीनवर प्रदर्शित होईल

आणि शेवटी, व्हेरिएबल्सना वास्तविक संख्या नियुक्त करणे देखील शक्य आहे int. जेव्हा आपण हे करतो, तेव्हा वास्तविक संख्येचा अपूर्णांक टाकला जातो - संख्या जवळच्या पूर्ण संख्येपर्यंत पूर्ण केली जाते.

याव्यतिरिक्त, कंपाइलरला प्रोग्रामरने काय घडत आहे ते स्पष्टपणे दस्तऐवजीकरण करणे आवश्यक आहे (इतर प्रोग्रामरना हे समजते की फ्रॅक्शनल भाग टाकला जात आहे याची खात्री करण्यासाठी). सर्वसाधारणपणे, असे रूपांतरण कोडमध्ये असे दिसते:

integer_variable = (int)(real_number);
intव्हेरिएबलला वास्तविक संख्या नियुक्त करणे

उदाहरणे:

विधान नोंद
int x = (int)(5.5);
व्हेरिएबल xस्टोअर्स5
double a = 5.999;
int x = (int)(a);
व्हेरिएबल xस्टोअर्स5
double a = 5.999;
int b = 2;
int x = (int)(a * b);
व्हेरिएबल xस्टोअर्स11


4. Java मध्ये पूर्णांक आणि वास्तविक संख्या विभाजित करणे

पूर्णांकाने पूर्णांक भागताना, उर्वरित भाग नेहमी टाकून दिला जातो. मग आपण मिळवण्यासाठी 5भागाकार कसा करू शकतो ?22.5

सुरुवातीला, असे दिसते की योग्य पर्याय आहे:

double d = 5 / 2;

पण ते इतके सोपे नाही. येथे अडचण अशी आहे की जावा मशीन प्रथम चे मूल्य मोजते 5 / 2आणि त्यानंतरच परिणाम व्हेरिएबलला नियुक्त करते d. आणि 5 / 2ऑपरेशन पूर्णांक विभागणी आहे. याचा अर्थ d त्यात समाविष्ट असेल 2किंवा, अधिक तंतोतंत,2.0

योग्य उपाय म्हणजे भागाकारामध्ये समाविष्ट असलेल्या संख्येपैकी किमान एक वास्तविक संख्या म्हणून लिहा (म्हणजे दशांश बिंदूसह):

double d = 5.0 / 2;
double d = 5 / 2.0;
double d = 5.0 / 2.0;

प्रत्येक अभिव्यक्तीमध्ये, d समाविष्ट असेल2.5

पण जर आपण व्हेरिएबल्ससह काम करत असू तर? आमच्याकडे असा कोड असल्यास काय?:

int a = 5;
int b = 2;
double d = a / b;

येथे एक चपळ (आणि स्पष्ट) उपाय आहे — जावा मशीनला व्हेरिएबल्सला वास्तविक संख्येत रूपांतरित करण्यास भाग पाडा आणि त्यांना वास्तविक संख्या म्हणून एकाने गुणाकार करा ( 1.0)

int a = 5;
int b = 2;
double d = a * 1.0 / b;

लक्षात घ्या की गुणाकार आणि भागाकार यांना समान प्राधान्य आहे आणि ते डावीकडून उजवीकडे केले जातात. याचा अर्थ असा की आपण 1.0 कुठे गुणाकार करतो हे महत्त्वाचे आहे.

उदाहरणे:

विधान अंमलबजावणीचा क्रम परिणाम
int a = 5;
int b = 2;
double d = 1.0 * a / b;
(1.0 * a) / b; 2.5
int a = 5;
int b = 2;
double d = a * 1.0 / b;
(a * 1.0) / b; 2.5
int a = 5;
int b = 2;
double d = a / b * 1.0;
(a / b) * 1.0; 2.0