Introduction
Decision control is one of the most important programming concepts in Jython. It allows your program to make decisions, execute different blocks of code, and respond intelligently based on conditions.
Since Jython follows Python syntax while running on the Java Virtual Machine (JVM), it uses Python's clean and readable conditional statements. Whether you're validating user input, checking login credentials, processing business rules, or interacting with Java libraries, decision control helps your applications behave dynamically.
In this tutorial, you'll learn:
- What decision control is
- Boolean expressions
- Comparison operators
- Logical operators
-
The
ifstatement -
The
if...elsestatement -
The
if...elif...elsestatement - Nested conditions
- Conditional expressions (ternary operator)
- Combining multiple conditions
- Using Java objects in conditions
- Best practices
- Common mistakes
- Frequently asked questions
What Is Decision Control?
Decision control allows a program to execute different code depending on whether a condition evaluates to True or False.
For example:
- Check if a user is an adult.
- Verify a password.
- Determine whether a file exists.
- Decide which menu option to display.
- Validate form input.
Without decision control, programs would execute every statement sequentially, regardless of the situation.
Boolean Expressions
Every decision begins with a Boolean expression.
A Boolean expression evaluates to either:
True
False
Example:
age = 20
print(age >= 18)
Output
True
Comparison Operators
Comparison operators compare two values.
| Operator | Description | Example |
|---|---|---|
== | Equal to | a == b |
!= | Not equal | a != b |
> | Greater than | a > b |
< | Less than | a < b |
>= | Greater than or equal | a >= b |
<= | Less than or equal | a <= b |
Example:
x = 10
y = 20
print(x < y)
print(x == y)
print(x != y)
Output
True
False
True
Logical Operators
Logical operators combine multiple conditions.
| Operator | Description |
|---|---|
and | Both conditions must be True |
or | At least one condition must be True |
not | Reverses a Boolean value |
Example:
age = 25
has_id = True
print(age >= 18 and has_id)
Output
True
The if Statement
The simplest decision structure is the if statement.
Syntax:
if condition:
# code
Example:
temperature = 30
if temperature > 25:
print("It's a warm day.")
Output
It's a warm day.
If the condition is False, nothing inside the block is executed.
The if...else Statement
Use else when you want an alternative action.
age = 16
if age >= 18:
print("You can vote.")
else:
print("You are too young to vote.")
Output
You are too young to vote.
The if...elif...else Statement
When multiple conditions need to be checked, use elif.
score = 87
if score >= 90:
print("Grade A")
elif score >= 80:
print("Grade B")
elif score >= 70:
print("Grade C")
else:
print("Grade D")
Output
Grade B
Only the first matching condition is executed.
Nested if Statements
You can place an if statement inside another if.
age = 22
has_ticket = True
if age >= 18:
if has_ticket:
print("Entry allowed.")
Output
Entry allowed.
Nested conditions are useful when multiple requirements must be satisfied in sequence.
Using Multiple Conditions
Example:
username = "admin"
password = "12345"
if username == "admin" and password == "12345":
print("Login successful.")
else:
print("Invalid credentials.")
Using the or Operator
day = "Saturday"
if day == "Saturday" or day == "Sunday":
print("Weekend")
Output
Weekend
Using the not Operator
logged_in = False
if not logged_in:
print("Please log in.")
Output
Please log in.
Checking Multiple Numeric Ranges
age = 35
if age >= 18 and age <= 60:
print("Working age")
A shorter equivalent is:
if 18 <= age <= 60:
print("Working age")
Comparing Strings
language = "Python"
if language == "Python":
print("Great choice!")
Output
Great choice!
Remember that string comparisons are case-sensitive.
Checking List Membership
Use the in operator.
languages = ["Python", "Java", "Jython"]
if "Jython" in languages:
print("Jython found.")
Output
Jython found.
Checking Dictionary Keys
student = {
"name": "Alice",
"age": 21
}
if "name" in student:
print(student["name"])
Output
Alice
Conditional Expression (Ternary Operator)
Jython supports concise conditional expressions.
Syntax:
value_if_true if condition else value_if_false
Example:
age = 20
status = "Adult" if age >= 18 else "Minor"
print(status)
Output
Adult
Using Decision Control with Java Objects
Because Jython can work directly with Java classes, you can use decision statements with Java objects.
Example:
from java.io import File
file = File("data.txt")
if file.exists():
print("File found.")
else:
print("File does not exist.")
Combining Java and Python Logic
from java.util import ArrayList
items = ArrayList()
items.add("Python")
if items.size() > 0:
print("Collection contains data.")
Output
Collection contains data.
Decision Control in Loops
Conditional statements are commonly used inside loops.
numbers = [10, 15, 20, 25]
for number in numbers:
if number % 2 == 0:
print(number, "is even")
Output
10 is even
20 is even
Truthy and Falsy Values
In Jython, many values are evaluated automatically as True or False.
Falsy values include:
False
None
0
0.0
""
[]
{}
set()
Example:
name = ""
if not name:
print("Name is empty.")
Output
Name is empty.
Best Practices
Write clearer decision logic by following these recommendations:
- Keep conditions simple and readable.
- Use meaningful variable names.
-
Avoid deeply nested
ifstatements where possible. -
Prefer
elifover multiple independentifstatements when only one branch should execute. - Use logical operators carefully.
- Add comments only when the condition is complex.
- Validate user input before processing it.
- Test all possible branches during development.
Common Mistakes
Forgetting the Colon
Incorrect:
if age > 18
print(age)
Correct:
if age > 18:
print(age)
Incorrect Indentation
Incorrect:
if age > 18:
print(age)
Correct:
if age > 18:
print(age)
Using Assignment Instead of Comparison
Incorrect:
if age = 18:
Correct:
if age == 18:
Overusing Nested Conditions
Instead of:
if condition1:
if condition2:
if condition3:
...
Consider combining conditions where appropriate to improve readability.
Real-World Example
The following program determines ticket pricing based on age.
age = 12
if age < 5:
price = 0
elif age < 18:
price = 8
elif age < 60:
price = 15
else:
price = 10
print("Ticket Price:", price)
Output
Ticket Price: 8
Frequently Asked Questions (FAQ)
What is decision control?
Decision control allows a program to execute different blocks of code based on whether conditions evaluate to True or False.
What is the difference between if and elif?
-
ifstarts a conditional statement. -
elifchecks additional conditions only if the previous conditions were false.
Can I use Java objects in conditions?
Yes. Jython allows Java objects to be evaluated in conditional statements, such as checking whether a Java File exists or whether a Java collection contains elements.
What are truthy and falsy values?
Truthy values evaluate to True, while falsy values (such as 0, None, empty strings, and empty collections) evaluate to False.
Can I combine multiple conditions?
Yes. Use and, or, and not to create more complex logical expressions.
Conclusion
Decision control is an essential part of Jython programming, enabling applications to make intelligent choices based on conditions. By mastering if, elif, else, nested conditions, logical operators, comparison operators, and conditional expressions, you can build programs that respond dynamically to user input, data, and Java objects.
Since Jython combines Python's elegant syntax with the power of the Java Virtual Machine, understanding decision control prepares you for more advanced topics such as loops, functions, exception handling, object-oriented programming, and enterprise Java integration.


0 Comments