Java मधील आदिम प्रकारांवरील ऑपरेशन्स. तार्किक ऑपरेटर

चेरचर 01.08.2019
Android साठी

Android साठी

Java मधील बहुतेक ऑपरेशन्स इतर C-सारख्या भाषांमध्ये वापरल्या जाणाऱ्या सारख्याच आहेत. युनरी ऑपरेशन्स आहेत (एका ऑपरेंडवर केली जातात), दोन ऑपरेंडवर बायनरी ऑपरेशन्स आणि तीन ऑपरेंडवर टर्नरी ऑपरेशन्स आहेत. ऑपरेंड हे व्हेरिएबल किंवा व्हॅल्यू (जसे की संख्या) ऑपरेशनमध्ये गुंतलेले असते. चला सर्व प्रकारच्या ऑपरेशन्सचा विचार करूया.

अंकगणित ऑपरेशन्समध्ये संख्यांचा समावेश असतो. Java मध्ये बायनरी अंकगणित ऑपरेशन्स आहेत (दोन ऑपरेंडवर केले जातात) आणि युनरी अंकगणित ऑपरेशन्स (एका ऑपरेंडवर केले जातात). बायनरी ऑपरेशन्समध्ये खालील गोष्टींचा समावेश आहे:

    दोन संख्या जोडण्याचे ऑपरेशन:

    इंट a = 10; int b = 7; int c = a + b; // 17 int d = 4 + b; // ११

    दोन संख्या वजा करण्याचे ऑपरेशन:

    इंट a = 10; int b = 7; int c = a - b; // 3 int d = 4 - a; // -6

    दोन संख्यांच्या गुणाकाराची क्रिया

    इंट a = 10; int b = 7; int c = a * b; // 70 int d = b * 5; // 35

    दोन संख्यांचे विभाजन करण्याचे ऑपरेशन:

    इंट a = 20; int b = 5; int c = a / b; // 4 दुहेरी d = 22.5 / 4.5; // ५.०

    भागाकार करताना एक गोष्ट लक्षात ठेवली पाहिजे की जर ऑपरेशनमध्ये दोन पूर्णांक असतील तर, भागाकाराचा परिणाम जवळच्या पूर्णांकापर्यंत पूर्ण होईल, जरी परिणाम फ्लोट किंवा दुहेरी व्हेरिएबलला नियुक्त केला गेला असेल:

    दुहेरी k = 10 / 4; // 2 System.out.println(k);

    परिणाम फ्लोटिंग पॉइंट नंबर दर्शवण्यासाठी, ऑपरेंडपैकी एकाने फ्लोटिंग पॉइंट नंबर देखील दर्शविला पाहिजे:

    दुहेरी k = 10.0 / 4; // 2.5 System.out.println(k);

    दोन संख्यांना विभाजित करताना उर्वरित मिळवणे:

    इंट a = 33; int b = 5; int c = a % b; // 3 int d = 22% 4; // २ (२२ - ४*५ = २)

दोन एकल अंकगणितीय ऑपरेशन्स देखील आहेत ज्या एकाच संख्येवर केल्या जातात: ++ (वाढ) आणि -- (कमी). प्रत्येक ऑपरेशनमध्ये दोन प्रकार आहेत: उपसर्ग आणि पोस्टफिक्स:

    ++ (उपसर्ग वाढ)

    एक व्हेरिएबल वाढवणे समाविष्ट आहे, उदाहरणार्थ z=++y (प्रथम y व्हेरिएबलचे मूल्य 1 ने वाढवले ​​जाते, आणि नंतर त्याचे मूल्य z व्हेरिएबलला नियुक्त केले जाते)

    इंट a = 8; int b = ++a; System.out.println(a); // 9 System.out.println(b); // ९

    ++ (पोस्टफिक्स वाढ)

    व्हेरिएबलमध्ये एकाने वाढ देखील दर्शवते, उदाहरणार्थ z=y++ (प्रथम व्हेरिएबल y चे मूल्य z व्हेरिएबलला नियुक्त केले जाते आणि नंतर y व्हेरिएबलचे मूल्य 1 ने वाढवले ​​जाते)

    इंट a = 8; int b = a++; System.out.println(a); // 9 System.out.println(b); // ८

    -- (उपसर्ग घट)

    व्हेरिएबल एकाने कमी करणे, उदाहरणार्थ, z=--y (प्रथम y व्हेरिएबलचे मूल्य 1 ने कमी केले जाते आणि नंतर त्याचे मूल्य z व्हेरिएबलला दिले जाते)

    इंट a = 8; int b = --a; System.out.println(a); // 7 System.out.println(b); // ७

    -- (पोस्टफिक्स घट)

    z=y-- (प्रथम y व्हेरिएबलचे मूल्य z व्हेरिएबलला दिले जाते आणि नंतर y व्हेरिएबलचे मूल्य 1 ने कमी केले जाते)

    इंट a = 8; int b = a---; System.out.println(a); // 7 System.out.println(b); // ८

अंकगणितीय क्रियांना प्राधान्य

काही ऑपरेशन्सना इतरांपेक्षा जास्त प्राधान्य असते आणि म्हणून ते प्रथम केले जातात. अग्रक्रमाच्या घटत्या क्रमाने ऑपरेशन्स:

++ (वाढ), -- (कमी)

* (गुणाकार), / (भागाकार), % (भागाकार उर्वरित)

+ (व्यतिरिक्त), - (वजाबाकी)

अंकगणितीय अभिव्यक्तींचा संच कार्यान्वित करताना ऑपरेशन्सची प्राथमिकता लक्षात घेतली पाहिजे:

इंट a = 8; int b = 7; int c = a + 5 * ++b; System.out.println(c); // ४८

वाढीव ऑपरेशन ++b प्रथम कार्यान्वित केले जाईल, ज्याला उच्च प्राधान्य आहे - ते व्हेरिएबल b चे मूल्य वाढवेल आणि परिणाम म्हणून ते परत करेल. नंतर गुणाकार 5 * ++b केला जातो, आणि फक्त शेवटी a + 5 * ++b जोडला जातो.

कंस तुम्हाला गणनेचा क्रम पुन्हा परिभाषित करण्याची परवानगी देतात:

इंट a = 8; int b = 7; int c = (a + 5) * ++b; System.out.println(c); // 104

जरी बेरीज ऑपरेशनला कमी प्राधान्य असले तरी, जोडणी प्रथम केली जाईल, गुणाकार नाही, कारण बेरीज ऑपरेशन कंसात बंद आहे.

ऑपरेशन्सची सहयोगीता

प्राधान्याव्यतिरिक्त, ऑपरेशन्स अशा संकल्पनेमध्ये भिन्न आहेत सहवास. जेव्हा ऑपरेशन्सना समान प्राधान्य असते, तेव्हा मूल्यांकनाचा क्रम ऑपरेटरच्या सहवासाद्वारे निर्धारित केला जातो. असोसिएटिव्हिटीवर अवलंबून, दोन प्रकारचे ऑपरेटर आहेत:

    डावे-सहयोगी ऑपरेटर, जे डावीकडून उजवीकडे कार्यान्वित केले जातात

    उजवे-सहयोगी ऑपरेटर, जे उजवीकडून डावीकडे कार्यान्वित केले जातात

अशा प्रकारे, गुणाकार आणि भागाकार यासारख्या काही ऑपरेशन्सना समान प्राधान्य असते. मग अभिव्यक्तीमध्ये काय परिणाम होईल:

इंट x = 10 / 5 * 2;

आपण या अभिव्यक्तीचा (10/5) *2 किंवा 10/(5*2) असा अर्थ लावायचा? शेवटी, व्याख्यावर अवलंबून, आम्हाला भिन्न परिणाम मिळतील.

सर्व अंकगणित ऑपरेटर (उपसर्ग वाढ आणि घट वगळता) डावे-सहयोगी असल्यामुळे, ते डावीकडून उजवीकडे कार्यान्वित केले जातात. म्हणून, अभिव्यक्ती 10 / 5 * 2 ची व्याख्या (10 / 5) * 2 म्हणून करणे आवश्यक आहे, म्हणजेच परिणाम 4 असेल.

फ्लोटिंग पॉइंट ऑपरेशन्स

हे लक्षात घेतले पाहिजे की फ्लोटिंग पॉइंट क्रमांक आर्थिक आणि इतर गणनेसाठी योग्य नाहीत जेथे गोलाकार त्रुटी गंभीर असू शकतात. उदाहरणार्थ:

दुहेरी डी = 2.0 - 1.1; System.out.println(d);

या प्रकरणात, व्हेरिएबल d हे ०.९ च्या बरोबरीचे नसेल, जसे कोणी सुरुवातीला गृहीत धरले असेल, परंतु ०.८९९९९९९९९९९९९९९. या अचूक त्रुटी उद्भवतात कारण कमी पातळीवर बायनरी प्रणाली फ्लोटिंग-पॉइंट संख्या दर्शवण्यासाठी वापरली जाते, परंतु संख्या 0.1 किंवा इतर अपूर्णांक मूल्यांसाठी कोणतेही बायनरी प्रतिनिधित्व नाही. म्हणून, अशा प्रकरणांमध्ये, BigDecimal वर्ग सहसा वापरला जातो, जो आपल्याला अशा परिस्थितींना बायपास करण्याची परवानगी देतो.

Java मधील ऑपरेटर

खालील अंकगणित ऑपरेटर Java मध्ये समर्थित आहेत (तक्ता 2.4).

तक्ता 2.4. अंकगणित ऑपरेटर

बेरीज
- वजाबाकी
* गुणाकार
/ विभाग
% शिल्लक गणना
++ वाढ
-- घट
+= जोडणीसह असाइनमेंट
-= वजाबाकीसह असाइनमेंट
*= गुणाकारासह असाइनमेंट
/= विभाजनासह असाइनमेंट
%= उरलेल्या गणनेसह असाइनमेंट

पहिले पाच ऑपरेटर शालेय गणित अभ्यासक्रमातील प्रत्येकाला परिचित आहेत, आणि दोन तथाकथित अनरी ऑपरेटर आहेत, आणि दिलेल्या संख्येचे चिन्ह दर्शविण्यासाठी वापरले जाऊ शकतात. पुढे increment (++) आणि decrement (- -) नावाचे ऑपरेटर येतात.
त्यापैकी एक (वाढ) व्हेरिएबलच्या मूल्यामध्ये एक जोडतो, दुसरा (कमी), त्याउलट, एक वजा करतो.

हे ऑपरेटर व्हेरिएबल व्हॅल्यूच्या पुढील स्पेसशिवाय सूचित केले आहेत. जर ते व्हेरिएबलच्या डावीकडे दिसले, तर याला वाढ किंवा घटाचा उपसर्ग फॉर्म म्हणतात आणि याचा अर्थ व्हेरिएबलमध्ये प्रथम एक जोडला जातो (किंवा त्यातून वजा केला जातो) आणि नंतर तो अभिव्यक्तीमध्ये वापरला जातो. जर व्हेरिएबलच्या नावानंतर वाढ (किंवा घट) ठेवली असेल तर त्याला पोस्टफिक्स फॉर्म म्हणतात आणि याचा अर्थ व्हेरिएबल प्रथम अभिव्यक्तीमध्ये वापरला जातो आणि नंतर त्यात एक जोडला जातो (किंवा वजा केला जातो).

उर्वरित पाच ऑपरेटर खालीलप्रमाणे वापरले जातात:
a += b
एंट्री प्रमाणे:
a = a + b

या सर्व ऑपरेटरचे उदाहरण सूची २.९ मध्ये दाखवले आहे.

सूची 2.9.
अंकगणित ऑपरेटर वापरण्याचे उदाहरण

वर्ग उदाहरण (
{
int a,b,c,d,e;
a=10
b= 11;
c= 12;
a+ = b; // a=21
a *= c; // a = 252
a = a - c; // a = 240
a -= c; // a = 228
d = 5;
e = 10;
System.out.println(++d); 6 प्रदर्शित केले जाईल
System.out.println(d++); 6 प्रदर्शित केले जाईल
System.out.println(e--); 10 प्रदर्शित केले जाईल
System.out.println (--e); 8 प्रदर्शित केले जाईल
}
}

आता बिटवाइज (बिटवाइज) ऑपरेटर्स (टेबल 2.5) पाहू.

तक्ता 2.5. Bitwise (bitwise) ऑपरेटर

ऑपरेटर वर्णन
- अनरी नकार
& बिटवाइज आणि
| बिटवाइज किंवा
^बिटवाइज अनन्य OR
<< Сдвиг битов влево
>> बिट्स उजवीकडे शिफ्ट करा
>>> सर्वात लक्षणीय बिट शून्याने भरून बिट उजवीकडे शिफ्ट करा
&=, | =, ^=, <<=, >>=, >>>= समान ऑपरेशनसह असाइनमेंट

हे ऑपरेटर वापरून, आम्ही त्यांच्या बायनरी प्रतिनिधित्वातील संख्यांवर काम करतो. उदाहरणार्थ, बायनरी स्वरूपात 15 क्रमांक लिहिण्याचा विचार करा. 00001111

पहिला ऑपरेटर, ज्याला unary negation म्हणतात, तो 0 ला 1 मध्ये आणि 1 ला 0 मध्ये बदलतो. बिटवाइज "आणि" ऑपरेटर एकूण 1 तयार करतो जर तुलना केल्या जाणाऱ्या संख्यांचे दोन्ही समान बिट्स देखील 1 असतील. जर त्यांच्याकडे संख्यांचे भिन्न संयोजन असेल, नंतर परिणाम 0 असेल. उदाहरणार्थ:
C = A आणि B

समजा A = 15 (00001111) आणि B 10 (00001010) आहे. या प्रकरणात C संख्या 10 (00001010) च्या बरोबरीची असेल. Bitwise "OR" चा अर्थ खालीलप्रमाणे आहे: जर किमान एक बिट 1 असेल तर परिणाम देखील 1 असेल. Bitwise exclusive "OR" 1 मिळवते जर तुलना केल्या जाणाऱ्या संख्यांच्या बिट्सपैकी फक्त एक 1 असेल. पुढील तीन ऑपरेटर अंकांच्या निर्दिष्ट संख्येने बिट्स डावीकडे हलवा, जिथे बिट डावीकडे हलवल्याने रिक्त स्थान शून्यासह भरले जाईल. हे ऑपरेटर वापरण्याचे उदाहरण टेबलमध्ये दिले आहे. 2.6 आणि सूची 2.10.

तक्ता 2.6. बिट शिफ्ट ऑपरेटर

सूची 2.10.
बिट शिफ्ट ऑपरेटर वापरण्याचे उदाहरण

वर्ग उदाहरण
{
सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग आर्ग्स)
{
int a=3, b=4, c=5;
int d = a * b;
System.out.println(d);
d = a | c;
System.out.println(d);
d&=a;
System.out.println(d);
}
}

जावा टेबलमध्ये सादर केलेल्या लॉजिकल ऑपरेटरना देखील समर्थन देते. २.७.

तक्ता 2.7. तार्किक ऑपरेटर

ऑपरेटर वर्णन
==समान
!= समान नाही
< Меньше
< = Меньше или равно
> अधिक
> = पेक्षा मोठे किंवा समान
& तार्किक आणि
| बुलियन किंवा
^ तार्किक अनन्य किंवा
! नकार
&& सशर्त आणि
| | सशर्त किंवा
&=, |=, ^= समान ऑपरेटरसह असाइनमेंट

पहिल्या सहा ऑपरेटरना तुलना ऑपरेटर म्हणतात. ते तुम्हाला संख्यांची तुलना करण्याची आणि खरे किंवा खोटे परत करण्याची परवानगी देतात. पुढील चार ऑपरेटर बुलियन डेटासह कार्य करतात, परंतु ते समान बिट ऑपरेटर्स प्रमाणेच कार्य करतात (तुम्हाला फक्त बिट 0 ला खोट्याने आणि बिट 1 ला सत्याने बदलण्याची आवश्यकता आहे).

खालील दोन ऑपरेटर एकाच वेळी दोन अटींसाठी वापरले जातात, म्हणजे. दोन अटी निर्दिष्ट केल्या आहेत आणि त्यांच्या दरम्यान "सशर्त आणि" ऑपरेटर ठेवलेला आहे. जर ते दोन्ही खरे असतील तर खरे छापले जाते; जर त्यापैकी किमान एक खोटा असेल तर निकाल खोटा असेल.

किमान एक अटी सत्य असल्यास सशर्त किंवा ऑपरेटर सत्य परत येईल. ते सहसा if स्टेटमेंटमध्ये वापरले जातात (आम्ही पुढील प्रकरणामध्ये याबद्दल बोलू). या सर्व ऑपरेटरच्या वापराचे उदाहरण सूची 2.11 मध्ये सादर केले आहे.

सूची 2.11.
लॉजिकल ऑपरेटर वापरण्याचे उदाहरण

वर्ग उदाहरण
{
सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग आर्ग्स)
{
int a = 10, b=15, c=20;
बुलियन b1 = a != b;
बुलियन b2 = c > a;
बुलियन b3 = b1&b2;
बुलियन b4 = b3 ^ b1;
जर (b1 && b4 = = असत्य) // जर b1 != b4, तर:
bЗ = खरे;
अन्यथा // असे नसल्यास, नंतर:
b2 = खोटे;
}
}

येथे लॉजिकल ऑपरेटर्सच्या वापराचा आकृती आहे (तक्ता 2.8).

तक्ता 2.8. दोन व्हेरिएबल्ससाठी लॉजिकल ऑपरेटरची मूल्ये

आदिम प्रकारांवरील बहुतेक ऑपरेशन्स पद्धती वापरून केल्या जात नाहीत, परंतु विशेष चिन्हे वापरून केल्या जातात ऑपरेशन चिन्ह.

असाइनमेंट ऑपरेटर

व्हेरिएबलला स्थिरांक, दुसरे चल किंवा अभिव्यक्ती (चल आणि/किंवा ऑपरेटर चिन्हांद्वारे विभक्त केलेले स्थिरांक) यांचे मूल्य नियुक्त करणे म्हणतात. असाइनमेंट ऑपरेशनआणि चिन्हाने सूचित केले आहे " = ", उदाहरणार्थ: x = 3; y = x; z = x; Java मध्ये, असाइनमेंट ऑपरेटर एका अभिव्यक्तीमध्ये अनेक वेळा वापरणे शक्य आहे, उदाहरणार्थ: x1 = x2 = x3 = 0 ; हे ऑपरेशन येथून केले जाते उजवीकडून डावीकडे, म्हणजे प्रथम x3 व्हेरिएबलला 0 हे मूल्य दिले जाते, नंतर x2 व्हेरिएबलला x3 (0) व्हेरिएबलचे मूल्य दिले जाते आणि शेवटी x1 व्हेरिएबल x2 (0) चे मूल्य नियुक्त केले जाते ऑपरेशन्सची चिन्हे ज्यांचे वितर्क संख्या आहेत दोन श्रेणींमध्ये विभागले गेले आहेत: unary(अनरी) एका युक्तिवादासह ऑपरेशनची चिन्हे आणि बायनरी(बायनरी) दोन वितर्कांसह.

युनरी ऑपरेशन्स

Java मध्ये खालील युनरी ऑपरेटर परिभाषित केले आहेत:
  • unary वजा " - " – संख्या किंवा अभिव्यक्तीचे चिन्ह विरुद्ध बदलते;
  • unary plus " + " – संख्या किंवा अभिव्यक्तीवर कोणतीही क्रिया करत नाही;
  • bitwise complement "~" (केवळ पूर्णांकांसाठी) – संख्या फील्डचे सर्व बिट्स उलटे (0 ते 1 आणि 1 ते 0 बदलते);
  • वाढ "++" (केवळ पूर्णांकांसाठी) - व्हेरिएबलचे मूल्य 1 ने वाढवते;
  • " -- " (केवळ पूर्णांकांसाठी) - व्हेरिएबलचे मूल्य 1 ने कमी करते.
युनरी ऑपरेशन्सची उदाहरणे " + " आणि " - ": int i = 3 , j, k; j= - i;// j = -3 k = + i; // k = 3 बिटवाइज पूरक ऑपरेशनचे उदाहरण: int a = 15 ;या व्यवहारांची नोंद करणे. ऑपरेटर साइन इन प्रिफिक्स नोटेशन त्याच्या ऑपरेंडचे मूल्य परत करते नंतरअभिव्यक्ती मूल्यांकन. पोस्टफिक्स नोटेशनमध्ये, ऑपरेशन चिन्ह प्रथमत्याच्या ऑपरेंडचे मूल्य परत करते आणि त्यानंतरच वाढ किंवा घटतेची गणना करते, उदाहरणार्थ: int x = 1, y, z; y = ++x; z= x++ ;

व्हेरिएबल y ला मूल्य 2 नियुक्त केले जाईल कारण प्रथम x चे मूल्य 1 ने वाढवले ​​जाईल आणि नंतर परिणाम y व्हेरिएबलला नियुक्त केले जाईल. व्हेरिएबल z ला मूल्य 1 नियुक्त केले जाईल कारण z व्हेरिएबलला प्रथम एक मूल्य नियुक्त केले जाईल आणि नंतर x चे मूल्य 1 ने वाढवले ​​जाईल. दोन्ही प्रकरणांमध्ये, x चे नवीन मूल्य 2 असेल. हे लक्षात घ्यावे की जावामध्ये, सी भाषेच्या विपरीत, घट आणि वाढीव ऑपरेशन्स रिअल व्हेरिएबल्सवर देखील लागू केली जाऊ शकतात (प्रकार फ्लोट आणि डबल).

बायनरी ऑपरेशन चिन्हे संख्यात्मक परिणाम आणि तुलना ऑपरेशन्ससह ऑपरेशन्समध्ये विभागले गेले आहेत, ज्याचा परिणाम बुलियन मूल्य आहे.:
  • अंकगणित बायनरी ऑपरेशन्स
  • Java खालील परिभाषित करते
  • अंकगणित बायनरी ऑपरेशन्स
  • अतिरिक्त "+";
  • वजाबाकी " - ";
गुणाकार "*";विभाग "/"; पूर्णांकांच्या भागाकाराच्या उर्वरित भागाची गणना करणे "%" (पहिल्या संख्येच्या भागाचा उर्वरित भाग दुसऱ्याने परत करतो आणि परिणामात लाभांश सारखेच चिन्ह असेल), उदाहरणार्थ, ऑपरेशनचा परिणाम 5%3 2 च्या बरोबरीचे असेल, आणि ऑपरेशनचा परिणाम (-7) %(-4) -3 च्या बरोबरीचा असेल. Java मध्ये, ऑपरेशन वास्तविक व्हेरिएबल्ससाठी देखील वापरले जाऊ शकते (प्रकार फ्लोट किंवा दुहेरी). बायनरी अंकगणित ऑपरेशन्सची उदाहरणे: int x = 7, x1, x2, x3, x4, x5; x1 = x + 10 ;// x1 = 17 x2 = x – 8 ;

// x2 = -1 x3 = x2 * x;

  • // x3 = -7 x4 = x/ 4 ;
  • // x4 = 1 (पूर्णांक भागाकारताना // अंशात्मक भाग टाकून दिला आहे) x5 = x% 4 // अंशात्मक भाग टाकून दिला आहे)// x5 = 3 (भागाकार शेष
  • // x4 = 1 (पूर्णांक भागाकारताना // अंशात्मक भाग टाकून दिला आहे)// 7 बाय 4) // अंशात्मक भाग टाकून दिला आहे)बिटवाइज ऑपरेशन्स
  • // x4 = 1 (पूर्णांक भागाकारताना // अंशात्मक भाग टाकून दिला आहे)बिटवाइज ऑपरेशन्स कच्च्या अंकीय मूल्यांना बिटचे फील्ड मानतात आणि त्यावर खालील ऑपरेशन्स करतात: // अंशात्मक भाग टाकून दिला आहे)बिट इन सेट करत आहे
  • पहिल्या ऑपरेंडच्या फील्डच्या बिट्सच्या डावीकडे दुसऱ्या ऑपरेंडने निर्धारित केलेल्या बिट्सच्या संख्येनुसार (क्रमांकाचे चिन्ह बिट बदलत नाही) - bitwise डावीकडे शिफ्ट करा हे चिन्ह विचारात घेऊन "<< ";
  • दुसऱ्या ऑपरेंडने ठरवलेल्या बिट्सच्या संख्येनुसार पहिल्या ऑपरेंड फील्डच्या बिट्सची उजवीकडे शिफ्ट (संख्येचे चिन्ह बिट बदलत नाही) – बिटवाइज उजवीकडे शिफ्ट करा, ">" चिन्ह लक्षात घेऊन;
  • पहिल्या ऑपरेंडच्या फील्डच्या बिटच्या उजवीकडे दुसऱ्या ऑपरेंडने निर्धारित केलेल्या बिट्सच्या संख्येनुसार (संख्येचा चिन्ह बिट देखील शिफ्ट केला जातो) - bitwise ">>> विचारात न घेता उजवीकडे शिफ्ट करा "चिन्ह.
बिटवाइज ऑपरेशन्सची उदाहरणे:
  1. बिटवाइज आणि

    int x = 112 ; int y = 94 ;
  2. int z;

    z = x & y; // z=80: 00000000 00000000 00000000 01010000बिटवाइज किंवा int x = 112 ;// x: 00000000 00000000 00000000 01110000 int y = 94 ;
  3. // y: 00000000 00000000 00000000 01011110

    z = x & y; // z=80: 00000000 00000000 00000000 01010000बिटवाइज किंवा int x = 112 ; int z; z = x |
  4. y;

    // z = 126: 00000000 00000000 00000000 00000000 01111110 बिटवाइज अनन्य OR int z;<< 2 ; z = x^y;
  5. // z = 46: 00000000 00000000 00000000 00101110

    चिन्हावर आधारित डावीकडे शिफ्ट int x = 31 , z;
  6. // x: 00000000 00000000 00000000 00011111

    z = x // z = 124: 00000000 00000000 00000000 00000000 01111100चिन्हासह उजवीकडे शिफ्ट int x = - 17 , z;

z = x >> 2 ;

// z = -5: 11111111 11111111 11111111 11111011 खाते चिन्ह न घेता उजवीकडे शिफ्ट int x = - 17 , z;
  1. // x: 11111111 11111111 11111111 11101111
  2. z = x >>> 2 ;
  3. // z = 1073741819
  4. // z: 00111111 11111111 11111111 11111011
  5. एकत्रित ऑपरेशन्स
  6. Java मध्ये, बायनरी अंकगणित ऑपरेशन्ससाठी तुम्ही वापरू शकता
  7. एकत्रित
  8. (संमिश्र) ऑपरेटर चिन्हे: अभिज्ञापक ऑपरेशन = अभिव्यक्ती हे खालील ऑपरेशनच्या समतुल्य आहे: अभिज्ञापक = अभिज्ञापक ऑपरेशन अभिव्यक्ती उदाहरणे:
  9. x += b चा अर्थ x = x + b आहे.<<= b означает x = x << b .
  10. x -= b चा अर्थ x = x - b आहे.
  11. x *= b चा अर्थ x = x * b आहे.

x /= b चा अर्थ x = x / b आहे.

x %= b चा अर्थ x = x % b आहे.
  • x &= b चा अर्थ x = x & b असा होतो.
  • x |= b म्हणजे x = x | ही अभिव्यक्ती b
  • " < " (меньше) " <= " (меньше или равно)
x ^= b चा अर्थ x = x ^ b आहे. अभिव्यक्ती x x >>= b चा अर्थ x = x >> b आहे. x >>>= b चा अर्थ x = x >>> b आहे.तुलना ऑपरेशन्स == " (जागाशिवाय सलग दोन समान चिन्हे), असाइनमेंट ऑपरेटरच्या विरूद्ध, जे चिन्ह वापरते " = ". दोन मूल्यांची तुलना करताना " = " चिन्ह वापरल्याने एकतर संकलन त्रुटी येते किंवा चुकीचा परिणाम होतो. तुलना ऑपरेशन्सची उदाहरणे:बुलियन isEqual, isNonEqual, isGreater, isGreaterOrEqual, isLess, isLessOrEqual;< x1; // isLess = true isLessOrEqual = x1 <= x3; // isLessOrEqual = false

int x1 = 5, x2 = 5, x3 = 3, x4 = 7;

isEqual = x1 == x2;// isEqual = true isNonEqual = x1 != x2; // isNonEqual = असत्य isGreater = x1 > x3;// isGreater = true // isGreaterOrEqual = true isGreaterOrEqual = x2 >= x3;
  • isLess = x3
  • बुलियन ऑपरेशन्स
  • बुलियन ऑपरेशन्स
  • बुलियन व्हेरिएबल्सवर केले जातात आणि त्यांचे परिणाम प्रकाराचे मूल्य देखील आहे
बुलियन . खालील बुलियन ऑपरेशन्स Java मध्ये परिभाषित केल्या आहेत:नकार "!" - खोट्याच्या जागी सत्य किंवा उलट;< 5 ; // isInRange = false isValid = x >आणि ऑपरेशन "&" – दोन्ही ऑपरेंड्स सत्य असल्यासच परिणाम सत्य आहे, अन्यथा परिणाम खोटा आहे;

सशर्त ऑपरेशन

कंडिशनल ऑपरेशन एक्सप्रेशन-1?एक्सप्रेशन-2:एक्सप्रेशन-3 या स्वरूपात लिहिलेले आहे. या प्रकरणात, प्रथम अभिव्यक्ती-1 चे मूल्यमापन केले जाते, ज्याने बूलियन मूल्य दिले पाहिजे आणि नंतर, अभिव्यक्ती-1 सत्य असल्यास, अभिव्यक्ती-2 चे मूल्यमापन केले जाते आणि ऑपरेशनचा परिणाम म्हणून परत केला जातो, किंवा (अभिव्यक्ती -1 असल्यास असत्य आहे), त्याचे मूल्यमापन केले जाते आणि ऑपरेशनच्या परिणामी, अभिव्यक्ती-3 परत केला जातो. सशर्त ऑपरेशनचे उदाहरण: x= n> 1 ? 0 : 1 ;

n>1 (अभिव्यक्ती n>1 सत्य असल्यास) किंवा n≤1 असल्यास 1 (n>1 ही अभिव्यक्ती खोटी असल्यास) व्हेरिएबल x ला 0 मूल्य नियुक्त केले जाईल.

ऑपरेशन ज्येष्ठता
अभिव्यक्तीमधील ऑपरेशन्स डावीकडून उजवीकडे केली जातात, तथापि, त्यांच्या प्राधान्यानुसार. तर y = x + z* 5 या अभिव्यक्तीतील गुणाकार क्रिया;<= 5 ) ;

बेरीज ऑपरेशनच्या आधी अंमलात आणले जाईल कारण गुणाकार ऑपरेशनची प्राथमिकता बेरीज ऑपरेशनच्या प्राधान्यापेक्षा जास्त आहे. Java मधील ऑपरेशन्सचे प्राधान्यक्रम (प्राधान्य कमी करण्याच्या क्रमाने) टेबलमध्ये दिले आहेत. १.

कंस त्यांच्या आत असलेल्या ऑपरेशन्सचे प्राधान्य वाढवतात. तर, जर तुम्ही वरील अभिव्यक्तीमध्ये कंस टाकलात: y = (x + z) * 5 ; नंतर बेरीज ऑपरेशन प्रथम केले जाईल, आणि नंतर गुणाकार ऑपरेशन. काहीवेळा कंस अभिव्यक्ती अधिक वाचनीय बनवण्यासाठी वापरला जातो, उदाहरणार्थ: (x > 1 ) && (xऑपरेशन्स करताना रूपांतरण आणि कास्टिंग असाइनमेंट ऑपरेशन्स आणि अंकगणित अभिव्यक्ती शाब्दिक, चल आणि विविध प्रकारच्या अभिव्यक्ती वापरू शकतात, उदाहरणार्थ: दुहेरी y;बाइट x; y = x + 5 ;® हे उदाहरण बाइट व्हेरिएबल x ला int लिटरल 5 मध्ये जोडते आणि परिणाम दुहेरी व्हेरिएबल y ला नियुक्त करते. Java मध्ये, C भाषेप्रमाणे, अभिव्यक्तींचे मूल्यमापन करताना रूपांतरण टाइप करा स्वयंचलितपणे किंवा टाइप कास्ट ऑपरेटर वापरून केले जाऊ शकते. तथापि, टाईप कास्टिंगचे नियम C भाषेच्या नियमांपेक्षा थोडे वेगळे आहेत, आणि सामान्यतः C भाषेपेक्षा अधिक कठोर आहेत, जेव्हा असाइनमेंट ऑपरेशन केले जाते, तर टाइप रूपांतरण स्वयंचलितपणे होते® विस्तारित परिवर्तन® (विस्तृत रूपांतरण) आणि® दोन प्रकार सुसंगत आहेत® . विस्तारित परिवर्तन म्हणजे परिवर्तन होय. रुंदीकरण रूपांतरणासाठी, पूर्णांक आणि फ्लोटिंग-पॉइंटसह संख्यात्मक प्रकार एकमेकांशी सुसंगत आहेत. तथापि, अंकीय प्रकार चार आणि बुलियन प्रकारांशी सुसंगत नाहीत. चार आणि बुलियन प्रकार देखील एकमेकांशी विसंगत आहेत. जावा अक्षरशः पूर्णांक स्थिरांक (जे डीफॉल्ट int ला) बाईट, शॉर्ट किंवा लाँग प्रकाराच्या व्हेरिएबलमध्ये संचयित करतेवेळी स्वयंचलित प्रकार रूपांतरण देखील करते (तथापि, जर त्या प्रकारच्या वैध मूल्यांच्या श्रेणीबाहेर शब्दशः मूल्य असेल तर, एक त्रुटी संदेश जारी केला आहे: अचूकतेचे संभाव्य नुकसान). जर रूपांतरण एक संकुचित रूपांतरण असेल, म्हणजे, एक बाइट ¬ शॉर्ट ¬ चार ¬ इंट ¬ लांब ¬ फ्लोट ¬ दुहेरी रूपांतरण केले असेल, तर अशा रूपांतरणामुळे संख्येची अचूकता कमी होऊ शकते किंवा त्याची विकृती होऊ शकते. म्हणून, संकुचित रूपांतरण दरम्यान, प्रोग्राम संकलित करताना, प्रकार विसंगततेबद्दल निदान संदेश प्रदर्शित केला जातो आणि वर्ग फायली तयार केल्या जात नाहीत. जर तुम्ही टाइप बाइट किंवा शॉर्टच्या अभिव्यक्तीला char च्या व्हेरिएबलमध्ये रूपांतरित करण्याचा प्रयत्न केला तर हा संदेश देखील जारी केला जाईल. तरीही अशी रूपांतरणे करणे आवश्यक असल्यास, प्रकार कास्ट ऑपरेशन वापरले जाते, ज्याचे खालील स्वरूप आहे: ( प्रकार-रूपांतरण) अर्थ, कुठे प्रकार-रूपांतरणदिलेला डेटा कोणत्या प्रकारात रूपांतरित करणे आवश्यक आहे हे निर्धारित करते अर्थ, उदाहरणार्थ, ऑपरेटर कार्यान्वित करण्याच्या परिणामी: byte x = 71 ; char प्रतीक = (char ) x;चिन्ह व्हेरिएबलला "G" मूल्य प्राप्त होईल. जर फ्लोटिंग-पॉइंट मूल्य पूर्णांक प्रकारास नियुक्त केले असेल, तर (जर फ्लोटिंग-पॉइंट मूल्यामध्ये अंशात्मक भाग असेल तर) एक स्पष्ट प्रकार रूपांतरण देखील होते छाटणे , नंतर परिवर्तनाचा परिणाम म्हणजे नियुक्त केलेल्या प्रकाराच्या श्रेणीच्या मॉड्यूलसने मूल्य विभाजित करण्याचा उर्वरित भाग असेल (प्रकार बाइटच्या संख्येसाठी, श्रेणीचे मॉड्यूलस 256, थोडक्यात - 65536, int साठी समान असेल. – 4294967296 आणि लांबसाठी – 18446744073709551616). उदाहरणार्थ, ऑपरेटर बाइट x = (बाइट ) 514 कार्यान्वित करण्याच्या परिणामी; (ट्रंकेशन) संख्या. तर, ऑपरेटर int x = (int) 77.85 कार्यान्वित करण्याच्या परिणामी;

व्हेरिएबल x ला 77 मूल्य मिळेल. नियुक्त केलेले मूल्य श्रेणीबाहेर असल्यास

  • प्रकार-रूपांतरण
  • प्रथम लिंक
  • Java व्हेरिएबल्स हाताळण्यासाठी ऑपरेटर्सचा एक समृद्ध संच प्रदान करते. सर्व Java ऑपरेटर खालील गटांमध्ये विभागले जाऊ शकतात:
  • अंकगणित ऑपरेटर;
  • तुलना ऑपरेटर;
  • bitwise ऑपरेटर;

लॉजिकल ऑपरेटर;

असाइनमेंट ऑपरेटर;इतर ऑपरेटर.

अंकगणित ऑपरेटर

खालील साधे उदाहरण प्रोग्रामेटिक अंकगणित ऑपरेटर दर्शविते. test.java फाईलमध्ये खालील जावा कोड कॉपी आणि पेस्ट करा, हा प्रोग्राम संकलित करा आणि चालवा:

सार्वजनिक वर्ग चाचणी ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स) ( int a = 10; int b = 20; int c = 25; int d = 25; System.out.println("a + b = " + (a + b) ) System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); b / a)); System.out.println("b % a = " + (b % a)); println("a++ = " + (a++)); System.out.println("b-- = " + (a--) .out.println("d++ = " + (d++)); .println("++d = " + (++d) ) )

A + b = 30 a - b = -10 a * b = 200 b / a = 2 b % a = 0 c % a = 5 a++ = 10 b-- = 11 d++ = 25 ++d = 27

तुलना ऑपरेटर

जावा भाषेत खालील तुलना ऑपरेटर समर्थित आहेत. समजा व्हेरिएबल A 10 च्या बरोबरीचे आहे आणि व्हेरिएबल B 20 च्या बरोबरीचे आहे. खालील तक्त्यामध्ये Java मधील रिलेशनल किंवा कंपेरिझन ऑपरेटरची सूची आहे:

ऑपरेटरवर्णनउदाहरण
== दोन ऑपरेंडची मूल्ये समान आहेत की नाही हे तपासते, जर होय, तर स्थिती सत्य होते(A == B) - बरोबर नाही
!= दोन ऑपरेंडची मूल्ये समान आहेत की नाही हे तपासते, जर मूल्ये समान नसतील तर स्थिती सत्य होते(A != B) - मूल्य खरे आहे
> डाव्या ऑपरेंडचे मूल्य उजव्या ऑपरेंडच्या मूल्यापेक्षा जास्त आहे का ते तपासते, तसे असल्यास, स्थिती सत्य होते(A > B) - बरोबर नाही
डाव्या ऑपरेंडचे मूल्य उजव्या ऑपरेंडच्या मूल्यापेक्षा कमी आहे की नाही ते तपासते, तसे असल्यास, स्थिती सत्य होते(ए
>= डाव्या ऑपरेंडचे मूल्य उजव्या ऑपरेंडच्या मूल्यापेक्षा मोठे किंवा समान आहे का ते तपासते, तसे असल्यास, स्थिती सत्य होते(A >= B) - मूल्ये बरोबर नाहीत
डाव्या ऑपरेंडचे मूल्य उजव्या ऑपरेंडच्या मूल्यापेक्षा कमी किंवा समान आहे का ते तपासते, तसे असल्यास, स्थिती सत्य होते(ए

अंकगणित ऑपरेटर

खालील साधे उदाहरण Java मधील तुलना ऑपरेटर्सची प्रोग्रॅमॅटिकली तुलना कशी करायची ते दाखवते. test.java फाईलमध्ये खालील जावा कोड कॉपी आणि पेस्ट करा, हा प्रोग्राम संकलित करा आणि चालवा:

सार्वजनिक वर्ग चाचणी ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स) ( int a = 10; int b = 20; System.out.println("a == b = " + (a == b)); System.out.println ("a != b)); System.out.println("a > b = " + (a > b)); (b >= a)); ("ब

A == b = false a != b = true a > b = false a = a = true b

बिटवाइज ऑपरेटर

Java अनेक बिटवाइज ऑपरेटर्स परिभाषित करते जे पूर्णांक प्रकारांसाठी वापरले जाऊ शकतात: int, long, short, char, आणि byte. Java मध्ये, bitwise ऑपरेटर बिट्सवर कार्य करतो आणि ऑपरेशन बिट बाय बिट करतो. समजा जर a = 60; आणि b = 13; नंतर बायनरी स्वरूपात ते खालीलप्रमाणे असतील:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011

समजा पूर्णांक व्हेरिएबल A 60 आहे आणि व्हेरिएबल B 13 आहे. खालील तक्त्यामध्ये Java मधील बिटवाइज ऑपरेटरची सूची आहे:

ऑपरेटरवर्णनउदाहरण
& (बिटवाइज आणि)बायनरी आणि ऑपरेटर दोन्ही ऑपरेंडमध्ये अस्तित्वात असल्यास परिणामामध्ये थोडी कॉपी करतो.(A & B) 12 देईल जे 0000 1100 आहे
| (बिटवाईज किंवा)बायनरी किंवा ऑपरेटर कोणत्याही ऑपरेंडमध्ये अस्तित्त्वात असल्यास ते थोडे कॉपी करते.(A | B) 61 देईल जे 0011 1101 च्या बरोबरीचे आहे
^ (बिटवाइज लॉजिकल किंवा)बायनरी XOR ऑपरेटर जर ते एका ऑपरेंडमध्ये सेट केले असेल तर ते थोडे कॉपी करते, परंतु दोन्हीमध्ये नाही.(A^B) 49 देईल जे 0011 0001 आहे
~ (बिटचे पूरक)बायनरीचा पूरक ऑपरेटर आणि "प्रतिबिंबित" बिट्सचा प्रभाव आहे.(~A) -61 देईल, जे बायनरी नोटेशनमध्ये 1100 0011 चे दोन पूरक स्वरूप आहे
बायनरी लेफ्ट शिफ्ट ऑपरेटर. डाव्या ऑपरेंडचे मूल्य उजव्या ऑपरेंडने निर्दिष्ट केलेल्या बिट्सच्या संख्येने डावीकडे हलवले जाते.
>> (उजवीकडे हलवा)बायनरी राईट शिफ्ट ऑपरेटर. उजव्या ऑपरेंडचे मूल्य डाव्या ऑपरेंडद्वारे निर्दिष्ट केलेल्या बिट्सच्या संख्येने उजवीकडे हलविले जाते.A >> 2 15 देईल जे 1111 आहे
>>> (शून्य शिफ्ट उजवीकडे)शून्य उजवीकडे शिफ्ट ऑपरेटर. उजव्या ऑपरेंडने निर्दिष्ट केलेल्या बिट्सच्या संख्येनुसार डाव्या ऑपरेंडचे मूल्य उजवीकडे हलविले जाते आणि शिफ्ट केलेली मूल्ये शून्याने भरलेली असतात.A >>> 2 15 देईल जे 0000 1111 आहे

अंकगणित ऑपरेटर

खालील साधे उदाहरण Java मध्ये प्रोग्रॅमॅटिकली बिटवाइज ऑपरेटर दाखवते. test.java फाईलमध्ये खालील जावा कोड कॉपी आणि पेस्ट करा, हा प्रोग्राम संकलित करा आणि चालवा:

सार्वजनिक वर्ग चाचणी ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स) ( int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c); /* 61 = 0011 1101 */ System.out.println("a | b = " + c =); a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c = 215); = 1111 */ System.out.println("a >> 2 = " + c = a >>> 2); /* 215 = 0000 1111 */ System.out.println("a >>> 2 = " + क))

खालील परिणाम प्राप्त होईल:

A & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a > 15 a >>> 15

तार्किक ऑपरेटर

समजा बुलियन व्हेरिएबल A सत्य आहे आणि व्हेरिएबल B असत्य आहे. खालील तक्त्यामध्ये जावा मधील बुलियन ऑपरेटरची सूची आहे:

अंकगणित ऑपरेटर

सार्वजनिक वर्ग चाचणी ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स) ( बूलियन a = true; बुलियन b = false; System.out.println("a && b = " + (a&&b)); System.out.println("a | |. b = " + (a||b)); System.out.println("!(a && b) = " + !(a && b)); )

हे खालील आउटपुट तयार करेल:

A && b = असत्य अ || b = खरे !(a && b) = खरे

असाइनमेंट ऑपरेटर

खालील असाइनमेंट ऑपरेटर जावा भाषेद्वारे समर्थित आहेत:

ऑपरेटर वर्णन उदाहरण
= साधा असाइनमेंट ऑपरेटर, उजव्या बाजूच्या ऑपरेंडपासून डावीकडील ऑपरेंडला मूल्ये नियुक्त करतो C = A + B, C ला A + B चे मूल्य नियुक्त करेल
+= "जोडा" असाइनमेंट ऑपरेटर डाव्या ऑपरेंडला उजव्या ऑपरेंडचे मूल्य नियुक्त करतो. C += A, C = C + A च्या समतुल्य
-= "वजाबाकी" असाइनमेंट ऑपरेटर, तो उजव्या ऑपरेंडमधून डावी ऑपरेंड वजा करतो C -= A, C = C - A च्या समतुल्य
*= "गुणाकार" असाइनमेंट ऑपरेटर, तो उजव्या ऑपरेंडला डाव्या ऑपरेंडने गुणाकार करतो C*=A हे C=C*A च्या समतुल्य आहे
/= डिव्हिजन असाइनमेंट ऑपरेटर, ते डाव्या ऑपरेंडला उजव्या ऑपरेंडने विभाजित करते C/=A हे C=C/A च्या समतुल्य आहे
%= "मॉड्यूल" असाइनमेंट ऑपरेटर, तो दोन ऑपरेंडसह मॉड्यूलस घेतो आणि त्याचा निकाल डाव्या ऑपरेंडला नियुक्त करतो C %= A, C = C % A च्या समतुल्य
लेफ्ट शिफ्ट असाइनमेंट ऑपरेटर सी
>>= उजवीकडे शिफ्ट असाइनमेंट ऑपरेटर C >>= 2, हे C = C >> 2 सारखे आहे
&= बिटवाइज असाइनमेंट ऑपरेटर (“आणि”) C &= 2, हे C = C & 2 सारखे आहे
^= बिटवाइज XOR असाइनमेंट ऑपरेटर C^=2, हे C=C^2 सारखे आहे
|= बिटवाइज असाइनमेंट ऑपरेटर "OR" C |= 2, ते C = C | सारखे आहे 2

अंकगणित ऑपरेटर

खालील साधे उदाहरण Java मध्ये प्रोग्रामॅटिकली लॉजिकल ऑपरेटर दाखवते. test.java फाईलमध्ये खालील जावा कोड कॉपी आणि पेस्ट करा, हा प्रोग्राम संकलित करा आणि चालवा:

सार्वजनिक वर्ग चाचणी ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स) ( int a = 10; int b = 20; int c = 0; c = a + b; System.out.println("c = a + b = " + c c += a ; System.out.println("c += a = " + c.); /= a = " + c); 10; c %= a ; System.out.println("c %= a = " + c); System.out.println("c >>= 2 = " + c) ; c >>= 2; System.out.println("c >>= a = " + c); "c |= a = " + c))

खालील परिणाम प्राप्त होईल:

C = a + b = 30 c += a = 40 c -= a = 30 c *= a = 300 c /= a = 1 c %= a = 5 c >= 2 = 5 c >>= 2 = 1 c &= a = 0 c ^= a = 10 c |= a = 10

इतर ऑपरेटर

जावा भाषेद्वारे समर्थित इतर अनेक ऑपरेटर आहेत.

टर्नरी ऑपरेटर किंवा कंडिशनल ऑपरेटर (?:)

टर्नरी ऑपरेटरएक ऑपरेटर आहे ज्यामध्ये तीन ऑपरेंड असतात आणि ते बुलियन अभिव्यक्तींचे मूल्यांकन करण्यासाठी वापरले जाते. जावा मधील टर्नरी ऑपरेटरला कंडिशनल ऑपरेटर म्हणून देखील ओळखले जाते. या. टर्नरी ऑपरेटर किंवा कंडिशनल ऑपरेटरचा उद्देश व्हेरिएबलला कोणते मूल्य नियुक्त करावे हे ठरवणे आहे. ऑपरेटर असे लिहिले आहे:

व्हेरिएबल x = (अभिव्यक्ती) ? खरे असल्यास मूल्य: असत्य असल्यास मूल्य

अंकगणित ऑपरेटर

खाली एक उदाहरण आहे:

सार्वजनिक वर्ग चाचणी ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स)( int a, b; a = 10; b = (a == 1) ? 20: 30; System.out.println("b चे मूल्य: " + b) ; b = (a == 10) ? 20: 30; System.out.println

खालील परिणाम प्राप्त होईल:

b मूल्य: 30 b मूल्य: 20

ऑपरेटरचे उदाहरण

ऑपरेटरचे उदाहरण- ऑब्जेक्ट विशिष्ट प्रकारचा (वर्ग प्रकार किंवा इंटरफेस प्रकार) आहे की नाही हे तपासते आणि केवळ संदर्भित ऑब्जेक्टच्या व्हेरिएबल्ससाठी वापरले जाते. ऑपरेटरचे उदाहरण असे लिहिले आहे:

(संदर्भ ऑब्जेक्ट व्हेरिएबल) उदाहरण (इंटरफेस वर्ग/प्रकार)

उदाहरणे

स्टेटमेंटच्या डाव्या बाजूला संदर्भ ऑब्जेक्ट व्हेरिएबल उजव्या बाजूला इंटरफेस वर्ग/प्रकारासाठी चाचणी उत्तीर्ण झाल्यास, परिणाम सत्य असेल. खाली ऑपरेटरच्या उदाहरणाचे उदाहरण आणि वर्णन आहे:

पब्लिक क्लास टेस्ट ( पब्लिक स्टॅटिक व्हॉइड मेन(स्ट्रिंग आर्ग्स)( स्ट्रिंगचे नाव = "ओलेग"; // स्ट्रिंग बुलियन रिझल्ट = स्ट्रिंगचे नाव उदाहरण असल्याने खालील सत्य येईल; System.out.println(परिणाम);) )

खालील परिणाम प्राप्त होईल:

तुलना केली जात असलेली ऑब्जेक्ट असाइनमेंटच्या उजवीकडे असलेल्या प्रकाराशी सुसंगत असल्यास हा ऑपरेटर अद्याप सत्यात परत येईल. खाली आणखी एक उदाहरण आहे:

वर्ग वाहन () सार्वजनिक वर्ग कार वाहनाचा विस्तार करते ( सार्वजनिक स्थिर शून्य मुख्य(स्ट्रिंग आर्ग्स)( वाहन a = नवीन कार(); बुलियन परिणाम = कारचे उदाहरण; System.out.println(परिणाम); )

खालील परिणाम प्राप्त होईल:

Java मध्ये ऑपरेटर प्राधान्य

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

उदाहरणार्थ, x = 7 + 3 * 2. येथे x ला 13 मूल्य नियुक्त केले आहे, 20 नाही, कारण "*" ऑपरेटरला "+" पेक्षा जास्त प्राधान्य आहे, म्हणून "3 * 2" प्रथम गुणाकार केला जातो आणि नंतर "7" जोडले आहे "

टेबलमध्ये, सर्वोच्च प्राधान्य विधाने शीर्षस्थानी ठेवली जातात, आणि प्राधान्य पातळी टेबलच्या तळाशी कमी होते. अभिव्यक्तीमध्ये, Java मधील उच्च प्राधान्य ऑपरेटरचे डावीकडून उजवीकडे मूल्यांकन केले जाईल.

श्रेणी ऑपरेटर सहवास
पोस्टफिक्स (). (बिंदू) डावीकडून उजवीकडे
युनरी ++ - - ! ~ उजवीकडून डावीकडे
गुणाकार * / % डावीकडून उजवीकडे
जोडणारा + - डावीकडून उजवीकडे
शिफ्ट >> >>> डावीकडून उजवीकडे
रिलेशनल > >= डावीकडून उजवीकडे
समानता == != डावीकडून उजवीकडे
बिटवाइज “आणि” & डावीकडून उजवीकडे
बिटवाइज अनन्य किंवा (“XOR”) ^ डावीकडून उजवीकडे
बिटवाइज किंवा | डावीकडून उजवीकडे
तार्किक "आणि" && डावीकडून उजवीकडे
तार्किक "OR" ("OR") || डावीकडून उजवीकडे
सशर्त ?: उजवीकडून डावीकडे
असाइनमेंट = += -= *= /= %= >>= उजवीकडून डावीकडे
स्वल्पविराम , डावीकडून उजवीकडे

पुढील पाठात आपण जावा प्रोग्रामिंगमधील लूप कंट्रोलबद्दल बोलू. हा धडा विविध प्रकारच्या लूपचे वर्णन करेल, प्रोग्राम डेव्हलपमेंटमध्ये लूप कसे वापरले जाऊ शकतात आणि ते कोणत्या उद्देशांसाठी वापरले जातात.

आदिम प्रकारांवरील बहुतेक ऑपरेशन्स पद्धती वापरून केल्या जात नाहीत, परंतु विशेष चिन्हे वापरून केल्या जातात ऑपरेशन चिन्ह.

असाइनमेंट ऑपरेटर

व्हेरिएबलला स्थिरांक, दुसरे चल किंवा अभिव्यक्ती (चल आणि/किंवा ऑपरेटर चिन्हांद्वारे विभक्त केलेले स्थिरांक) यांचे मूल्य नियुक्त करणे म्हणतात. असाइनमेंट ऑपरेशनआणि चिन्हाने सूचित केले आहे " = ", उदाहरणार्थ: x = 3; y = x; z = x; Java मध्ये, असाइनमेंट ऑपरेटर एका अभिव्यक्तीमध्ये अनेक वेळा वापरणे शक्य आहे, उदाहरणार्थ: x1 = x2 = x3 = 0 ; हे ऑपरेशन येथून केले जाते उजवीकडून डावीकडे, म्हणजे प्रथम x3 व्हेरिएबलला 0 हे मूल्य दिले जाते, नंतर x2 व्हेरिएबलला x3 (0) व्हेरिएबलचे मूल्य दिले जाते आणि शेवटी x1 व्हेरिएबल x2 (0) चे मूल्य नियुक्त केले जाते ऑपरेशन्सची चिन्हे ज्यांचे वितर्क संख्या आहेत दोन श्रेणींमध्ये विभागले गेले आहेत: unary(अनरी) एका युक्तिवादासह ऑपरेशनची चिन्हे आणि बायनरी(बायनरी) दोन वितर्कांसह.

युनरी ऑपरेशन्स

Java मध्ये खालील युनरी ऑपरेटर परिभाषित केले आहेत:
  • unary वजा " - " – संख्या किंवा अभिव्यक्तीचे चिन्ह विरुद्ध बदलते;
  • unary plus " + " – संख्या किंवा अभिव्यक्तीवर कोणतीही क्रिया करत नाही;
  • bitwise complement "~" (केवळ पूर्णांकांसाठी) – संख्या फील्डचे सर्व बिट्स उलटे (0 ते 1 आणि 1 ते 0 बदलते);
  • वाढ "++" (केवळ पूर्णांकांसाठी) - व्हेरिएबलचे मूल्य 1 ने वाढवते;
  • " -- " (केवळ पूर्णांकांसाठी) - व्हेरिएबलचे मूल्य 1 ने कमी करते.
युनरी ऑपरेशन्सची उदाहरणे " + " आणि " - ": int i = 3 , j, k; j= - i;// j = -3 k = + i; // k = 3 बिटवाइज पूरक ऑपरेशनचे उदाहरण: int a = 15 ;या व्यवहारांची नोंद करणे. ऑपरेटर साइन इन प्रिफिक्स नोटेशन त्याच्या ऑपरेंडचे मूल्य परत करते नंतरअभिव्यक्ती मूल्यांकन. पोस्टफिक्स नोटेशनमध्ये, ऑपरेशन चिन्ह प्रथमत्याच्या ऑपरेंडचे मूल्य परत करते आणि त्यानंतरच वाढ किंवा घटतेची गणना करते, उदाहरणार्थ: int x = 1, y, z; y = ++x; z= x++ ;

व्हेरिएबल y ला मूल्य 2 नियुक्त केले जाईल कारण प्रथम x चे मूल्य 1 ने वाढवले ​​जाईल आणि नंतर परिणाम y व्हेरिएबलला नियुक्त केले जाईल. व्हेरिएबल z ला मूल्य 1 नियुक्त केले जाईल कारण z व्हेरिएबलला प्रथम एक मूल्य नियुक्त केले जाईल आणि नंतर x चे मूल्य 1 ने वाढवले ​​जाईल. दोन्ही प्रकरणांमध्ये, x चे नवीन मूल्य 2 असेल. हे लक्षात घ्यावे की जावामध्ये, सी भाषेच्या विपरीत, घट आणि वाढीव ऑपरेशन्स रिअल व्हेरिएबल्सवर देखील लागू केली जाऊ शकतात (प्रकार फ्लोट आणि डबल).

बायनरी ऑपरेशन चिन्हे संख्यात्मक परिणाम आणि तुलना ऑपरेशन्ससह ऑपरेशन्समध्ये विभागले गेले आहेत, ज्याचा परिणाम बुलियन मूल्य आहे.:
  • अंकगणित बायनरी ऑपरेशन्स
  • Java खालील परिभाषित करते
  • अंकगणित बायनरी ऑपरेशन्स
  • अतिरिक्त "+";
  • वजाबाकी " - ";
गुणाकार "*";विभाग "/"; पूर्णांकांच्या भागाकाराच्या उर्वरित भागाची गणना करणे "%" (पहिल्या संख्येच्या भागाचा उर्वरित भाग दुसऱ्याने परत करतो आणि परिणामात लाभांश सारखेच चिन्ह असेल), उदाहरणार्थ, ऑपरेशनचा परिणाम 5%3 2 च्या बरोबरीचे असेल, आणि ऑपरेशनचा परिणाम (-7) %(-4) -3 च्या बरोबरीचा असेल. Java मध्ये, ऑपरेशन वास्तविक व्हेरिएबल्ससाठी देखील वापरले जाऊ शकते (प्रकार फ्लोट किंवा दुहेरी). बायनरी अंकगणित ऑपरेशन्सची उदाहरणे: int x = 7, x1, x2, x3, x4, x5; x1 = x + 10 ;// x1 = 17 x2 = x – 8 ;

// x2 = -1 x3 = x2 * x;

  • // x3 = -7 x4 = x/ 4 ;
  • // x4 = 1 (पूर्णांक भागाकारताना // अंशात्मक भाग टाकून दिला आहे) x5 = x% 4 // अंशात्मक भाग टाकून दिला आहे)// x5 = 3 (भागाकार शेष
  • // x4 = 1 (पूर्णांक भागाकारताना // अंशात्मक भाग टाकून दिला आहे)// 7 बाय 4) // अंशात्मक भाग टाकून दिला आहे)बिटवाइज ऑपरेशन्स
  • // x4 = 1 (पूर्णांक भागाकारताना // अंशात्मक भाग टाकून दिला आहे)बिटवाइज ऑपरेशन्स कच्च्या अंकीय मूल्यांना बिटचे फील्ड मानतात आणि त्यावर खालील ऑपरेशन्स करतात: // अंशात्मक भाग टाकून दिला आहे)बिट इन सेट करत आहे
  • पहिल्या ऑपरेंडच्या फील्डच्या बिट्सच्या डावीकडे दुसऱ्या ऑपरेंडने निर्धारित केलेल्या बिट्सच्या संख्येनुसार (क्रमांकाचे चिन्ह बिट बदलत नाही) - bitwise डावीकडे शिफ्ट करा हे चिन्ह विचारात घेऊन "<< ";
  • दुसऱ्या ऑपरेंडने ठरवलेल्या बिट्सच्या संख्येनुसार पहिल्या ऑपरेंड फील्डच्या बिट्सची उजवीकडे शिफ्ट (संख्येचे चिन्ह बिट बदलत नाही) – बिटवाइज उजवीकडे शिफ्ट करा, ">" चिन्ह लक्षात घेऊन;
  • पहिल्या ऑपरेंडच्या फील्डच्या बिटच्या उजवीकडे दुसऱ्या ऑपरेंडने निर्धारित केलेल्या बिट्सच्या संख्येनुसार (संख्येचा चिन्ह बिट देखील शिफ्ट केला जातो) - bitwise ">>> विचारात न घेता उजवीकडे शिफ्ट करा "चिन्ह.
बिटवाइज ऑपरेशन्सची उदाहरणे:
  1. बिटवाइज आणि

    int x = 112 ; int y = 94 ;
  2. int z;

    z = x & y; // z=80: 00000000 00000000 00000000 01010000बिटवाइज किंवा int x = 112 ;// x: 00000000 00000000 00000000 01110000 int y = 94 ;
  3. // y: 00000000 00000000 00000000 01011110

    z = x & y; // z=80: 00000000 00000000 00000000 01010000बिटवाइज किंवा int x = 112 ; int z; z = x |
  4. y;

    // z = 126: 00000000 00000000 00000000 00000000 01111110 बिटवाइज अनन्य OR int z;<< 2 ; z = x^y;
  5. // z = 46: 00000000 00000000 00000000 00101110

    चिन्हावर आधारित डावीकडे शिफ्ट int x = 31 , z;
  6. // x: 00000000 00000000 00000000 00011111

    z = x // z = 124: 00000000 00000000 00000000 00000000 01111100चिन्हासह उजवीकडे शिफ्ट int x = - 17 , z;

z = x >> 2 ;

// z = -5: 11111111 11111111 11111111 11111011 खाते चिन्ह न घेता उजवीकडे शिफ्ट int x = - 17 , z;
  1. // x: 11111111 11111111 11111111 11101111
  2. z = x >>> 2 ;
  3. // z = 1073741819
  4. // z: 00111111 11111111 11111111 11111011
  5. एकत्रित ऑपरेशन्स
  6. Java मध्ये, बायनरी अंकगणित ऑपरेशन्ससाठी तुम्ही वापरू शकता
  7. एकत्रित
  8. (संमिश्र) ऑपरेटर चिन्हे: अभिज्ञापक ऑपरेशन = अभिव्यक्ती हे खालील ऑपरेशनच्या समतुल्य आहे: अभिज्ञापक = अभिज्ञापक ऑपरेशन अभिव्यक्ती उदाहरणे:
  9. x += b चा अर्थ x = x + b आहे.<<= b означает x = x << b .
  10. x -= b चा अर्थ x = x - b आहे.
  11. x *= b चा अर्थ x = x * b आहे.

x /= b चा अर्थ x = x / b आहे.

x %= b चा अर्थ x = x % b आहे.
  • x &= b चा अर्थ x = x & b असा होतो.
  • x |= b म्हणजे x = x | ही अभिव्यक्ती b
  • " < " (меньше) " <= " (меньше или равно)
x ^= b चा अर्थ x = x ^ b आहे. अभिव्यक्ती x x >>= b चा अर्थ x = x >> b आहे. x >>>= b चा अर्थ x = x >>> b आहे.तुलना ऑपरेशन्स == " (जागाशिवाय सलग दोन समान चिन्हे), असाइनमेंट ऑपरेटरच्या विरूद्ध, जे चिन्ह वापरते " = ". दोन मूल्यांची तुलना करताना " = " चिन्ह वापरल्याने एकतर संकलन त्रुटी येते किंवा चुकीचा परिणाम होतो. तुलना ऑपरेशन्सची उदाहरणे:बुलियन isEqual, isNonEqual, isGreater, isGreaterOrEqual, isLess, isLessOrEqual;< x1; // isLess = true isLessOrEqual = x1 <= x3; // isLessOrEqual = false

int x1 = 5, x2 = 5, x3 = 3, x4 = 7;

isEqual = x1 == x2;// isEqual = true isNonEqual = x1 != x2; // isNonEqual = असत्य isGreater = x1 > x3;// isGreater = true // isGreaterOrEqual = true isGreaterOrEqual = x2 >= x3;
  • isLess = x3
  • बुलियन ऑपरेशन्स
  • बुलियन ऑपरेशन्स
  • बुलियन व्हेरिएबल्सवर केले जातात आणि त्यांचे परिणाम प्रकाराचे मूल्य देखील आहे
बुलियन . खालील बुलियन ऑपरेशन्स Java मध्ये परिभाषित केल्या आहेत:नकार "!" - खोट्याच्या जागी सत्य किंवा उलट;< 5 ; // isInRange = false isValid = x >आणि ऑपरेशन "&" – दोन्ही ऑपरेंड्स सत्य असल्यासच परिणाम सत्य आहे, अन्यथा परिणाम खोटा आहे;

सशर्त ऑपरेशन

कंडिशनल ऑपरेशन एक्सप्रेशन-1?एक्सप्रेशन-2:एक्सप्रेशन-3 या स्वरूपात लिहिलेले आहे. या प्रकरणात, प्रथम अभिव्यक्ती-1 चे मूल्यमापन केले जाते, ज्याने बूलियन मूल्य दिले पाहिजे आणि नंतर, अभिव्यक्ती-1 सत्य असल्यास, अभिव्यक्ती-2 चे मूल्यमापन केले जाते आणि ऑपरेशनचा परिणाम म्हणून परत केला जातो, किंवा (अभिव्यक्ती -1 असल्यास असत्य आहे), त्याचे मूल्यमापन केले जाते आणि ऑपरेशनच्या परिणामी, अभिव्यक्ती-3 परत केला जातो. सशर्त ऑपरेशनचे उदाहरण: x= n> 1 ? 0 : 1 ;

n>1 (अभिव्यक्ती n>1 सत्य असल्यास) किंवा n≤1 असल्यास 1 (n>1 ही अभिव्यक्ती खोटी असल्यास) व्हेरिएबल x ला 0 मूल्य नियुक्त केले जाईल.

ऑपरेशन ज्येष्ठता
अभिव्यक्तीमधील ऑपरेशन्स डावीकडून उजवीकडे केली जातात, तथापि, त्यांच्या प्राधान्यानुसार. तर y = x + z* 5 या अभिव्यक्तीतील गुणाकार क्रिया;<= 5 ) ;

बेरीज ऑपरेशनच्या आधी अंमलात आणले जाईल कारण गुणाकार ऑपरेशनची प्राथमिकता बेरीज ऑपरेशनच्या प्राधान्यापेक्षा जास्त आहे. Java मधील ऑपरेशन्सचे प्राधान्यक्रम (प्राधान्य कमी करण्याच्या क्रमाने) टेबलमध्ये दिले आहेत. १.

कंस त्यांच्या आत असलेल्या ऑपरेशन्सचे प्राधान्य वाढवतात. तर, जर तुम्ही वरील अभिव्यक्तीमध्ये कंस टाकलात: y = (x + z) * 5 ; नंतर बेरीज ऑपरेशन प्रथम केले जाईल, आणि नंतर गुणाकार ऑपरेशन. काहीवेळा कंस अभिव्यक्ती अधिक वाचनीय बनवण्यासाठी वापरला जातो, उदाहरणार्थ: (x > 1 ) && (xऑपरेशन्स करताना रूपांतरण आणि कास्टिंग असाइनमेंट ऑपरेशन्स आणि अंकगणित अभिव्यक्ती शाब्दिक, चल आणि विविध प्रकारच्या अभिव्यक्ती वापरू शकतात, उदाहरणार्थ: दुहेरी y;बाइट x; y = x + 5 ;® हे उदाहरण बाइट व्हेरिएबल x ला int लिटरल 5 मध्ये जोडते आणि परिणाम दुहेरी व्हेरिएबल y ला नियुक्त करते. Java मध्ये, C भाषेप्रमाणे, अभिव्यक्तींचे मूल्यमापन करताना रूपांतरण टाइप करा स्वयंचलितपणे किंवा टाइप कास्ट ऑपरेटर वापरून केले जाऊ शकते. तथापि, टाईप कास्टिंगचे नियम C भाषेच्या नियमांपेक्षा थोडे वेगळे आहेत, आणि सामान्यतः C भाषेपेक्षा अधिक कठोर आहेत, जेव्हा असाइनमेंट ऑपरेशन केले जाते, तर टाइप रूपांतरण स्वयंचलितपणे होते® विस्तारित परिवर्तन® (विस्तृत रूपांतरण) आणि® दोन प्रकार सुसंगत आहेत® . विस्तारित परिवर्तन म्हणजे परिवर्तन होय. रुंदीकरण रूपांतरणासाठी, पूर्णांक आणि फ्लोटिंग-पॉइंटसह संख्यात्मक प्रकार एकमेकांशी सुसंगत आहेत. तथापि, अंकीय प्रकार चार आणि बुलियन प्रकारांशी सुसंगत नाहीत. चार आणि बुलियन प्रकार देखील एकमेकांशी विसंगत आहेत. जावा अक्षरशः पूर्णांक स्थिरांक (जे डीफॉल्ट int ला) बाईट, शॉर्ट किंवा लाँग प्रकाराच्या व्हेरिएबलमध्ये संचयित करतेवेळी स्वयंचलित प्रकार रूपांतरण देखील करते (तथापि, जर त्या प्रकारच्या वैध मूल्यांच्या श्रेणीबाहेर शब्दशः मूल्य असेल तर, एक त्रुटी संदेश जारी केला आहे: अचूकतेचे संभाव्य नुकसान). जर रूपांतरण एक संकुचित रूपांतरण असेल, म्हणजे, एक बाइट ¬ शॉर्ट ¬ चार ¬ इंट ¬ लांब ¬ फ्लोट ¬ दुहेरी रूपांतरण केले असेल, तर अशा रूपांतरणामुळे संख्येची अचूकता कमी होऊ शकते किंवा त्याची विकृती होऊ शकते. म्हणून, संकुचित रूपांतरण दरम्यान, प्रोग्राम संकलित करताना, प्रकार विसंगततेबद्दल निदान संदेश प्रदर्शित केला जातो आणि वर्ग फायली तयार केल्या जात नाहीत. जर तुम्ही टाइप बाइट किंवा शॉर्टच्या अभिव्यक्तीला char च्या व्हेरिएबलमध्ये रूपांतरित करण्याचा प्रयत्न केला तर हा संदेश देखील जारी केला जाईल. तरीही अशी रूपांतरणे करणे आवश्यक असल्यास, प्रकार कास्ट ऑपरेशन वापरले जाते, ज्याचे खालील स्वरूप आहे: ( प्रकार-रूपांतरण) अर्थ, कुठे प्रकार-रूपांतरणदिलेला डेटा कोणत्या प्रकारात रूपांतरित करणे आवश्यक आहे हे निर्धारित करते अर्थ, उदाहरणार्थ, ऑपरेटर कार्यान्वित करण्याच्या परिणामी: byte x = 71 ; char प्रतीक = (char ) x;चिन्ह व्हेरिएबलला "G" मूल्य प्राप्त होईल. जर फ्लोटिंग-पॉइंट मूल्य पूर्णांक प्रकारास नियुक्त केले असेल, तर (जर फ्लोटिंग-पॉइंट मूल्यामध्ये अंशात्मक भाग असेल तर) एक स्पष्ट प्रकार रूपांतरण देखील होते छाटणे , नंतर परिवर्तनाचा परिणाम म्हणजे नियुक्त केलेल्या प्रकाराच्या श्रेणीच्या मॉड्यूलसने मूल्य विभाजित करण्याचा उर्वरित भाग असेल (प्रकार बाइटच्या संख्येसाठी, श्रेणीचे मॉड्यूलस 256, थोडक्यात - 65536, int साठी समान असेल. – 4294967296 आणि लांबसाठी – 18446744073709551616). उदाहरणार्थ, ऑपरेटर बाइट x = (बाइट ) 514 कार्यान्वित करण्याच्या परिणामी; (ट्रंकेशन) संख्या. तर, ऑपरेटर int x = (int) 77.85 कार्यान्वित करण्याच्या परिणामी;

आम्ही वाचण्याची शिफारस करतो

वर