The JSP Files (part 2): Attack Of The Killer Fortune
Cookies
By Vikram Vaswani and Harish Kamath
This article copyright Melonfire 2000−2002. All rights reserved.
Table of Contents
Overdrive.............................................................................................................................................................1
Adding It All Up..................................................................................................................................................2
Flavour Of The Month.......................................................................................................................................5
Turning Up The Heat.........................................................................................................................................7
Do It Or Else........................................................................................................................................................9
Cookie−Cutter Code.........................................................................................................................................10
Lunch In Milan.................................................................................................................................................13
Switching Things Around.................................................................................................................................15
The JSP Files (part 2): Attack Of The Killer Fortune Cookies
i
Overdrive
With a little bit of luck, our introductory article on JSP left you so excited that you spent the last few days
eagerly practicing variable names and letting your friends know how much smarter you are than them. And
this week, we're going to help you cement your reputation still further, by giving you a crash course in JSP's
conditional statements and loops.
Make sure you're strapped in tight − this is gonna be one hell of a ride!
Overdrive 1
Adding It All Up
You'll remember how, in the first part of this tutorial, we used the + operator to add numbers and strings
together. And just as you have the + operator for addition, JSP comes with a bunch of other arithmetic
operators designed to simplify the task of performing mathematical operations.
The following example demonstrates the important arithmetic operators available in JSP:
<html>
<head>
</head>
<body>
<%!
// declare variables
int alpha = 25;
int beta = 5;
int sum, difference, product, quotient, remainder;
%>
<%
// perform operations
out.println("The sum of " + alpha + " and " + beta + " is " +
(alpha +
beta) + "<br>");
out.println("The difference of " + alpha + " and " + beta + "
is " + (alpha
− beta) + "<br>");
out.println("The product of " + alpha + " and " + beta + " is
" + (alpha *
beta) + "<br>");
out.println("The quotient after division of " + alpha + " and
" + beta + "
is " + (alpha / beta) + "<br>");
out.println("The remainder after division of " + alpha + " and
" + beta + "
is " + (alpha % beta) + "<br>");
%>
</body>
</html>
And here's the output:
Adding It All Up 2
The sum of 25 and 5 is 30
The difference of 25 and 5 is 20
The product of 25 and 5 is 125
The quotient after division of 25 and 5 is 5
The remainder after division of 25 and 5 is 0
As with all other programming languages, division and multiplication take precedence over addition and
subtraction, although parentheses can be used to give a particular operation greater precedence. For example,
<%
out.println(10 + 2 * 4);
%>
<hr noshade size=1 color=#cccccc></pre></blockquote><br>
returns 18, while<br>
<blockquote><pre><hr noshade size=1 color=#cccccc>
<%
out.println((10 + 2) * 4);
%>
returns 48.
In addition to these operators, JSP comes with the very useful auto−increment [++] and auto−decrement [−−]
operators, which you'll see a lot of in the next article. The auto−increment operator increments the value of the
variable to which it is applied by 1, while the auto−decrement operator does the opposite. Here's an example:
<%!
int x = 99;
%>
<%
// x = 99
out.println("Before increment, x = " + x + "<br>");
x++;
// x = 100
out.println("After increment, x = " + x);
%>
JSP also comes with a bunch of comparison operators, whose sole raison d'etre is to evaluate expressions and
determine if they are true or false. The following table should make this clearer.
Assume x=4 and y=10
The JSP Files (part 2): Attack Of The Killer Fortune Cookies
Adding It All Up 3
Operator What It Means Expression Result
== is equal to x == y False
!= is not equal to x != y True
> is greater than x > y False
< is less than x < y True
>=
is greater than
or equal to
x >= y False
<=
is less than
or equal to
x <= y True
The JSP Files (part 2): Attack Of The Killer Fortune Cookies
Adding It All Up 4
Flavour Of The Month
And just as you can compare numbers, JSP also allows you to compare strings, with a couple of very useful
String object methods.
First, the equals() method allows you to check whether the value of a particular string variable matches
another. The following example should demonstrate this.
<%
// define variables
String myFavourite = "chocolate";
String yourFavourite = "strawberry";
// compare strings
if (myFavourite.equals(yourFavourite))
{
out.println("A match made in heaven!");
}
else
{
out.println("Naw − try again!");
}
%>
Try changing the values of the variables to match each other, and gasp in awe as the output changes.
In case the equals() method doesn't appeal to you, JSP offers you a choice in the form of the compareTo()
method, which returns a value indicating which of the two strings is greater. Take a look:
<%
// define variables
String alpha = "abcdef";
String beta = "zyxwvu";
// compare strings
out.println(alpha.compareTo(beta));
%>
In this case, if the value of the variable "beta" is greater than that of the variable "alpha", the compareTo()
method will return a negative integer; if it's the other way around, the comparison will return a positive
integer. And if the two strings are identical, the comparison will return 0.
Incidentally, the comparison is based on both the first character of the string, and the number of characters in
Flavour Of The Month 5