450 likes | 595 Views
308-203A Introduction to Computing II Lecture 1: Java Review. Fall Session 2000. Primitive data types. Size 8 bit 16 bit 16 bit 32 bit 64 bit 32 bit 64 bit “1 bit”. Type byte char short int long float double boolean. Values [-128, 127] [0, 65,536] [-32,768 , 32,767]
E N D
308-203AIntroduction to Computing IILecture 1: Java Review Fall Session 2000
Primitive data types Size 8 bit 16 bit 16 bit 32 bit 64 bit 32 bit 64 bit “1 bit” Type byte char short int long float double boolean Values [-128, 127] [0, 65,536] [-32,768 , 32,767] [-2,147,483,648 , 2,147,483,647] [-9,223,372,036,854,775,807 , 9,223,372,036,854,775,806] [1.4023984e-45 , 3.40282347e+38] [4.94065645841246544e-324, 1.79769313486231570e+308] { false, true}
Variable declarations <type> <var-name> [ = <initializer>] ; Examples: char x = ‘a’; int i, j = 5, k; float pi = 3.14159;
x ‘a’ Variable declarations <type> <var-name> [ = <initializer>] ; Examples: char x = ‘a’; int i, j = 5, k; float pi = 3.14159;
x i j k ‘a’ ?? 5 ?? Variable declarations <type> <var-name> [ = <initializer>] ; Examples: char x = ‘a’; int i, j = 5, k; float pi = 3.14159;
x i j k ‘a’ ?? 5 ?? pi 3.14159 Variable declarations <type> <var-name> [ = <initializer>] ; Examples: char x = ‘a’; int i, j = 5, k; float pi = 3.14159;
Assignments and expressions <var-name> = <expr> ; Examples: double pi, radius, circ; ... circ = 2 * pi * radius ; int x; boolean xGreaterThanFive; ... xGreaterThanFive = (x > 5);
pi radius 1.0 3.14159 circ ???? Assignments and expressions <var-name> = <expr> ; Examples: double pi, radius, circ; ... circ = 2 * pi * radius ; int x; boolean xGreaterThanFive; ... xGreaterThanFive = (x > 5);
pi radius 1.0 3.14159 circ 6.28318 Assignments and expressions <var-name> = <expr> ; Examples: double pi, radius, circ; ... circ = 2 * pi * radius ; int x; boolean xGreaterThanFive; ... xGreaterThanFive = (x > 5); =
x 10 xGreaterThanFive ???? Assignments and expressions <var-name> = <expr> ; Examples: double pi, radius, circ; ... circ = 2 * pi * radius ; int x; boolean xGreaterThanFive; ... xGreaterThanFive = (x > 5);
x 10 xGreaterThanFive true Assignments and expressions <var-name> = <expr> ; Examples: double pi, radius, circ; ... circ = 2 * pi * radius ; int x; boolean xGreaterThanFive; ... xGreaterThanFive = (x > 5); =
Type-casting (<type>) <expr> Converts one type to another. Examples: float f = 1.5; int j = (int) f; // j == 1 short s = 200; double d = (double) s; // d == 2.0e2
Strings and Arrays Examples: String str = “Hi there”; char myArr[3]; myArr[0] = ‘c’; myArr[1] = ‘a’; myArr[2] = ‘t’;
Strings and Arrays Examples: String str = “Hi there”; char myArr[3]; myArr[0] = ‘c’; myArr[1] = ‘a’; myArr[2] = ‘t’; str “Hi there”
Strings and Arrays Examples: String str = “Hi there”; char myArr[3]; myArr[0] = ‘c’; myArr[1] = ‘a’; myArr[2] = ‘t’; str “Hi there” myArr [0] ?? [1] ?? [2] ??
Strings and Arrays Examples: String str = “Hi there”; char myArr[3]; myArr[0] = ‘c’; myArr[1] = ‘a’; myArr[2] = ‘t’; str “Hi there” myArr [0] ‘c’ [1] ‘a’ [2] ‘t’
A simple program public class hello { public static void main(String args[ ]) { System.out.println(“Hello world”); } }
Making decisions (If only the only “if ” in “life”were between the “l” and the “e”) • if (<boolean>) then <statement>; Example int x = 10; if (x > 5) { System.out.println(“x is greater than 5”); }
Making decisions (If only the only “if ” in “life”were between the “l” and the “e”) • if (<boolean>) then <statement>; Example int x = 10; boolean xGreaterThanFive = (x > 5); if (xGreaterThanFive) { System.out.println(“x is greater than 5”); }
Making decisions • <boolean> ? <expr1> : <expr2> Shorthand for if x = (condition ? a : b); if (condition) x = a ; else x = b ;
Making decisions • <boolean> ? <expr1> : <expr2> Example int x = 10; System.out.println( (x>5) ? “x is greater than 5” : “x is less than 6”);
Making decisions • switch (<expr>) • { • case <constant>: <body_1>; • case <constant>: <body_2>; • … • default: <body_d> • }
Making decisions Example: char myChar = getAChar(); switch (myChar) { case ‘a’: option_a(); break; case ‘b’: option_b(); break; case ‘c’: option_c(); break; default: System.out.println(“Unknown option”); }
Loops • while (<condition>) <body>; • Example: • int j = 0; • while (j < 3) • { • System.out.println(j); • j++; • } Output: 0 1 2
Loops • do <body> while (<condition>); • Example: • int j = 0; • do • { • System.out.println(j); • j++; • } • while (j < 3) ; Output: 0 1 2
Loops • for (<initializer>; <condition> ; <incr>) <body>; • Example: • for (int j = 0; j < 3; j++) System.out.println(j); • Output: • 0 • 1 • 2
Another simple program public class reverse { public static void main(String args[ ]) { for (int i = args.length-1; i >= 0; i--) System.out.println(args[i] + “ ”); System.out.println(“\n”); } }
Reference variables <type> <var-name>; • The variable “points” to some data somewhere • <type> is the kind of object being referenced • Strings and arrays are treated as references • (as are user-defined types) • Special value: null
Reference variables y x Example: Thing x = theBlob; Thing y = null; y = x; boolean same = (x == y); null theBlob
same ??? Reference variables y x Example: Thing x = theBlob; Thing y = null; y = x; boolean same = (x == y); theBlob
same true Reference variables y x Example: Thing x = theBlob; Thing y = null; y = x; boolean same = (x == y); theBlob
Strings are references, too Example: String a = “YO!”; String b = “YO!”; boolean same = (a == b);
Strings are references, too “YO!” a Example: String a = “YO!”; String b = “YO!”; boolean same = (a == b);
Strings are references, too “YO!” a Example: String a = “YO!”; String b = “YO!”; boolean same = (a == b); “YO!” b
Strings are references, too “YO!” a Example: String a = “YO!”; String b = “YO!”; boolean same = (a == b); “YO!” b same false!!
Strings are references, too “YO!” a Example: String a = “YO!”; String b = “YO!”; boolean same = a.equals(b); “YO!” b same true
Arrays are references, too Example: int[ ] foo = new int[2]; int[ ] bar = foo; foo[0] = 523; bar[0] = 325; System.out.println(foo[0]);
Arrays are references, too foo [0] ?? Example: int[ ] foo = new int[2]; int[ ] bar = foo; foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ??
Arrays are references, too foo [0] ?? Example: int[ ] foo = new int[2]; int[ ] bar = foo; foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ?? bar
Arrays are references, too foo [0] 523 Example: int[ ] foo = new int[2]; int[ ] bar = foo; foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ?? bar
Arrays are references, too foo [0] 325 Example: int[ ] foo = new int[2]; int[ ] bar = foo; foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ?? bar
Arrays are references, too foo [0] 325 Example: int[ ] foo = new int[2]; int[ ] bar = foo; foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ?? bar Output: 325!!!
Arrays are references, too foo [0] 523 Example: int[ ] foo = new int[2]; int[ ] bar = (int[ ]) foo.clone(); foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ?? bar [0] 523 [1] ??
Arrays are references, too foo [0] 523 Example: int[ ] foo = new int[2]; int[ ] bar = (int[ ]) foo.clone(); foo[0] = 523; bar[0] = 325; System.out.println(foo[0]); [1] ?? bar [0] 325 [1] ?? Output: 523