Darrell Bethea May 23, 2011 Program 2 due today Midterm on - - PowerPoint PPT Presentation

darrell bethea may 23 2011 program 2 due today midterm on
SMART_READER_LITE
LIVE PREVIEW

Darrell Bethea May 23, 2011 Program 2 due today Midterm on - - PowerPoint PPT Presentation

Darrell Bethea May 23, 2011 Program 2 due today Midterm on Thursday Covers everything we did up through last Thursday Including reading (Ignore parts of sample midterm using Ch. 5) Loop worksheet answer sheet mistake #6


slide-1
SLIDE 1

Darrell Bethea May 23, 2011

slide-2
SLIDE 2

 Program 2 due today  Midterm on Thursday

  • Covers everything we did up through last Thursday
  • Including reading
  • (Ignore parts of sample midterm using Ch. 5)

 Loop worksheet answer sheet mistake

  • #6 should be 43, not 44
  • Updated online

2

slide-3
SLIDE 3

 Returning Program 1 today

  • Look carefully over feedback
  • Grading will get more strict

 MANY .jar files were built incorrectly  New tester for .jar files

  • Test your Program 2 (even if you already submitted)
  • Mandatory starting with Program 3
  • JarChecker.java on the course website

2

slide-4
SLIDE 4

 No Class-Path: line  No Main-Class: line  Incorrect class names:

  • Main-Class: bluth
  • Main-Class: Bluth.java
  • Main-Class: Bluth (replace Bluth with the name of your Java class)

 Spaces after class name  All these detected by JarChecker.jar

2

Some Jar Creation Errors

slide-5
SLIDE 5

3

slide-6
SLIDE 6

 Class: a definition of a kind of object  Object: an instance of a class

  • Contains instance variables (data) and methods

 Methods

  • Methods that return a value
  • Methods that return nothing

4

slide-7
SLIDE 7

 Local variables and instance variables  Brief introduction to methods with

parameters (aka arguments)

 In-class exercise

5

slide-8
SLIDE 8

 Instance variables

  • Declared in a class
  • Confined to the class

 Can be used anywhere in the class that declares the variable, including inside the class’ methods

 Local variables

  • Declared in a method
  • Confined to the method

 Can only be used inside the method that declares the variable

6

slide-9
SLIDE 9

public class Student { public String name; public int classYear; // ... public void printInfo() { String info = name + “: ” + classYear; System.out.println(info); } public void increaseYear() { classYear++; } public void decreaseYear() { classYear--; } }

7

  • classYear and name are

instance variables

  • can be used in any method in

this class

  • info is a local variable

declared inside method printInfo()

  • can only be used inside

method printInfo()

slide-10
SLIDE 10

public class Student { public String name; public int classYear; // ... public void printInfo() { String info = name + “: ” + classYear; System.out.println(info); } public void increaseYear() { classYear++; info = “My info string”; // ERROR!!! } public void decreaseYear() { classYear--; } }

8

The compiler will not recognize the variable info inside of method increaseYear()

slide-11
SLIDE 11

public static void main(String[] args) { Student jack = new Student(); jack.name = “Jack Smith”; jack.major = “Computer Science”; String info = “Hello there!”; System.out.println(info); System.out.println(jack.name + “ is majoring in ” + jack.major); Student apu = new Student(); apu.name = “Apu Nahasapeemapetilon”; apu.major = “Biology”; System.out.println(apu.name + “ is majoring in ” + apu.major); }

9

Variable info in main method not affected by variable info in printInfo method in class Student

slide-12
SLIDE 12

 Compute the square of this number

  • 5
  • 10
  • 7

 I could give you any number, and you could

tell me the square of it

 We can do the same thing with methods

10

slide-13
SLIDE 13

 Parameters are used to hold the value that

you pass to the method

 Parameters can be used as (local) variables

inside the method

public int square(int number) { return number * number; }

11

Parameters go inside parentheses of method header

slide-14
SLIDE 14

public class Student { public String name; public int classYear; // ... public void setName(String studentName) { name = studentName; } public void setClassYear(int year) { classYear = year; } }

12

slide-15
SLIDE 15

public static void main(String[] args) { Student jack = new Student(); jack.setName(“Jack Smith”); jack.setClassYear(3); }

13

Arguments

slide-16
SLIDE 16

 Multiple parameters separated by commas

public double getTotal(double price, double tax) { return price + price * tax; }

15

slide-17
SLIDE 17

 Order, type, and number of arguments must

match parameters specified in method heading

16

slide-18
SLIDE 18

public class SalesComputer { public double getTotal(double price, double tax) { return price + price * tax; } // ... SalesComputer sc = new SalesComputer(); double total = sc.getTotal(“19.99”, Color.RED); double total = sc.getTotal(19.99); double total = sc.getTotal(19.99, 0.065); int price = 50; total = sc.getTotal(price, 0.065);

17

Automatic typecasting

slide-19
SLIDE 19

 Even more about classes  Information Hiding and Encapsulation

20

Tomorrow

slide-20
SLIDE 20

18