Java: Primitive Data Types, Variables and Constants Introduction
James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation...
-
date post
19-Dec-2015 -
Category
Documents
-
view
263 -
download
0
Transcript of James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation...
![Page 1: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/1.jpg)
James TamIntermediate Pascal to Java examples
Pascal To Java: The Transition
Documentation
Variables and constants
Advanced input and output
Decision making
Loops
Homogeneous composite types (arrays)
Modularization (functions/procedures and methods)
![Page 2: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/2.jpg)
James TamIntroduction to CPSC 233
Basic Structure Of A Java Program
class <name of class>
{
public static void main (String[] args)
{
}
}
![Page 3: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/3.jpg)
James TamIntroduction to CPSC 233
Documentation / Comments
Pascal(* Start of documentation
*) End of documentation
Java
Multi-line documentation/* Start of documentation
*/ End of documentation
Documentation for a single line// Everything until the end of the line is treated as a comment
![Page 4: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/4.jpg)
James TamIntroduction to CPSC 233
Variable Declaration
class <name of class>
{
public static void main (String[] args)
{
// Variable declarations occur here
}
}
![Page 5: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/5.jpg)
James TamIntroduction to CPSC 233
Some Simple Types Of Variables In Java
Type Description
byte 8 bit signed integer
short 16 but signed integer
int 32 bit signed integer
long 64 bit signed integer
float 32 bit signed integer
double 64 bit signed integer
char 16 bit Unicode character
Boolean 1 bit true or false value
String A sequence of characters between double quotes (“”)
![Page 6: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/6.jpg)
James TamIntroduction to CPSC 233
Java Vs. Pascal Variable Declarations
Pascal
Format: <variable name> : variable type;
Example:
num : integer;
JavaFormat:
variable type <variable name>;
Example:
long num1;
double num2 = 2.33;
![Page 7: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/7.jpg)
James TamIntroduction to CPSC 233
Constants In Java
Formatfinal <variable type> <variable name> = <value>;
Example
final int SIZE = 100;
![Page 8: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/8.jpg)
James TamIntroduction to CPSC 233
The Semicolon In Pascal
Pascal
• Used to separate statements within a block
• This is okay in Pascal:
program test (output);
begin
writeln("one");
writeln("two")
end.
![Page 9: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/9.jpg)
James TamIntroduction to CPSC 233
The Semicolon In Java
Java
• Follows each statement
• This is not okay in Java:
class BadExample
{
public static void main (String [] argv)
{
System.out.println("one");
System.out.println("two")
}
}
![Page 10: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/10.jpg)
James TamIntroduction to CPSC 233
Java Variables And Constants: A Small Example
class SmallExample{ public static void main (String [] argv) { final double PI = 3.14; String str = "Hosta la vista baby!"; long num = 10; double db; db = PI; System.out.print("num=" + num); System.out.println(" db=" + db); System.out.println("Str says..." + str); }}
![Page 11: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/11.jpg)
James TamIntroduction to CPSC 233
Output : Some Escape Sequences
Escape sequence Character value
\t Horizontal tab (5)
\n New line
\” Double quote
\\ Backslash
![Page 12: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/12.jpg)
James TamIntroduction to CPSC 233
Advanced Output
Employ the predefined code in TIO
To use:
(In Unix): • Copy all the files in the directory /home/profs/tamj/tio to the
directory where your Java program resides
(In your Java program include the following statements):• import tio.*;
• FormattedWriter out = new FormattedWriter(System.out);
![Page 13: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/13.jpg)
James TamIntroduction to CPSC 233
Advanced Output (2)
Statement Effect
out.printf(<variable or string1 > + <variable or string 2> …);MUST EVENTUALLY BE FOLLOWED BY A PRINTFLN!
Prints contents of field
out.printfln((<variable or string1 > + <variable or string 2> …);
Prints contents of field and a newline
out.setWidth(<integer value>); Sets the width of a field
out.setDigits(<integer value>); Sets the number of places of precision
out.setJustify(out.LEFT);
outsetJustify(out.RIGHT);
Left or right justify field contents
![Page 14: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/14.jpg)
James TamIntroduction to CPSC 233
Advanced Output: Example
import tio.*;class OutputExample{ public static void main (String [] argv) { FormattedWriter out = new FormattedWriter(System.out); int num = 123; double db = 123.45; out.setJustify(out.LEFT); out.setWidth(6); out.setDigits(1); out.printf("Start line"); out.printf(num); out.printf(db); out.printf("End of line"); out.printfln(""); }}
![Page 15: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/15.jpg)
James TamIntroduction to CPSC 233
Advanced Input
Employ the predefined code in TIO
To use:
(In Unix): • Copy all the files in the directory /home/profs/tamj/tio to the
directory where your Java program resides
(In your Java program include the following statement):• import tio.*;
![Page 16: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/16.jpg)
James TamIntroduction to CPSC 233
Advanced Input: Getting The Input
Console.in.readInt() Reads in an integer
Returns an integer
Console.in.readLong() Reads in a long
Returns a long
Console.in.readFloat() Reads in a float
Returns a float
Console.in.readDouble() Reads in a double
Returns a double
Console.in.readLine() Reads in a line
Returns a String
Console.in.readWord() Reads in a word
Returns a String
Console.in.readChar() Reads in a character
Returns an integer
![Page 17: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/17.jpg)
James TamIntroduction to CPSC 233
Relational Operators
Operator Meaning of the operator
< Less than
<= Less than, equal to
> Greater than
>= Greater than, equal to
== Equal to
!= Not equal to
![Page 18: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/18.jpg)
James TamIntroduction to CPSC 233
Common Logical Operators
&& Logical AND
|| Logical OR
! Logical NOT
![Page 19: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/19.jpg)
James TamIntroduction to CPSC 233
Decision Making
Pascal
• If-then
• If-then-else
• If-then, else-if
• Case-of
Java
• If
• If, else
• If, else-if
• Switch
![Page 20: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/20.jpg)
James TamIntroduction to CPSC 233
Decision Making: If
Format:
if (Boolean Expression)
Body
Example:
if (x != y)
System.out.println(“X and Y are not equal”);
if ((x > 0) && (y > 0))
{
System.out.println();
System.out.println("X and Y are positive");
}
![Page 21: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/21.jpg)
James TamIntroduction to CPSC 233
Decision Making: If, Else
Formatif (Boolean expression)
Body of if
else
Body of else
Exampleif (x < 0)
System.out.println(“X is negative”);
else
System.out.println(“X is non-negative”);
![Page 22: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/22.jpg)
James TamIntroduction to CPSC 233
If, Else-If
Formatif (Boolean expression
Body of If
else if (Boolean expression)
Body of first else-if
: : :
else if (Boolean expression)
Body of last else-if
else
Body of else
![Page 23: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/23.jpg)
James TamIntroduction to CPSC 233
If, Else-If (2)
Example if (gpa == 4)
{ System.out.println("A"); } else if (gpa == 3) { System.out.println("B"); } else if (gpa == 2) { System.out.println("C"); }
![Page 24: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/24.jpg)
James TamIntroduction to CPSC 233
If, Else-If (2)
else if (gpa == 1)
{
System.out.println("D");
}
else
{
System.out.println("Invalid gpa");
}
![Page 25: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/25.jpg)
James TamIntroduction to CPSC 233
Alternative To Multiple Else-If’s: Switch
Formatswitch (variable name){
case <integer value>:Bodybreak;
case <integer value>:Bodybreak;
:default:Body
}
1 The type of variable can be a byte, char, short, int or long
![Page 26: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/26.jpg)
James TamIntroduction to CPSC 233
Alternative To Multiple Else-If’s: Switch (2)
Formatswitch (variable name){
case ‘<character value>’:Bodybreak;
case ‘<character value>’:Bodybreak;
:default:Body
}
1 The type of variable can be a byte, char, short, int or long
![Page 27: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/27.jpg)
James TamIntroduction to CPSC 233
Loops
Pascal Pre-test loops
• For-do
• While-do
Java Pre-test loops
• For
• While
Pascal Post-test loops
• Repeat-until
Java Post-test loops
• Do-while
![Page 28: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/28.jpg)
James TamIntroduction to CPSC 233
While Loops
FormatWhile (Expression)
Body
Exampleint i = 1;
while (i <= 1000000)
{
System.out.println(“How much do I love thee?”);
System.out.println(“Let me count the ways: “, + i);
i = i + 1;
}
![Page 29: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/29.jpg)
James TamIntroduction to CPSC 233
For Loops
Syntax:for (initialization; Boolean expression; update control)
Body
Example:for (i = 1; i <= 1000000; i++)
{
System.out.println(“How much do I love thee?”);
System.out.println(“Let me count the ways: “, + i);
}
![Page 30: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/30.jpg)
James TamIntroduction to CPSC 233
Do-While Loops
Format:do
Bodywhile (Boolean expression);
Example: char ch = 'A'; do { System.out.println(ch); ch++; } while (ch != 'K');
![Page 31: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/31.jpg)
James TamIntroduction to CPSC 233
Ending Loops Early: Break
import tio.*;
class BreakExample{ public static void main (String [] argv) { char ch;
while (true) {
System.out.print("\tType 'Q' or 'q' to Quit program: "); ch = (char) Console.in.readChar();
if ((ch == 'Q') || (ch == 'q')) { break; }
} }}
![Page 32: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/32.jpg)
James TamIntroduction to CPSC 233
Skipping An Iteration of A Loop: Continue
for (i = 1; i <= 10; i++)
{
if (i % 2 == 0)
{
continue;
}
System.out.println("i=" + i);
}
![Page 33: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/33.jpg)
James TamIntroduction to CPSC 233
Homogeneous Composite Types (Arrays)
Important points to remember for Java:
•An array of n elements will have an index of zero for the first element up to (n-1) for the last element
•The array index must be an integer
•Declaring arrays involves dynamic memory allocation (references)
![Page 34: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/34.jpg)
James TamIntroduction to CPSC 233
Homogeneous Composite Types (Arrays)
Important points to remember for Java:
•An array of n elements will have an index of zero for the first element up to (n-1) for the last element
•The array index must be an integer
•Declaring arrays involves dynamic memory allocation (references)
![Page 35: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/35.jpg)
James TamIntroduction to CPSC 233
References
It is a pointer that cannot be dereferenced by the programmer
Automatically garbage collected when no longer needed
![Page 36: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/36.jpg)
James TamIntroduction to CPSC 233
References
It is a pointer that cannot be dereferenced by the programmer
Automatically garbage collected when no longer needed
![Page 37: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/37.jpg)
James TamIntroduction to CPSC 233
Regular pointers (Pascal): Programmer Dereferencing
var
numPtr : ^ integer;
begin
new(numPtr);
numPtr numPtr ^
![Page 38: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/38.jpg)
James TamIntroduction to CPSC 233
References (Java): No Programmer Dereferencing
<reference type> <reference name> = new <reference type>;
final int SIZE = 4;
int [] arr = new int[SIZE];
[0]
[1]
[3]
[2]
![Page 39: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/39.jpg)
James TamIntroduction to CPSC 233
References
It is a pointer that cannot be dereferenced by the programmer
Automatically garbage collected when no longer needed
![Page 40: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/40.jpg)
James TamIntroduction to CPSC 233
Regular pointers (Pascal): Garbage Collection
dispose (numPtr);
numPtr := NIL;
numPtr numPtr ^
![Page 41: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/41.jpg)
James TamIntroduction to CPSC 233
Regular pointers (Pascal): Garbage Collection
dispose (numPtr);
numPtr := NIL;
numPtr numPtr ^
![Page 42: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/42.jpg)
James TamIntroduction to CPSC 233
Regular pointers (Pascal): Garbage Collection
dispose (numPtr);
numPtr := NIL;
numPtr numPtr ^
NIL
![Page 43: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/43.jpg)
James TamIntroduction to CPSC 233
References (Java): Automatic Garbage Collection
Dynamically allocated memory is automatically freed up when it is no longer referenced
[0]
[1]
[3]
[2]
Reference Dynamic memory
![Page 44: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/44.jpg)
James TamIntroduction to CPSC 233
Determining Array Length
class Arr{ public static void main (String [] argv) { final int SIZE = 4; int [] arr = new int[SIZE]; int i; for (i = 0; i < SIZE; i++) { arr[i] = i; System.out.println("Element " + arr[i] +"=" +i); } System.out.println(arr); }}
![Page 45: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/45.jpg)
James TamIntroduction to CPSC 233
Determining Array Length (2)
class Arr{ public static void main (String [] argv) { final int SIZE = 4; int [] arr = new int[SIZE]; int i; for (i = 0; i < arr.length ; i++) { arr[i] = i; System.out.println("Element " + arr[i] +"=" +i); } System.out.println(arr); }}
![Page 46: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/46.jpg)
James TamIntroduction to CPSC 233
Declaring Arrays
Arrays in Java involve a reference to the array
Declaring array requires two steps:
1) Declaring a reference to the array
2) Allocating the memory for the array
![Page 47: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/47.jpg)
James TamIntroduction to CPSC 233
Declaring A Reference To An Array
Syntax<type> [] <array name>;
Example
int [] arr;
int [][] arr;
![Page 48: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/48.jpg)
James TamIntroduction to CPSC 233
Allocating Memory For An Array
Syntax:
<array name> = new <array type> [<no elements>];
Example:arr = new int[SIZE];
arr = new int[SIZE][SIZE];
![Page 49: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/49.jpg)
James TamIntroduction to CPSC 233
Modularizing Programs: Methods (Definition)
Syntax:<return type> name (<type1> <parameter1>, <type 2>
<parameter2>…<type n> <parameter n>)
{
<Local variable declarations>
<Statements>
return (<return value>);
}
![Page 50: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/50.jpg)
James TamIntroduction to CPSC 233
Modularizing Programs: Methods (Definition)
Example:
static double calculate (double principle, double interest,
double time)
{
return(principle + (principle * interest * time));
}
![Page 51: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/51.jpg)
James TamIntroduction to CPSC 233
Modularizing Programs: Methods (Definition)
Example:
static double calculate (double principle, double interest,
double time)
{
return(principle + (principle * interest * time));
}
Used for a 231-233 transition!
![Page 52: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/52.jpg)
James TamIntroduction to CPSC 233
Parameter Passing: Review
Pascal
• Value parameters (pass by value)
• Variable parameters (pass by reference)
![Page 53: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/53.jpg)
James TamIntroduction to CPSC 233
Passing Value Parameters (Pass By Value)
•A local copy of the parameter is made for the procedure or function
procedureName (p1, p2);
procedureName (p1, p2: parameter type);
begin
end;
p1
p2
Copy Copy
![Page 54: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/54.jpg)
James TamIntroduction to CPSC 233
Passing Value Parameters (Pass By Value)
•A local copy of the parameter is made for the procedure or function
procedureName (p1, p2);
procedureName (p1, p2: parameter type);
begin
end;
(copy of) p1
(copy of) p2
Copy Copy
![Page 55: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/55.jpg)
James TamIntroduction to CPSC 233
Passing Variable Parameters (Pass By Reference)
•Changes made to the parameter inside the function or procedure will be retained outside of that module.
•This is done by passing a pointer to the parameter (refer to the parameter in the module and the pointer is automatically dereferenced in order to refer to the original parameter passed in)
![Page 56: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/56.jpg)
James TamIntroduction to CPSC 233
Passing Variable Parameters (Pass By Reference)
procedureName (p1, p2);
procedureName (var p1, p2: parameter type);
begin
end;
Pointer Pointer
p1
p2
(Original) p1
(Original) p2
![Page 57: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/57.jpg)
James TamIntroduction to CPSC 233
Parameters To Methods In Java
Allowable parameters include: •Simple type (boolean, char, integer etc.)
•Programmer defined types.
Simple types can only be passed by value in Java (copy passed in)
Composite types (arrays, objects) have a copy of a reference passed in (not exactly pass by reference because the net effect is the same as with simple types)
![Page 58: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/58.jpg)
James TamIntroduction to CPSC 233
Method Return Types In Java
Any simple type (boolean, char, integer etc.)
Cases where no value is returned (void)
Programmer defined types (objects)
![Page 59: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/59.jpg)
James TamIntroduction to CPSC 233
Passing Arrays As Parameters
Syntax:<method return type> <method name> (<array type> [] <name>)
Example:void fun (int [] arr)
void fun (int arr [])
![Page 60: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/60.jpg)
James TamIntroduction to CPSC 233
Methods In Java: Putting It All Together
See the example in Unix under:
/home/profs/tamj/233/examples/intro/Modules.java
![Page 61: James Tam Intermediate Pascal to Java examples Pascal To Java: The Transition Documentation Variables and constants Advanced input and output Decision.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649d2a5503460f949ffa39/html5/thumbnails/61.jpg)
James TamIntroduction to CPSC 233
Some Common Mistakes
1. Semi-colons e.g., method definitions, last statements in a block of statements
2. Performing an assignment when you want to check for equity
e.g., decision making constructs, loops
3. Commentsi.e., (* and *) vs /* and */
{}