comp15111: introduction to architecturesyllabus.cs.manchester.ac.uk/.../lectures/stack2.pdf ·...

Post on 09-May-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

COMP15111: Introduction to ArchitectureLecture 10: Methods – Parameters and Variables

Dr. Javier Navaridas

School of Computer Science, University of Manchester

Autumn 2016

COMP15111 Lecture 10 1/33

Lecture 10: You are here

An Example Java Program

Lifespan of Variables in a Running Java Program

COMP15111 Lecture 10 An Example Java Program 2/33

An example Java Program – AgeHistory2

static int presentDay, presentMonth, presentYear;

void printAgeHistory (int person, birthDay, birthMonth, birthYear)int someYear, ageInSomeYear1;

System.out.println(...);... birthYear ... presentYear ... someYear ...

void main(String[] args)int birthDay1, birthMonth1, birthYear1, ...... = Integer.parseInt(args[...]);printAgeHistory(...);

void println(String string)print(string);

write(newline);

void print(String string)write(nextchar);

COMP15111 Lecture 10 An Example Java Program 4/33

An example Java Program – AgeHistory2

static int presentDay, presentMonth, presentYear;

void printAgeHistory (int person, birthDay, birthMonth, birthYear)int someYear, ageInSomeYear1;

System.out.println(...);... birthYear ... presentYear ... someYear ...

void main(String[] args)int birthDay1, birthMonth1, birthYear1, ...... = Integer.parseInt(args[...]);printAgeHistory(...);

void println(String string)print(string);

write(newline);

void print(String string)write(nextchar);

COMP15111 Lecture 10 An Example Java Program 4/33

An example Java Program – AgeHistory2

static int presentDay, presentMonth, presentYear;

void printAgeHistory (int person, birthDay, birthMonth, birthYear)int someYear, ageInSomeYear1;

System.out.println(...);... birthYear ... presentYear ... someYear ...

void main(String[] args)int birthDay1, birthMonth1, birthYear1, ...... = Integer.parseInt(args[...]);printAgeHistory(...);

void println(String string)print(string);

write(newline);

void print(String string)write(nextchar);

COMP15111 Lecture 10 An Example Java Program 4/33

An example Java Program – AgeHistory2

static int presentDay, presentMonth, presentYear;

void printAgeHistory (int person, birthDay, birthMonth, birthYear)int someYear, ageInSomeYear1;

System.out.println(...);... birthYear ... presentYear ... someYear ...

void main(String[] args)int birthDay1, birthMonth1, birthYear1, ...... = Integer.parseInt(args[...]);printAgeHistory(...);

void println(String string)print(string);

write(newline);

void print(String string)write(nextchar);

COMP15111 Lecture 10 An Example Java Program 4/33

An example Java Program – AgeHistory2

static int presentDay, presentMonth, presentYear;

void printAgeHistory (int person, birthDay, birthMonth, birthYear)int someYear, ageInSomeYear1;

System.out.println(...);... birthYear ... presentYear ... someYear ...

void main(String[] args)int birthDay1, birthMonth1, birthYear1, ...... = Integer.parseInt(args[...]);printAgeHistory(...);

void println(String string)print(string);

write(newline);

void print(String string)write(nextchar);

COMP15111 Lecture 10 An Example Java Program 4/33

Lecture 10: You are here

An Example Java Program

Lifespan of Variables in a Running Java Program

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 5/33

Running AgeHistory2

birthYear1 etc.

presentYear etc.

main starts

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 7/33

Running AgeHistory2

intString etc.

birthYear1 etc.

presentYear etc.

main calls parseInt (*6)

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 9/33

Running AgeHistory2

birthYear1 etc.

presentYear etc.

parseInt returns to main

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 11/33

Running AgeHistory2

someYear etc.

birthYear1 etc.

presentYear etc.

main calls printAgeHistory (*2)

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 13/33

Running AgeHistory2

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

printAgeHistory calls println (*3?)

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 15/33

Running AgeHistory2

string etc.

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

println calls print

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 17/33

Running AgeHistory2

char etc.

string etc.

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

print calls write (*n)

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 19/33

Running AgeHistory2

string etc.

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

write returns to print

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 21/33

Running AgeHistory2

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

print returns to println

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 23/33

Running AgeHistory2

char etc.

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

println calls write

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 25/33

Running AgeHistory2

string etc.

someYear etc.

birthYear1 etc.

presentYear etc.

write returns to println

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 27/33

Running AgeHistory2

someYear etc.

birthYear1 etc.

presentYear etc.

println returns to printAgeHistory

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 29/33

Running AgeHistory2

birthYear1 etc.

presentYear etc.

printAgeHistory returns to main

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 31/33

Running AgeHistory2

presentYear etc.

main finishes

COMP15111 Lecture 10 Lifespan of Variables in a Running Java Program 33/33

top related