Download COP-3330: Object Oriented Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
COP-3330: Object Oriented
Programming
Course Introduction
May 14, 2012
Eng. Hector M Lugo-Cordero, MS
Syllabus
• Link to syllabus
• As of now my webpage will have all material
for the course
– http://www.eecs.ucf.edu/~hlugo
• I will try to get a WebCT session
The Programming World
• Couple of programming paradigms exists
– Imperative:
• Structural: C, FORTRAN
– Functional: Scheme, Nodejs
– Object Oriented: Objective-C, C++, C#, Java
What is this course about?
• Developing programs using the object oriented paradigm
• Allows abstraction of low level details giving more powerful tools to
concentrate on the higher level tasks
• Sentences are composed of Subject, Verb, Predicate or Object
– Mary eats the apple
• Subject: Mary
• Verb (action): eats
• Object: the apple
• Object oriented programming is composed of “sentences”
• var.addTo(temp);
– Subject (an object): var
– Action (method): addTo
– Object (another object): temp
Problem Solving
1.
2.
3.
4.
Understand the problem
Dissect the problem into manageable pieces.
Design a solution.
Consider alternatives to the solution to refine
it.
5. Implement the solution.
6. Test the solution and fix any problems that
exist.
History of Java
• Java was developed in 1995 be James Gosling who works
at Sun Microsystems. Java's ability to execute programs on
the WWW caused an initial buzz.
• However, the language has continued to gain in popularity
because of its object-oriented design. This design is very
well-suited for very large programming projects.
• Many academics even feel that Java is an excellent first
programming language to learn. Java teaches the concept
of objects very well. Other languages, such as C++, do not
reinforce the concept quite as well. Although C++ is good
for learning memory management.
• Recently Sun was bought by Oracle.
A Java Program
1. // Knights.java
2. // Arup Guha
3. // 1/9/07
4. // A very simple Java program that prints to the screen.
5. public class Knights {
6.
7.
8.
9.
10.
11.
12. }
/*
This is the main function of the program
*/
public static void main(String[] args) {
System.out.println("GO KNIGHTS!!!!!!!");
}
Understanding the code (comments)
• Single line comments are written as shown on
lines 1 – 4, that is “//with some text”
– It is good practice to keep your code clean and
commented such that you may go back to
understand it after some time
– Lines 1 – 4 contain the author and some info
about the code, e.g. logs, known bugs, etc.
• Multi line comments follow the C convention
of /* anything between this is a comment */,
as shown on lines 6 – 8
Class Definition
• Line 5 presents the definition of a class
– All java code resides within classes, and each
class must have a name.
• In main class the name should be the same filename
– We shall go more into classes as the course moves
on
The Main Function
• Line 9 presents the main function of a Java
program
• It is not necessary to have a main function in
order to have a complete Java Class
– For now all classes shall have one
– As in C, this is the first function that is called
Understanding Main
• There are several keywords on the definition
of main
– 1) public: access from everywhere
– 2) static: the method is the same for all instances
of the class
– 3) void: return type, in this case none
– 4) String[] args: parameters to main. Equivalent
to C’s int argc, char** argv
• We shall go more into detail on this
System.out.println
• On line 10 we our first line to write something to
the stdout or console in this case
• System.out.println works as printf in C, however
it is much simpler to use since it does not require
format specifiers (i.e. %c, %s, %d, %f, etc.)
• System.out.printf does exits as well and it is used
just liked in C
• Other standard streams include System.in and
System.err
Primitive Data Types
Data Type
Wrapper Class
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
boolean
Boolean
char
Character
void
Void
Variable Names
•
•
•
•
Are case sensitive
Can contain letters, underscores, and numbers
Should not start with numbers
Should be descriptive of the task, they can
have any number of characters
Compilers and Interpreters
• Compilers translate code into machine code to
generate a binary file (e.g. .exe)
• Interpreters run the code as it reads it
• Java is an interpreted language, the Java
Virtual Machine (JVM) runs a .class code
Creating .class files
• The command javac may be used as gcc with C to
“compile” or create .class files which can be run
by the JVM
• Consider the code Knights.java, to compile it
• javac Knights.java
• The above creates a .class file which may be run
using
• java Knights
• Notice no .class is used (why?)