← Back to Core Java Course | Chapter 3: Operators | Lesson 4 of 9

Java के Logical Operators

Logical operators true-or-false सवालों को combine करते हैं, जैसे कहना 'अगर धूप है AND homework हो गया है तो तुम बाहर जा सकते हो'। && का मतलब है and, || का मतलब है or, और ! का मतलब है not।
Syntax
java
boolean result = condition1 && condition2;
boolean result = condition1 || condition2;
boolean result = !condition;

Logical AND (&&)

&& सिर्फ तब true evaluate होता है जब दोनों surrounding boolean expressions true हों; किसी भी side पर एक single false expression पूरे combined expression को false बना देता है, दूसरे side की परवाह किए बिना।

उदाहरण: Logical AND (&&)

java
public class Main {
	public static void main(String[] args) {
		boolean loggedIn = true;
		boolean verified = false;
		System.out.println(loggedIn && verified); // false - one side is false
	}
}

Logical OR (||)

|| true evaluate होता है अगर कम से कम एक side true हो, और सिर्फ तब false बनता है जब दोनों sides false हों -- 'अगर user एक admin है OR explicit access रखता है' जैसी conditions के लिए उपयोगी।

उदाहरण: Logical OR (||)

java
public class Main {
	public static void main(String[] args) {
		boolean isAdmin = false;
		boolean hasAccess = true;
		System.out.println(isAdmin || hasAccess); // true - at least one side is true
	}
}

Logical NOT (!)

! बस एक boolean की value flip करता है: इसे एक true expression पर apply करना false देता है, और एक false expression पर true देता है, जो !isEmpty जैसी not conditions को readably express करने के लिए handy है।

उदाहरण: Logical NOT (!)

java
public class Main {
	public static void main(String[] args) {
		boolean isEmpty = false;
		System.out.println(!isEmpty); // true - flips the value
	}
}

Short-circuit Evaluation

चूंकि && एक false operand hit होते ही evaluate करना रोक देता है (और || एक true hit होते ही रुक जाता है), आप सुरक्षित रूप से list != null && list.size() > 0 लिख सकते हैं -- अगर list पहले से null हो तो size() call कभी नहीं चलती।

उदाहरण: Short-circuit Evaluation

java
public class Main {
	public static void main(String[] args) {
		String list = null;
		System.out.println(list != null && list.length() > 0); // list.length() never runs
	}
}

Combining Logical Operators

Sub-expressions को parentheses में wrap करना, जैसे (a && b) || c, intended evaluation order को explicit बनाता है बजाय reader को Java के default operator precedence rules याद रखने पर भरोसा करने के।

उदाहरण: Combining Logical Operators

java
public class Main {
	public static void main(String[] args) {
		boolean a = true, b = false, c = true;
		System.out.println((a && b) || c); // parentheses make evaluation order explicit
	}
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. && या || चाहिए होने पर & या | उपयोग करना, जो short-circuit नहीं करता।
  2. a > 1 && < 5 लिखना, जो compile नहीं होता; दोनों sides को एक पूरा comparison चाहिए, जैसे a > 1 && a < 5।
  3. && या || के right side के चलने पर भरोसा करना, जब left side result decide करे तो यह skip हो जाता है।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.