Upload
reina
View
31
Download
1
Embed Size (px)
DESCRIPTION
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] - PowerPoint PPT Presentation
Citation preview
308-203AIntroduction to Computing II
Lecture 1: Java Review
Fall Session 2000
Primitive data typesTypebytecharshortintlong
floatdouble
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}
Size8 bit16 bit16 bit32 bit64 bit
32 bit64 bit
“1 bit”
Variable declarations
<type> <var-name> [ = <initializer>] ;
Examples:
char x = ‘a’;int i, j = 5, k;float pi = 3.14159;
Variable declarations
<type> <var-name> [ = <initializer>] ;
Examples:
char x = ‘a’;int i, j = 5, k;float pi = 3.14159;
‘a’x
Variable declarations
<type> <var-name> [ = <initializer>] ;
Examples:
char x = ‘a’;int i, j = 5, k;float pi = 3.14159;
‘a’x
??i
5j
??k
Variable declarations
<type> <var-name> [ = <initializer>] ;
Examples:
char x = ‘a’;int i, j = 5, k;float pi = 3.14159;
‘a’x
??i
5j
??k
3.14159pi
Assignments and expressions<var-name> = <expr> ;
Examples:
double pi, radius, circ;...circ = 2 * pi * radius ;
int x;boolean xGreaterThanFive;...xGreaterThanFive = (x > 5);
Assignments and expressions<var-name> = <expr> ;
Examples:
double pi, radius, circ;...circ = 2 * pi * radius ;
int x;boolean xGreaterThanFive;...xGreaterThanFive = (x > 5);
3.14159
pi1.0
radius
circ
????
Assignments and expressions<var-name> = <expr> ;
Examples:
double pi, radius, circ;...circ = 2 * pi * radius ;
int x;boolean xGreaterThanFive;...xGreaterThanFive = (x > 5);
3.14159
pi1.0
radius
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);
10x
xGreaterThanFive
????
Assignments and expressions<var-name> = <expr> ;
Examples:
double pi, radius, circ;...circ = 2 * pi * radius ;
int x;boolean xGreaterThanFive;...xGreaterThanFive = (x > 5);
10x
xGreaterThanFive
true
=
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
‘c’‘a’‘t’
[0]
[1]
[2]
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 decisionsExample:
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:012
Loops• do <body> while (<condition>);
Example:
int j = 0; do{ System.out.println(j); j++;}while (j < 3) ;
Output:012
Loops
• for (<initializer>; <condition> ; <incr>) <body>;
Example:
for (int j = 0; j < 3; j++) System.out.println(j);
Output:012
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
• 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
<type> <var-name>;
Reference variables
Example:
Thing x = theBlob;Thing y = null;
y = x;
boolean same = (x == y);
nullx y
theBlob
Reference variables
Example:
Thing x = theBlob;Thing y = null;
y = x;
boolean same = (x == y);
x y
theBlob
???same
Reference variables
Example:
Thing x = theBlob;Thing y = null;
y = x;
boolean same = (x == y);
x y
theBlob
truesame
Strings are references, too
Example:
String a = “YO!”;String b = “YO!”;
boolean same = (a == b);
Strings are references, too
Example:
String a = “YO!”;String b = “YO!”;
boolean same = (a == b);
a “YO!”
Strings are references, too
Example:
String a = “YO!”;String b = “YO!”;
boolean same = (a == b);
a “YO!”
b “YO!”
Strings are references, too
Example:
String a = “YO!”;String b = “YO!”;
boolean same = (a == b);
a “YO!”
b “YO!”
false!!same
Strings are references, too
Example:
String a = “YO!”;String b = “YO!”;
boolean same = a.equals(b);
a “YO!”
b “YO!”
truesame
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
Example:
int[ ] foo = new int[2];int[ ] bar = foo;
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo ????
[0][1]
Arrays are references, too
Example:
int[ ] foo = new int[2];int[ ] bar = foo;
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo ????
[0][1]
bar
Arrays are references, too
Example:
int[ ] foo = new int[2];int[ ] bar = foo;
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo 523??
[0][1]
bar
Arrays are references, too
Example:
int[ ] foo = new int[2];int[ ] bar = foo;
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo 325??
[0][1]
bar
Arrays are references, too
Example:
int[ ] foo = new int[2];int[ ] bar = foo;
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo 325??
[0][1]
bar
Output: 325!!!
Arrays are references, too
Example:
int[ ] foo = new int[2];int[ ] bar = (int[ ]) foo.clone();
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo 523??
[0][1]
bar523??
[0][1]
Arrays are references, too
Example:
int[ ] foo = new int[2];int[ ] bar = (int[ ]) foo.clone();
foo[0] = 523;bar[0] = 325;System.out.println(foo[0]);
foo 523??
[0][1]
bar
Output: 523
325??
[0][1]
Any Questions?