Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lec 17 Using Nested Loops and Objects in an Applet Class

Similar presentations


Presentation on theme: "Lec 17 Using Nested Loops and Objects in an Applet Class"— Presentation transcript:

1 Lec 17 Using Nested Loops and Objects in an Applet Class

2 Agenda More Applet stuff Drawing a Brick Wall Using objects in Applets
Constants (final) While Loops again Nested Loops Using objects in Applets Point object to locate LL corner of wall (and move it) Default values and null

3 Introduction to final You can make sure that a variable never gets changed once it's initialized (i.e. contstants) Use final in the variable declaration to do that It means: ``Once this variable gets a value, it's final!'' Let's try it out in an Applet that draws Bricks of certain height and width, all the same (constant) size We use the all caps convention when declaring names for constants Use underscores to separate multiple words in the variable name Can also combine static and final to get a class constant Constants can be made public (this is the one exception to the ``must be private'' rule for instance and class variables) If it's a constant, we know nobody will mess it up by accident (especially ourselves)

4 Constants that pin down the size of a Brick
public static final int BRICK_WIDTH=30; public static final int BRICK_HEIGHT=10; ... public void paint(Graphics g) { g.fillRect(100,100,BRICK_WIDTH,BRICK_HEIGHT); g.fillRect(140,100,BRICK_WIDTH,BRICK_HEIGHT); g.fillRect(180,100,BRICK_WIDTH,BRICK_HEIGHT); g.fillRect(220,100,BRICK_WIDTH,BRICK_HEIGHT); } BUT this is kind of silly, we could use a loop to draw a row of bricks

5 The while Loop A control construct for specifying repetition
General Structure: while (condition) { //Statements to be repeated }

6 The Counting while loop
Counting up int i=initialValue; while(i<endValue){ //statements to be repeated i++; } We'll use while loops to draw our bricks

7 And, now that that works What if we want the wall to move around with the arrow keys. Need instance variables, x and y OR a Point for lowerLeft corner of wall. Let's use Point since that lets us talk about null

8 Default values Every variable defaults to some fixed value
For primitive variables: Variables of numerical type (double, float, int, byte, short, long) all default to 0 boolean variables default to false For reference (i.e. object) variables: Variables of any class type default to null Default values are a moot point for: local variables (which are required to be initialized before being used) parameters (they are always initialized by the call to the method) If you always initialize your static variables and instance variables, you don't have to worry about this at all

9 null If a variable is null then it points to no object at all
So if you try calling a method on a variable that points to null, you get a runtime error You can set a reference variable to null using an assignment statement if you don't want it to point to anything Think of null as being a fixed point in memory with nothing there Primitive variables cannot be assigned null. The concept null only makes sense when talking about reference variables

10 Lab17TreasureApplet Redo Treasure Island as an applet class


Download ppt "Lec 17 Using Nested Loops and Objects in an Applet Class"

Similar presentations


Ads by Google