Constants - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Constants

Description:

A constant memory location cannot be changed, so it makes sense to just ... (each Car object does not need it's own memory location to store MPG) Simple example ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 16
Provided by: chandra4
Category:
Tags: constants

less

Transcript and Presenter's Notes

Title: Constants


1
Constants
  • public class Car
  • //This class produces cars with 18 MPG
  • private String color
  • private String make
  • private String model
  • private double gas
  • public Car (String col, String mk, String
    mod, double galofgas)
  • ..
  • public void moveForward(double miles)
  • gas gas - miles/18.0
  • public void moveBackward(double miles)
  • gas gas - miles/18.0

2
  • public class Car
  • private final double MPG 18.0 //value
    cannot change

  • //adds readablility to code
  • private String make
  • private String model
  • private double gas
  • public Car (String col, String mk, String
    mod, double galofgas)
  • ..
  • public void moveForward(double miles)
  • gas gas - miles/MPG
  • public void moveBackward(double miles)
  • gas gas - miles/MPG

3
Static Methods
  • If a method is declared as static, it may be
    called without using an object of the class.
  • For example we called all Car class methods in
    the form
  • CarObject.methodNam
    e
  • because none of these
    methods were static
  • If a method is declared as static, it may be
    called without an object
  • ClassName.methodName
  • Example
  • Math.sqrt(4)
  • The sqrt method is a static method defined in the
    Math class.

4
Static Variables
  • If an instance variable is declared as static, it
    is shared by ALL OBJECTS of the class.
  • (eg. Each object created from that class DOES
    NOT have its own storage location allocated for
    the variable all the objects use the one
    variable location.)
  • When do you use a static instance variable??
  • when information needs to be shared between
    objects
  • and a method calls does not make design
    sense
  • class constants should be static. A constant
    memory location cannot be changed, so it makes
    sense to just allocate one

5
Class Constants should be static
  •  In a method final typeName variableName
    expression
  • In a class accessSpecifier static final
    typeName variableName expression
  • Why??
  • Because, each object of class does not need
    its own copy of a constant
  • (each Car object does not need its own memory
    location to store MPG)

6
Simple example
  •  public class Player
  • private static int topScore 0
  • private int myScore 0
  • private static final int winScore 21
  • public Player() .
  • public void gotPoint ()
  • myScore myScore 1
  • if (myScore gt topScore)
  • topScore myScore
  • public static boolean winner( )
  • return (topScore gt winScore)

7
  •  public class Game
  • public static void main (String args)
  • Player player1, player2, player3
  • player1 new Player ()
  • player2 new Player ()
  • player2 new Player ()
  • while ( Player.winner() false)
  • //code to play game

8
Arithmetic Operators
  • , - , are used for addition, subtraction and
  • multiplication
  • / is the division operator
  • If both arguments are integers, the result is an
    integer. The remainder is discarded
  • For example
  • int val1 7
  • double value 7.0
  • value value / 4 //assigns 1.75 val1
    val1 / 4 //assignes 1
  • value val1 / 4 //assigns 1.0

9
Arithmetic Operators
  • Get the remainder with (pronounced "modulo")
  • For example
  • int val1 7
  • val1 val1 / 4 //assigns 1
  • val1 val1 4 //assigns 3

10
Mathematical Functions
The Math class is a class which contains static
methods which perform mathmatical functions.
11
Type Conversion
  • Java will only allow an assignment if NO VALUE
    will be lost and types are compatible
  • double total "a lot" //not compatible
  • int ww 5.67 //value would be
    lost
  • Use cast to force conversion from one type to
    another (if it is possible)
  • int ww (int) 5.67 //discards fractional
    part
  • int ww Math.round(ww) //rounds to 6.0, then

  • //truncates to 6

12
Reading Input
  • The simplest (and prettiest) way to read input
    into a Java program is to use a method provided
    by the JOptionPane class (java.lang package).
    The call
  • JOptionPane.showInputDialog(prompt)
  • causes a dialog box to be displayed with the
    prompt and a textbox for the user to type his/her
    response.
  • Whatever the user types into the box is
    returned to the program (in String form).
  • Note showInputDialog is a static method of the
    JOptionPane class

13
An Input Dialog
14
  • int val
  • String in
  • in JOptionPane.showInputDialog(Enter a
    positive number)
  • Suppose we want to add the user input to the
    value 45.
  • we cannot say
  • val in 45
  • because in is NOT of a numeric type (such as
    int or double).
  • We must convert our string to type int. The
    Integer class provides a static method called
    parseInt which accepts a String, and returns its
    int equivalent.
  • int size Integer.parseInt(in)
  • val size 45

15
  • When using Integer.parseInt (or
    Double.parseDouble)
  • Conversion throws an exception if user doesn't
    supply a number
  • (ie. Program will crash if user provides
    non numerical input)
  • JOptionPane also provides a method for output
  • JOptionPane.showMessageDialog(null,output
    string)
  • AddSystem.exit(0)to the end of any main method
    of any program that uses JOptionPane method
Write a Comment
User Comments (0)
About PowerShow.com