Post on 29-Dec-2015
transcript
Introduction 3 unit course 2 hours of lecture/week
Thursdays 4.00pm – 6.00pm Mondays 4.00pm – 6.00pm
3 hours of practical/week To be determined next week Course Lecturers:
2
Dr. A. O. AjayiDr. F. O. AsaiahMrs. H. O. Odukoya Dr. B. S. Afolabi (Coordinator)
Dr. P. A. IdowuDr. A. R. IyandaMr. I. P. GamboMr. OkegbileMiss Lawal
Textbooks
No textbook is required For programming beginners:
Java Software Solutions: Foundations of Program Design, John Lewis and William Loftus, Publisher: Addison Wesley, 2002
For experienced programmers:— Learning the JavaTM Language at http://docs.oracle.com/javase/tutorial/ /
— Thinking in Java, Bruce Eckel, Prentice Hall
Software is required
Download Java onto your home machine http://www.oracle.com/technetwork/java/javase/downloads
/index.html
Follow the instructions to install it Then, follow the instructions to install Eclipse
https://eclipse.org/downloads/
Functional versus imperative languages Functional languages are ideal for expressing the functional (the
problem to be solved) component of any problem however... at least 50% of all programs deal with input/output rather than a
problem and functional languages aren’t very good at input/output. Think of the programs you use now:
editor
language translator()
web browser
Functional programming should have taught you to appreciate concise elegant programs.
Programming Languages
Easier to understand than CPU instructions Needs to be translated for the CPU to
understand it
JAVA“Most popular” languageRuns on a “virtual machine”
(JVM)More complex than some (eg.
Python)Simpler than others (eg. C++)
First Programclass Hello {
public static void main(String[] arguments){
//Program execution begins here System.out.println("Hello
world.");}
}
Second Programclass Hello2 {
public static void main(String[] arguments){
//Program execution begins here System.out.println("Hello world."); //Print once
System.out.println(“Line number 2."); // Again}
}
TypesKinds of values that can be stored and
manipulated.boolean: Truth value (true or false).int: Integer (0, 1, -47).double: Real number (3.14, 1.0, -2.1).String: Text (“hello”, “example”).
Variables
Named location that stores a value of one particular type.
Form: TYPE NAME;Example:
String foo;
Assignment
Can be combined with a variable declaration.
Example:double badPi = 3.14;boolean isJanuary = true;
class Hello3 {public static void main(String[]
arguments){String foo = "IAP 6.092";System.out.println(foo);foo =
"Something else";System.out.println(foo);
}}
Operators
Symbols that perform simple computations
Assignment: =Addition: +Subtraction: -Multiplication: *Division: /
Order of Operations
Follows standard math rules:
ParenthesesMultiplication and divisionAddition and subtraction
class DoMath {public static void main(String[] Arguments){
double score = 1.0 + 2.0 * 3.0;System.out.println(score);score = score / 2.0;System.out.println(score);
}}
class DoMath {public static void main(String[] Arguments){
double score = 1.0 + 2.0 * 3.0;System.out.println(score);double copy = score;copy =copy/ 2.0;System.out.println(copy);System.out.println(score);
}}
String Concatenation (+)
String text = "hello" + " world";
text = text + " number " + 5;
// text = "hello world number 5"
Examples 1
class Comment { // This is a one-line comment; it extends to the end of the line /* This is a delimited comment, extending over several lines */ int /* A delimited comment, extending over part of a line */ x = 117;
}
25
Examples 2class Layout { // Class declaration
int a;Layout(int a){ this.a = a; } // One-line constructor bodyint sum(int b) { // Multi-line method body
if (a > 0) // If statementreturn a + b; // Single statement
else if (a < 0) { // Nested if-else, block statementint res = -a + b;return res * 117;
} else { // a == 0 // Terminal else, block statementint sum = 0;for (int i=0; i<10; i++) // For loopsum += (b - i) * (b - i);return sum;}
} 26
…Examples 2static boolean checkdate(int mth, int day) {
int length;switch (mth) { // Switch statement
case 2: // Single caselength = 28; break;case 4: case 6: case 9: case 11: // Multiple caselength = 30; break;case 1: case 3: case 5: case 7: case 8: case 10: case 12:length = 31; break;
default:return false;}
return (day >= 1) && (day <= length);}
}27
Example 4class Scope {
... //void m1(int x) { // declaration of parameter x (#1)
... // x #1 in scope} //... //void m2(int v2) { //
... // x #5 in scope} //... //void m3(int v3) { //
... // x #5 in scopeint x; // declaration of variable x (#2)... // x #2 in scope
} //... //
28
…Example 4void m4(int v4) { //
... // x #5 in scope{ //
int x; // declaration of variable x (#3)... // x #3 in scope
} //... // x #5 in scope{ //
int x; // declaration of variable x (#4)... // x #4 in scope
} //... // x #5 in scope
} //... //int x; // declaration of field x (#5)... // x #5 in scope
}29