अभिव्यक्तियाँ किसी भी जावा प्रोग्राम के आवश्यक निर्माण खंड हैं, जो आमतौर पर एक नए मूल्य का निर्माण करने के लिए बनाई जाती हैं, हालांकि कभी-कभी एक अभिव्यक्ति एक चर के लिए एक मूल्य प्रदान करती है। मानों का उपयोग करके अभिव्यक्तियां बनाई जाती हैं, चर, ऑपरेटरों और विधि कॉल।
जावा स्टेटमेंट और एक्सप्रेशन के बीच अंतर
जावा भाषा के वाक्य रचना के संदर्भ में, एक अभिव्यक्ति एक के समान है अंग्रेजी भाषा में खंड जो एक विशिष्ट अर्थ को चित्रित करता है। सही विराम चिह्न के साथ, यह कभी-कभी अपने दम पर खड़ा हो सकता है, हालांकि यह एक वाक्य का हिस्सा भी हो सकता है। कुछ अभिव्यक्तियाँ अपने आप में बयानों के साथ बराबरी करती हैं (अंत में एक अर्धविराम जोड़कर), लेकिन अधिक सामान्यतः, वे एक बयान का हिस्सा होते हैं।
उदाहरण के लिए,
(एक * 2)अभिव्यक्ति है।
बी + (ए * 2);एक बयान है। आप कह सकते हैं कि अभिव्यक्ति एक खंड है, और कथन पूर्ण वाक्य है क्योंकि यह निष्पादन की पूरी इकाई बनाता है।
एक बयान में कई भावों को शामिल नहीं किया गया है। आप एक अर्ध-उपनिवेश को जोड़कर एक सरल अभिव्यक्ति को बयान में बदल सकते हैं:
(एक * 2);
भाव के प्रकार
जबकि एक अभिव्यक्ति अक्सर एक परिणाम पैदा करता है, यह हमेशा नहीं होता है। जावा में तीन प्रकार के भाव हैं:
- जो एक मूल्य का उत्पादन करते हैं, अर्थात, का परिणाम
(1 + 1)
- उदाहरण के लिए, जो एक चर प्रदान करते हैं
(v = 10)
- जिनके पास कोई परिणाम नहीं है, लेकिन "साइड इफेक्ट" हो सकता है क्योंकि एक अभिव्यक्ति की एक विस्तृत श्रृंखला शामिल हो सकती है विधि इनवोकेशन या वेतन वृद्धि ऑपरेटरों जैसे तत्व जो राज्य को संशोधित करते हैं (यानी, मेमोरी) a कार्यक्रम।
अभिव्यक्ति के उदाहरण
यहाँ विभिन्न प्रकार के भावों के कुछ उदाहरण दिए गए हैं।
भाव जो एक मूल्य पैदा करते हैं
मूल्य उत्पन्न करने वाली अभिव्यक्तियाँ जावा अंकगणित, तुलना या सशर्त ऑपरेटरों की एक विस्तृत श्रृंखला का उपयोग करती हैं। उदाहरण के लिए, अंकगणितीय ऑपरेटरों में +, *, /, , ++ और% शामिल हैं। कुछ सशर्त संचालक हैं?, ||, और तुलना ऑपरेटर हैं । देखें जावा विनिर्देशन एक पूरी सूची के लिए।
ये भाव एक मूल्य उत्पन्न करते हैं:
3/2
5% 3
पी + + (१० * २)
अंतिम अभिव्यक्ति में कोष्ठक पर ध्यान दें। यह जावा को पहले कोष्ठकों के भीतर अभिव्यक्ति के मूल्य की गणना करने के लिए निर्देशित करता है (ठीक उसी तरह जैसे स्कूल में आपने जो अंकगणित सीखा है), फिर बाकी गणना पूरी करें।
अभिव्यक्तियाँ जो एक चर को निरुपित करती हैं
यहां इस कार्यक्रम में बहुत सारे भाव हैं (बोल्ड इटैलिक्स में दिखाया गया है) जो प्रत्येक को एक मान प्रदान करता है।
पूर्णांक सेकंड्सडाय = 0;
पूर्णांक
दिनों में = 7;
पूर्णांक
घंटे का समय = 24;
पूर्णांक
मिनटइन्होर = 60;
पूर्णांक
सेकंडइंटरनेट = 60;
बूलियन
गणनावेक = सत्य;
secondsInDay = secondsInMinute * minutesInHour * hoursInDay; //7
println (
"एक दिन में सेकंड की संख्या है:" + secondsInDay);
अगर (
गणनावेक == सत्य)
{
println (
"एक सप्ताह में सेकंड की संख्या है:" + secondsInDay * daysInWeek);
}
ऊपर दिए गए कोड की पहली छह पंक्तियों में अभिव्यक्तियाँ, सभी असाइनमेंट ऑपरेटर का उपयोग बाईं ओर चर पर दाईं ओर मान असाइन करने के लिए करती हैं।
// 7 के साथ निरूपित रेखा एक अभिव्यक्ति है जो एक कथन के रूप में अपने आप खड़ी हो सकती है। यह यह भी दर्शाता है कि एक से अधिक ऑपरेटर के उपयोग के माध्यम से अभिव्यक्तियों का निर्माण किया जा सकता है। वैरिएबल सेकंड्स का अंतिम मूल्य इनडाय, बदले में प्रत्येक अभिव्यक्ति का मूल्यांकन करने की पराकाष्ठा है (यानी, सेकंडइंनम्यूट * मिनटइंटर = 3600, इसके बाद 3600 * घंटे = इनडाय = 86400)।
कोई परिणाम नहीं के साथ अभिव्यक्तियाँ
हालांकि कुछ अभिव्यक्तियाँ कोई परिणाम नहीं देती हैं, लेकिन उनके दुष्प्रभाव हो सकते हैं जो तब होता है जब कोई अभिव्यक्ति इसके किसी भी मूल्य को बदल देती है ऑपरेंड.
उदाहरण के लिए, कुछ ऑपरेटरों को हमेशा साइड इफेक्ट का उत्पादन करने के लिए माना जाता है, जैसे कि असाइनमेंट, इंक्रीमेंट और डिक्रीमेंट ऑपरेटर। इस पर विचार करो:
int product = a * b;
इस अभिव्यक्ति में केवल परिवर्तनशील चर है उत्पाद; ए तथा ख बदले नहीं हैं। इसे साइड इफेक्ट कहा जाता है।