हाय! आज आपण जावा मधील अंकीय ऑपरेटर्स या अत्यंत महत्त्वाच्या विषयावर विचार करू .
प्रोग्रामिंगमध्ये, संख्या सर्वत्र असतात. जर तुम्ही खोल खोदून हायस्कूल आठवत असाल, तर तुम्हाला आठवत असेल की संगणक सर्व माहिती संख्यात्मक स्वरूपात दर्शवतो: शून्य आणि एक यांचे संयोजन, ज्याला बायनरी कोड देखील म्हणतात.
प्रोग्रामिंगमध्ये बरेच अंकीय ऑपरेटर आहेत, म्हणून आम्ही त्यापैकी सर्वात महत्वाचे एक्सप्लोर करण्यासाठी उदाहरणे वापरू :) चला सर्वात सोप्यापासून सुरुवात करूया: अंकगणित ऑपरेटर . हे सुप्रसिद्ध बेरीज (
+
), वजाबाकी ( -
), गुणाकार ( *
), आणि भागाकार ( /
) ऑपरेटर आहेत.
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y);
System.out.println(x/y);
}
}
कन्सोल आउटपुट: 1032 966 32967 30 तुम्ही हे सर्व आधीच वापरले आहे. या गटामध्ये, तुम्ही उर्वरित किंवा मॉड्यूल ( %
) ऑपरेटरमध्ये जोडू शकता.
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 33%2;
System.out.println(y);
}
}
कन्सोल आउटपुट: 1 या उदाहरणात, आपण 33 ला 2 ने भागतो. हे 2 ने भाग न येणार्या अतिरिक्त "शेपटी" (एक) सह 16 मिळते. हे "शेपटी" हे "भागाकारातील उर्वरित" ऑपरेशनचे परिणाम आहे. जावा तुलना/रिलेशनल ऑपरेटर (जसे गणिताप्रमाणे) देखील लागू करते. ते कदाचित तुम्हाला शाळेपासून देखील परिचित आहेत:
==
( ) च्या बरोबरीचे>
( ) पेक्षा मोठे<
( ) पेक्षा कमी>=
( ) पेक्षा मोठे किंवा समान<=
( ) पेक्षा कमी किंवा समान- समान नाही (
!=
)
==
, नाही =
. Java मध्ये, सिंगल हा असाइनमेंट=
ऑपरेटर आहे , जो व्हेरिएबलला संख्या, स्ट्रिंग किंवा दुसर्या व्हेरिएबलचे मूल्य नियुक्त केल्यावर वापरला जातो.
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x=y);// We expect false to be displayed
}
}
कन्सोल आउटपुट: 999 अरेरे! आम्हाला अपेक्षित असलेला हा निकाल नक्कीच नाही. हा एक पूर्णपणे भिन्न डेटा प्रकार आहे: आम्हाला बुलियन दिसण्याची अपेक्षा होती , परंतु आम्हाला एक संख्या मिळाली. सर्व कारण आम्ही तुलना करण्याऐवजी कंसात असाइनमेंट ऑपरेटर वापरला आहे . (999) चे मूल्य व्हेरिएबलला नियुक्त केले होते , आणि नंतर आम्ही ची मूल्य प्रदर्शित केली . ते करण्याचा योग्य मार्ग येथे आहे: x=y
y
x
x
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x==y);
}
}
कन्सोल आउटपुट: असत्य आता आम्ही दोन संख्यांची योग्य प्रकारे तुलना केली आहे! :) असाइनमेंट ऑपरेटरचे आणखी एक वैशिष्ट्य येथे आहे ( =
): ते एकत्र "साखळीने बांधले" जाऊ शकते:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
int z = 256;
x = y = z;
System.out.println(x);
}
}
कन्सोल आउटपुट: 256 लक्षात ठेवा असाइनमेंट उजवीकडून डावीकडे आहे . ही अभिव्यक्ती ( x = y = z
) चरणांमध्ये कार्यान्वित केली जाईल:
y = z
, ते आहे,y = 256
x = y
, ते आहे,x = 256
युनरी ऑपरेटर.
त्यांना " युनो " शब्दापासून " युनरी " म्हणतात , ज्याचा अर्थ " एक " आहे. त्यांना हे नाव मिळाले कारण, मागील ऑपरेटरच्या विपरीत, ते एकाच संख्येवर कार्य करतात, अनेक नाही. यात समाविष्ट:-
युनरी वजा. ते नंबरचे चिन्ह फ्लिप करते.
public class Main {
public static void main(String[] args) {
int x = 999;
// Change the sign for the first time
x = -x;
System.out.println(x);
// Change the sign for the second time
x= -x;
System.out.println(x);
}
}
कन्सोल आउटपुट: -999 999 आम्ही युनरी मायनस ऑपरेटर दोनदा वापरला. परिणामी, आमचा नंबर प्रथम नकारात्मक होता, आणि नंतर तो पुन्हा सकारात्मक झाला!
- वाढ (++) आणि घट (--)
++
संख्या एकाने वाढवतो आणि --
ऑपरेटर संख्या समान प्रमाणात कमी करतो.
public class Main {
public static void main(String[] args) {
int x = 999;
x++;
System.out.println(x);
x--;
System.out.println(x);
}
}
कन्सोल आउटपुट: 1000 999 जर तुम्ही C++ भाषा ऐकली असेल तर हे नोटेशन तुम्हाला परिचित असेल. "C++ हा C भाषेचा विस्तार आहे" ही कल्पना व्यक्त करण्यासाठी त्याच्या निर्मात्यांनी हे मनोरंजक नाव वापरले आहे. Notepad च्या लोकप्रिय सुधारित आवृत्तीला Notepad++ म्हणतात. येथे एक महत्त्वाचा मुद्दा आहे. दोन प्रकारचे वाढ आणि घट ऑपरेटर आहेत: पोस्टफिक्स आणि उपसर्ग . x++
- पोस्टफिक्स ++x
- उपसर्ग क्रमांकाच्या आधी किंवा नंतर प्लस/उजा टाकण्यात मूलभूत फरक काय आहे? आपण पुढील उदाहरणात पाहू.
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
}
}
कन्सोल आउटपुट: 999 काहीतरी बरोबर नाही! आम्हाला 1 ने वाढवायची होती x
आणि y व्हेरिएबलला नवीन मूल्य नियुक्त करायचे होते. दुसऱ्या शब्दांत, y 1000 असायला हवे. परंतु त्याऐवजी आम्हाला दुसरे काहीतरी मिळते: 999. असे दिसते की x वाढवलेला नाही आणि वाढीव ऑपरेटरने काम केले नाही? पण काम झाले. स्वतःला पटवून देण्यासाठी, x
शेवटी प्रदर्शित करण्याचा प्रयत्न करा :)
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
System.out.println(x);
}
}
कन्सोल आउटपुट: 999 1000 खरं तर, या ऑपरेशनला पोस्टफिक्स असे का म्हणतात: हे मुख्य अभिव्यक्तीनंतर केले जाते. याचा अर्थ, आमच्या बाबतीत: int y = x++;
y = x
प्रथम केले जाते (आणि व्हेरिएबलच्या y
मूल्यावर प्रारंभ केले जाईल x
), आणि त्यानंतरच x++
कार्यान्वित केले जाईल, जर हे आम्हाला हवे असलेले वर्तन नसेल तर काय? मग आपल्याला उपसर्ग नोटेशन वापरण्याची आवश्यकता आहे :
public class Main {
public static void main(String[] args) {
int x = 999;
int y = ++x;
System.out.println(y);
}
}
या प्रकरणात, ++x
प्रथम प्रक्रिया केली जाते आणि नंतरच असते y = x
; अंमलात आणले. रिअल प्रोग्राममध्ये चुका होऊ नयेत म्हणून तुम्ही हा फरक लगेच मेमरीमध्ये केला पाहिजे जेथे पोस्टफिक्स ऐवजी उपसर्ग वापरल्याने सर्वकाही उलटे होऊ शकते :)
कंपाउंड ऑपरेटर
याव्यतिरिक्त, जावामध्ये तथाकथित कंपाउंड ऑपरेटर आहेत. ते दोन ऑपरेटर एकत्र करतात:- असाइनमेंट
- अंकगणित ऑपरेटर
+=
-=
*=
/=
%=
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
x += y;
System.out.println(x);
}
}
कन्सोल आउटपुट: 1032 x += y
म्हणजे x = x + y
. संक्षिप्ततेसाठी दोन चिन्हे सलगपणे वापरली जातात. संयोजन -=
, *=
, /=
आणि %=
त्याच प्रकारे कार्य करतात.
तार्किक ऑपरेटर
अंकीय ऑपरेटर्स व्यतिरिक्त, Java मध्ये बुलियन व्हॅल्यू ( true आणि false ) समाविष्ट असलेल्या ऑपरेशन्स देखील आहेत. हे ऑपरेशन लॉजिकल ऑपरेटर वापरून केले जातात!
- तार्किक नाही . हे बुलियनचे मूल्य फ्लिप करते
public class Main {
public static void main(String[] args) {
boolean x = true;
System.out.println(!x);
}
}
कन्सोल आउटपुट: असत्य
&&
- तार्किक आणि . दोन्ही ऑपरेंड्स सत्य असतील तरच ते खरे परत येते .
public class Main {
public static void main(String[] args) {
System.out.println(100 > 10 && 100 > 200);
System.out.println(100 > 50 && 100 >= 100);
}
}
कन्सोल आउटपुट: असत्य सत्य पहिल्या ऑपरेशनचा परिणाम असत्य आहे, कारण ऑपरेंडपैकी एक असत्य आहे, म्हणजे 100 > 200
. खरे परत येण्यासाठी, &&
ऑपरेटरला दोन्ही ऑपरेंड सत्य असणे आवश्यक आहे (जसे दुसऱ्या ओळीत आहे).
||
- तार्किक किंवा . जेव्हा किमान एक ऑपरेंड सत्य असते तेव्हा ते खरे होते.
public class Main {
public static void main(String[] args) {
System.out.println(100 > 10 || 100 > 200);
}
}
कन्सोल आउटपुट: true अभिव्यक्ती 100 > 200
अजूनही असत्य आहे, परंतु OR ऑपरेटरसाठी ते पूर्णतः पुरेसे आहे की पहिला भाग ( 100 > 10
) सत्य आहे.
GO TO FULL VERSION