Here are the tools you need in your Java Toolbox in your head. The
red
words cannot be changed. The green can be changed by you:
public class MyClassName
{
// you can define a class
variable here
public static void main( )
{
// your statements
will go here
// your calls to
method1 will have the form: method1()
}
public
static void method1( )
{
// your statements
will go here
}
}
- create a variable
- In Java: <type> <variable name> ;
example: int myIntVar;
- declare with correct type: int,
double, char, boolean, (not capitalized)
- declare Object variables with types such as : String, Scanner, Random,
(capitalized)
- change variable contents:
- In Java: <variable name> = <some expression>;
example: myIntVar = 5 ;.
- Say something on the screen:
- In Java: System.out.println(<whatever
you want
to print> + <whatever
you
want to print> );
- example: System.out.println("Hello, my name is " +
myName + "My number is " + myNumber);
- Remember: the semi-colon; capitalize System, use both
parentheses;
- Remember quotes around text and not around variable
names
- variations: printf and print
- Work with methods
- Define a method
- add a method right before the class closing curly
braces
- a method header is immediately before the method's
curly
braces
- ex: public static double myMethod(int x){
// your statements go here}
- a method's parameter variables are created
inside
the parentheses (ex: in the statement above, int x is
the parameter
creation
- a method's return type is defined before the
method name (ex: in the statement above, double is the
return type)
- a method with a return type needs to end with a return
statement.
- a method with no return type (void) cannot have a
return statement
- Call a method:
- for static methods you create: <method name> (any
parms). ex: myMethod(3);
- for static methods that are not in your class:
<class>.<method name> (any parms) ex: Math.pow(5,2);
- for instance methods that are not in your class:
<object>.<method name> (any parms) ex:
myScanner.nextDouble();
- parameters must match in type and number
- for methods that return a variable: set it = to
something. ex: myDoubleVar = myMethod(3);
- Create boolean expressions:
- use when you want to save the result of a true/false
question
- use comparison operator: ==,
<,>,<=,>=,!=
- use logical indicator
- example: myBooleanVar = x > 5 && x < 10 (x
can be between 5 and 10)
- example: myBooleanVar2 = x <5 || x >10 (x can be
less than 5 or greater than 10)
- Setup to read something from the screen:
- In Java: there are 2 commands needed:
- before the class starts, import the scanner class
using: import java.util.Scanner;
- inside the method, create a scanner object
using: Scanner kbd = new
Scanner(System.in);
- In Alice: Not needed,
but
similar to importing a character using file / import
- Read something from the screen:
- In Java: <your variable> = < name of the scanner
you
created above>.nextLine();
- Ask the user for something first, or the system will
appear
to hang waiting for the user to answer a question you
never asked.
- Use the scanner method that matches your variable type.
- example to get the whole line: myStringVar
= kbd.nextLine();
- example to get the next word: myStringVar
= kbd.next();
- example to get the next double: mydoubleVar
= kbd.nextDouble();
- example to get the next int: myIntVar
= kbd.nextInt();
- See
Sun's
page on scanner for much more
- In Alice: Drag the
variable
down to create a set command and drag over the world's
"Ask user for a
number" function.
You need to know how to use these for the midterm, but you do not
need to memorize the commands. If you are asked to call these
methods,
you will be given the method name and parameters.
- Math
- absolute value ex: myDoubleVar= Math.abs(#);
- random ex: myDoubleVar = Math.random();
- minimum: Math.min(#,#)
- maximum: Math.max(#,#)
- raise to a power: Math.pow(#,#) : Note: The first number
is
raised to the second number
- knows PI and E
- Strings
- stringvar.charAt(3) // will return a character
- stringvar.length() // will return an integer
- stringvar.toUpperCase() // will return a String
that is all uppercase
- stringvar.toLowerCase() // will return a String
that is all lowercase
- stringvar.subString(2) // will return a String
starting in position 2 to the end
- stringvar.subString(2, 5) // will return a String
starting in position 2 and ending in position 4
- stringvar.equals(someOtherString) // will return
either true or false (a boolean)
- stringvar.indexOf(someOtherString) // will return
either the index of the location or -1 to indicate not found
-
ex: newString = myOriginalString.toLowerCase();
Also, strings can be put together into another string
with the +
ex: newString = string1 + string2;
Creating methods:
public static return_type
method_name (type parm1, type
parm2)
{
...
...
return expression;
}
Calling methods:
object_or_class.method_name(parm1,
parm2);
If / if else / else
if (condition that evaluates to true or false)
{
// do something
}
else if (condition that evaluates to true or false) // remember
that everything that met first criteria doesn't get here
{
// do something else
}
.
. // repeat else if as needed
.
else // remember to put no condition
{
// do something
}
If facts:
- else is not needed
- when the condition is met, it executes inside the parentheses
and then goes to the end of the if and continues on down
- You can have ifs inside the brackets for another if
Loops
For loop - repeats when you know the number of times to
repeat
for (statement to start the loop; condition that evaluates to
true or false; statement to run when the loop repeats)
{
// do something
}
For facts:
- Don't put a semi-colon at the end of the for condition
- Remember to create the variable used to count the loop with
an int statement somewhere in your program. (either in the for
statement or before it)
- You can add to the counter between the brackets as well.
- After the first time through, the for loop does the
"statement to run when the loop repeats" first, and then
checks whether the condition fails.
- When the condition fails, it goes to the bottom bracket of
the loop and continues on
- You can have loops inside loops
- Stopping when equal to a single number is dangerous - go
with < or > instead when you can.
While loop - repeats until some condition is met
while (condition that evaluates to true or false)
{
// do something
// at some point, set the condition to stop
}
- Don't put a semi-colon at the end of the while condition
- Remember to have something inside your loop that will make
the condition fail sometime, or it will NEVER END
- When the condition fails, it goes to the bottom bracket of
the loop and continues on
- The condition is only checked when it gets to the bottom
bracket. Reaching the bottom bracket causes it to go back up
to the top and check
- You can have loops inside loops