05-linked_nodes - CSE143 Lecture5 ReferencesandLinkedNodes

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
CSE 143 Lecture 5 References and Linked Nodes slides created by Marty Stepp and Ethan Apter http://www.cs.washington.edu/143/
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Values vs. References Does the following  swap  method work?  Why or why not? public static void main(String[] args) { int a = 7; int b = 35; // swap a with b swap(a, b); System.out.println(a + " " + b); } public static void swap(int a, int b) { int temp = a; a = b; b = temp; }
Background image of page 2
3 Value semantics value semantics : Behavior where values are copied when  assigned to each other or passed as parameters. When one primitive is assigned to another, its value is copied. Modifying the value of one variable does not affect others. int x = 5; int y = x ; // x = 5, y = 5 y = 17; // x = 5, y = 17 x = 8; // x = 8, y = 17
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Reference semantics reference semantics : Behavior where variables actually store  the address of an object in memory. When one reference variable is assigned to another, the object is  not  copied; both variables refer to the  same object . int[] a1 = {4, 5, 2, 12, 14, 14, 9}; int[] a2 = a1 ; // refers to same array as a1 a2[0] = 7; System.out.println( a1[0] ); // 7 index 0 1 2 3 4 5 6 value 5 2 12 14 14 9 7 a1 a2
Background image of page 4
5 References and objects In Java, objects and arrays use reference semantics.  Why? efficiency. Copying large objects slows down a program. sharing. It's useful to share an object's data among methods. DrawingPanel panel1 = new DrawingPanel(80, 50); DrawingPanel panel2 = panel1; // same window panel2.setBackground(Color.CYAN); panel1 panel2
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 Null references null  :  A value that does not refer to any object. The elements of an array of objects are initialized to  null . String[] words = new String[5]; not the same as the empty string  ""  or the string  "null" index 0 1 2 3 4 value null null null null null words
Background image of page 6
7 Null references Uninitialized reference fields of an object are initialized to  null . public class Student { String name; int id; } Student timmy = new Student(); name null timmy id 0
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 Things you  can  do w/  null store  null  in a variable or an array element String s = null; words[2] = null; print a  null  reference System.out.println(timmy.name); // null
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/29/2010 for the course CSE 143 taught by Professor Sr during the Spring '08 term at University of Washington.

Page1 / 26

05-linked_nodes - CSE143 Lecture5 ReferencesandLinkedNodes

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online