CIS3931 Intro to JAVA - PowerPoint PPT Presentation

About This Presentation
Title:

CIS3931 Intro to JAVA

Description:

... in thread 'main' java.lang.ArithmeticException: / by zero at DivideByZero. ... of java.lang and doesn't need to be imported since java.lang is imported ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 51
Provided by: UniformOfD
Learn more at: http://www.cs.fsu.edu
Category:
Tags: java | cis3931 | intro | lang

less

Transcript and Presenter's Notes

Title: CIS3931 Intro to JAVA


1
CIS3931 - Intro to JAVA
  • Lecture Notes Set 5
  • 26-May-05

2
Method Overloading
  • Enables methods to have the same name
  • They must have different parameter lists
  • The parameter list allows the compiler/interpreter
    to distinguish between which to use.

3
Method Overloading Example
  • int MyMethod(int x)
  • int MyMethod(double y)
  • int MyMethod(int a, double b)
  • Since they all have different parameter lists,
    they can all be used in the same class and an
    error will not be raised.

4
Is this correct?
  • int MyMethod(int x)
  • double MyMethod(int a)
  • Are these two methods allowed together?

5
Math Class
  • Very useful. Provides many methods in a pre-built
    class.
  • The following are available in the Math class
  • Trigonometry functions
  • sin, cos, tan, acos, atan, asin

6
Exponent Methods
  • exp raise e to a power
  • sqrt returns the square root
  • pow raise a number to a power
  • log natural log of a number

7
Rounding in Math Class
  • ceil round up to nearest integer
  • floor round down to nearest integer

8
Helpful Math
  • random Returns a random number greater than or
    equal to 0.0 and less than 1.0
  • abs return absolute value of a number
  • min return minimum of two numbers
  • max return max of two numbers

9
Advice
  • The previous were all important, but are only
    half of what the Math class can actually do. Make
    sure you know how to use the methods I mentioned
    here. How to call them, and what they do. I would
    recommend playing around with the Math class and
    experimenting with at least the ones mentioned.
    View the API for the Math class.

10
Exception Handling
  • What is an exception?
  • An exception is an event that occurs during the
    execution of a program that disrupts the normal
    flow of instructions during the execution of a
    program.
  • In normal programming, an exception or error
    would cause a program to crash.

11
Exception Handling
  • JAVA offers methods to handle exceptions
  • Exception objects Created by a method when an
    error occurs. This object contains information
    about the error (type, state of program when
    error occurred )
  • Creating an exception object throwing an
    exception

12
Exception Handling
  • When an exception is thrown, the system trying to
    find a way to handle it.
  • The system searches through the ordered list of
    methods that have been called prior to the
    exception (call stack)

13
Exception Handling
  • Block of code than can handle exception
    exception handler
  • An exception handler must be able to handle the
    type of exception thrown
  • A chose exception handler catches the exception
  • If no handler is found, the program will
    terminate.

14
Exceptions
  • Some reasons an exception may be thrown
  • Unable to open a file
  • Array is out of range
  • Dividing by zero
  • Unable to parse a stream

15
Exceptions Throw / Catch
  • Similar to the raise/handle model in other
    languages
  • Exceptions are caused in one of two ways
  • Program does something illegal
  • Program execute the throw keyword

16
Exceptions Throw / Catch
  • The following code will crash a program
  • public class DivideByZero
  • public static void main(String args)
  • int i 1, j 0, k
  • //Force an error
  • k i / j

17
Exceptions Throw / Catch
  • Result
  • Exception in thread main java.lang.ArithmeticExc
    eption / by zero at DivideByZero.main(DivideByZer
    o.java14)

18
Exceptions Throw / Catch
  • Error message shows that a ArithmeticException
    was thrown by the program
  • Program died because there was no exception
    handler available to catch the exception
  • Use a try / catch block to handle the exception

19
Exceptions Throw / Catch
  • Try / Catch Block example
  • try
  • //Some block of code that you could
    potentially
  • //throw an exception
  • catch (Exception e)
  • //Block of code to handle the exception

20
Exceptions Throw / Catch
  • When an exception is thrown in the try block,
    control is immediately passed to the associated
    catch block.
  • Try blocks must have at least one catch block
    (sometimes multiple are needed).
  • Every catch block must have one try block
    associated with it.

21
Throw / Catch Advantages
  • Error conditions dealt with only where it makes
    sense to deal with them
  • Dont have to deal with error at ever level
    between occurrence and where it is handled
  • Code can be written as if everything will work
  • Separates error handling from the normal flow of
    control
  • Reduced program complexity
  • Calling functions do not need to error check
    returned values

22
Exception handling
  • Example program
  • Finally statements
  • Users can create user defined exceptions
  • will go over this next class.

23
Scanner
  • Good news, Scanner can now be used on program
    since 1.5 was added. This can be used instead of
    Buffered Readers.

24
Scanner
  • Scanner is contained in java.util.Scanner
  • You will have to import that class if you wish to
    use Scanner.
  • import java.util.Scanner

25
Scanner
  • You must first create Scanner to obtain input
    from command window.
  • This is done with the following command
  • Scanner input new Scanner(System.in)

26
Scanner
  • Next, you must parse the input into something
    meaningful, as it is now of type Scanner. The
    example below shows how to parse it into an int
  • int num1 input.nextInt()

27
Scanner Example
  • import java.util.Scanner
  • //Class and main declarations
  • Scanner input new Scanner( System.in )
  • System.out.print(Enter digit )
  • int num1 input.nextInt()

28
Scanner Exceptions
  • With Scanner, you do not need to throw any
    Exceptions as you do with Buffered Readers. In
    other words, you do not need the throws Exception
    after declaring main.

29
Strings
  • You have already played around with Strings
    somewhat
  • String input br.readLine()
  • The above says to create a String variable called
    input and place the input from the Buffered
    Reader into it.

30
Scanner Strings
  • To grab a String using Scanner, just use the
    following
  • Scanner input new Scanner(System.in)
  • String name input.nextLine()

31
Strings overview
  • A String is an object in Java, it comes from the
    String class
  • The String class is part of java.lang and doesnt
    need to be imported since java.lang is imported
    automatically with every java program.

32
String Methods
  • There are over 50 different methods which can be
    called when you use the String class. Some of the
    more important ones follow.

33
charAt()
  • This returns the char at the location you
    specify.
  • String greet new String(Hello)
  • greet.charAt(1) //returns e
  • Remember, you must start counting at 0!

34
concat()
  • This concatenates one string to another string.
  • Example
  • String st1 Hello
  • String st2 World
  • String st3 st1.concat(st2)
  • //st3 now equals Hello World

35
equals()
  • Returns a boolean value true or false
  • Check to see if 2 strings are equal
  • if( st1.equals(st2) )
  • System.out.println(Equal)

36
equals()
  • The equals() method takes case into
    consideration. To ignore case, yet still check
    for equals you should use
  • equalsIgnoreCase()

37
length()
  • Returns the length of the String
  • Example
  • String st1 Hello
  • int Stlen st1.length()
  • //Stlen now equals 5

38
trim()
  • Removes all leading and trailing whitespace
    characters. This does not remove any whitespace
    characters in the middle, just at either end.

39
Conversions
  • toLowerCase()
  • toUpperCase()
  • These convert the String to upper/lower case
    letters and ignore all the nonalphabetic
    characters.

40
Main
  • Recall the following
  • public static void main( String args )
  • The String args that is in the parameters is an
    array of Strings. This is so the user can enter
    input to start the program.

41
Main
  • For instance, if the program was started with
  • java Project foo bar
  • Then args0 foo args1 bar
  • args.length 2

42
Objects
  • Encapsulation of Data along with functions that
    act upon that data
  • An object consists of 3 things
  • 1. Name which we give it
  • 2. Attributes set of data fields and their
    current values
  • 3. Methods set of methods that define the
    behavior of the object

43
Class
  • Blueprint for objects
  • Describes and defines objects of the same type
  • Contains data and method declarations
  • An object is a single instance of a class
  • You can create many objects from the same class
    type

44
Creating Objects
  • Objects are created from a class using the new
    operator.
  • They must be attached to a reference variable.

45
Example
  • Suppose we have a class we built called Square.
    Inside we have methods for computing area and
    circumference.
  • Format
  • Square MySquare
  • My Square new Square()
  • Or
  • Square MySquare new Square()

46
Using the object
  • Square MySquare new Square()
  • MySquare.side 10
  • The above sets side to 10.

47
Constructors
  • Special member function of a class.
  • Purpose is to initialize the members of an
    object.

48
How to spot a constructor?
  • Its very simple since it must meet the following
    criteria
  • 1. It has the same name as the class
  • 2. It has no return type.

49
Default Constructor
  • A constructor without any parameters is the
    default constructor.
  • A constructor can have parameters, but no return
    type.
  • A constructor is invoked when an object is
    created with new.
  • MySquare new Square() //default
  • MySquare new Square(2) //also valid

50
Visibility
  • We can declare members of a class to be public or
    private.
  • Public can be accessed inside or outside of the
    class it is in.
  • Private can only be used by the object itself.
  • You can hide data this way for security, simpler
    interface, etc
Write a Comment
User Comments (0)
About PowerShow.com