1 / 20

CSE115: Introduction to Computer Science I

CSE115: Introduction to Computer Science I. Dr. Carl Alphonce 219 Bell Hall 645-4739 alphonce@buffalo.edu. Agenda. Announcements Cell phones off & name signs out Web-CAT: back up, lab 1 Next week No new lab, but… hand in lab 1 and do exercises Monday: review and Q&A

lundy
Download Presentation

CSE115: Introduction to Computer Science I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall 645-4739 alphonce@buffalo.edu

  2. Agenda • Announcements • Cell phones off & name signs out • Web-CAT: back up, lab 1 • Next week • No new lab, but… • hand in lab 1 and do exercises • Monday: review and Q&A • Wednesday: first exam • Today • variables • terminology • maybe class definitions

  3. Last time we saw… • how to instantiate a class to create an object new example1.Terrarium() • how to call a method on a newly created object: new example1.Terrarium().add(new example1.Caterpillar())

  4. How do we make the Caterpillar move? • We call “start()” on the Caterpillar. • How do we do this? • Can we write the following? new example1.Terrarium().add(new example1.Caterpillar()) new example1.Caterpillar().start() • We can, but it won’t do what we want. • Q: what happens?

  5. A: Two example1.Caterpillar objects are created. • One is placed in the example1.Terrarium, and is NOT “started”. • The other is NOT put into the example1.Terrarium, but is “started”. • We cannot refer to the Caterpillar we added to the Terrarium, because: • we have no reference to it after adding it. • The value of an expression is lost if it is not • used right away, or • remembered.

  6. We want to write something like this: t . add( c ) c . start() • (notice ‘c’ used in two places) • To do this, we need a variable

  7. A variable is:(at its most basic) • a storage location in memory • for example, location 120:

  8. A variable has: • a name • a location • a type • a value • a scope • a lifetime •  in the HLL (Java) •  in memory •  representation scheme/size •  contents • We’ll discuss these later

  9. Why are types important? • Recall the discussion from early in the semester about how to interpret a string like “01001101” – the proper interpretation depends on the encoding scheme (e.g. two’s complement or IEEE754) • The type of a variable tells the compiler, among other things, which encoding schemed to use to read/write data from/to the variable. • It also tells us what methods we can call.

  10. Why are names important? • The location of a variable in memory is not known until runtime. • The name of a variable allows us to refer to the variable without knowing where in memory the variable might end up. • Names make programs easier to write and to read/understand.

  11. Variable declaration • A variable declaration consists of two basic things: • the type of the variable • the name of the variable • Java insists that all variables be declared before use (not all languages require this).

  12. The variable declaration • Consists minimally of: type & name • What is a type? A class is a type. • Remember: objects are instantiated from classes. • Examples of variable declarations: example1.Terrarium t; example1.Caterpillar c;

  13. Naming conventions • CamelCase (camel hump at start of each word) • lower case letter to start • letter or digit follows • each new word, except first, capitalized • Examples: t myTerrarium theVeryHungryCaterpillar

  14. Syntax (a little more formal) • variable declarations appear in many places in Java programs • a variable declaration in Java • ALWAYS has: type identifer • In our example • type identifier ; • semicolon is a terminator

  15. We have a variable… • … so now what? • After we declare a variable, we need to assign a value to it. • We do that using an assignment statement. • Unlike an expression, a statement has no value.

  16. assignment statement • variable = expression ; • ‘=’ is the ASSIGNMENT OPERATOR • Example: t = new example1.Terrarium();

  17. Syntax example1.Terrarium t; t = new example1.Terrarium(); example1.Caterpillar c; c = new example1.Caterpillar(); t.add(c); c.start();

  18. Live demo in DrJava • Created two example1.Caterpillar objects: • each has the same: • set of properties (e.g. location, direction, color) • set of capabilities (we only saw “start()”) • each has its own: • values for its properties; Caterpillars… • …are at distinct locations • …move independently of each other • …happen to have the same color (green)

  19. Object diagram(corresponding to memory diagram on previous slide) t Boxes denote variables c example1.Terrarium Arrows denote references example1.Caterpillar This diagram is an abstraction of the one on the previous slide: it ignores irrelevant details, such as the addresses and sizes of the two objects being shown. An abstraction is thus a simplification. Ovals denote objects

More Related