Download Class 1 ~ Chapter 1

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
CSE 1340
Class 3
Class 03 objectives






State the difference between Machine Language vs. High
Level Languages
Discuss some characteristics of the Java language
Write an algorithm
Differentiate between the compilation and execution
processes of a program
Understand the purpose of using a compiler
Gain an elementary understanding of object-oriented
programming
Evolution of computer languages

Machine language
– Characterized by binary ones and zeroes

Low-level assembly languages
– Characterized by mnemonic codes

High-level languages
– English-like

Very-high level languages
– Results instead of procedural oriented

Natural languages
– Conversational
What Is Java?
High-level language
 Object-oriented

– Data and operations are packaged into
a single unit called an object

Basic syntax derived from C, C++,
and Smalltalk
– Designed by a team from Sun
Microsystems led by James Gosling in
the early 1990’s
What Is Java?

Parsimonious
– Compatible with older versions

Robust
– Strongly typed and incorruptible data

Secure
– Protection against misuse of code

Portable
– Platform-independent
What Is the Java SDK?

The Java Software Development Kit (SDK)
is a programming package to develop
Java applications
 The Java Runtime Environment (JRE)
provides the tools to deploy Java
applications
Features of the J2SE

The Java Compiler
– Converts code into bytecode

The Java Virtual Machine
– Contains an interpreter to execute the
bytecode

The Java API
– The standard set of packages available in Java

The Java Applet Viewer
– Mini browser to display Java applets
Any Java Compiler that is compatible
with the
Java 2 Platform 6.0
(J2SE 6.0)
Please see your Blackboard
homepage for link to free download
of Sun Microsystems J2SE 6.0
If you use J2SE 6.0, it is a
command line interface. In other
words, there is no User Interface
to work with. Programs have to be
entered into a text editor, saved
and then compiled through
commands at a command prompt.
Instructions for doing so are in a
link on your Blackboard
homepage.
Your textbook also comes with a CD
that includes Textpad that make
coding a little easier. See textbook
for installation.
See also the link on your
Blackboard homepage for
instructions on using the NetBeans
platform as another option.
Editor
Compiler
Class
Loader
Byte Code
Verifier
.
.
.
.
.
.
Interpreter
.
.
.
Editor
Disk
Program1.java
Compiler
Disk
Program1.java
Program1.class
Class
Loader
Primary
Memory
.
.
.
Disk
Program1.class
Program1.class
Program1.html
Java Virtual Machine

JVM
Environment
Java Source code javac Java byte-code
.java
.class
java
Java VM
Byte Code
Verifier
Primary
Memory
.
.
.
Program1.class
JIT Compiler

JIT- takes byte-codes and change it
to machine code.
JVM
Running
Applet or Application
.class file
machine code
J.I.T.
Compiler
Interpreter
Primary
Memory
.
.
.
Program1.class
Editor
Compiler
Class
Loader
Byte Code
Verifier
.
.
.
.
.
.
Interpreter
.
.
.
Java Program Types
Console and Windowed applications
 Applets
 Servlets
 Web Services
 JavaBeans

Console Applications

Stand-alone programs using a
command-line interface
Windowed Applications

Stand-alone programs using a
graphical user interface (GUI)
Applets

Client-side programs executed as
part of a displayed Web page
Servlets
Server-side programs hosted and run
on a Web server
 Used in conjunction with Java Server
Pages (JSP) to provide sophisticated
server-side logic
 Enable connections to server
databases through Java Database
Connectivity (JDBC)

Servlets
Web Services

Services receive information
requests over the Web and return the
requested data
JavaBeans

Reusable software components
Sample Problem
A programmer needs an algorithm to
determine an employee’s weekly wages.
How would the calculations be done by
hand?
One Employee’s Wages
In one week an employee works 52 hours
at the hourly pay rate of $24.75. Assume a
40.0 hour normal work week and an
overtime pay rate factor of 1.5
What are the employee’s wages?
40 x $ 24.75
= $ 990.00
12 x 1.5 x $ 24.75 = $___________
445.50
$ 1435.50
Weekly Wages, in General
If hours are more than 40.0, then
wages = (40.0 * payRate) + (hours - 40.0) * 1.5
*payRate
RECALL EXAMPLE
( 40 x $ 24.75 ) + ( 12 x 1.5 x $ 24.75 ) = $1435.50
otherwise,
wages = hours * payRate
An Algorithm is . . .

a step-by-step procedure for solving a
problem in a finite amount of time.
Algorithm to Determine an
Employee’s Weekly Wages
1. Display to the screen “how many hours did you
work?”
2. Input hours
3. Display to the screen “what is your rate of pay?”
4. Input rate
5. Calculate this week’s regular wages
6. Calculate this week’s overtime wages (if any)
(Fill in details of how to do steps 5 and 6)
7. Add the regular wages to overtime wages (if any)
to determine total wages for the week
Translating your algorithm into a
programming language is called
CODING
 The “code” or “program” for this algorithm
is on the next screen

// A payroll program
public class Payroll{
public static void main(String [] args)
{ double hours, rate, regularPay, overtimePay,grossPay;
Scanner keyboard = new Scanner(System.in);
System.out.print( "How many hours did you work?“) ;
hours = keyboard.nextInt();
System.out.print( "how much were you paid per hour?“);
rate = keyboard,nextInt();
if (hours <= 40)
{ regularPay = hours * rate;
overtimePay = 0.0; }
else
{ regularPay = 40 * rate;
overtimePay = (hours - 40 ) * (rate * 1.5 ); }
grossPay = regularPay + overtimePay;
System.out.println(“Your gross pay is” + grossPay);
}}
Introduction to Object-oriented
Programming and Design
Key concepts in beginning to
understand object-oriented
programming
A specific approach to programming
 Data and operations on the data are
packaged together into a single unit
called an object.
 Models real-world problems

OBJECT ORIENTED
PROGRAMMING
What is an object?
A noun
A person
A bank account
A rectangle
A grade book
What is an object’s data members?
Person
A name
An address
A phone number
A social security number
What is an object’s behavior?
Person
Eats
Drinks
Walks
Exercises
In order to eat, does the person
object need anything?
Food
Utensils
Rather than describing every single person,
in object-oriented programming, the
programmer describes a general type of an
object and then creates many of the objects
of that same type.
The person class
class Person
{
// data members
name;
address;
phonenumber;
socialno;
hand;
mouth;
// methods (behaviors)
void eat(good food, fork utensils)
{ hand = utensils;
mouth = food; }
Create many objects of type Person:
Person Judy;
Person John;
Person Ann;
Creating a new class from an
existing class
class Instructor extends Person
{ // Instructor gets to use all of Person data members
// and methods
// Instructor’s data members
textbooks;
computer;
// Instructor’s methods
void teach(….. )
{ ……. };
// other stuff }
Test your understanding on an airline
reservation system
What would some of the objects be?
 What data would the object contain?
 What operations would be performed
on that data?

Conclusion of Class 3