Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
40 views

Introduction To Computers and Java

This document provides an overview of computer hardware, software, and the Java programming language. It discusses that computer systems consist of hardware and software, with hardware being the tangible parts and software being programs of instructions. It describes common computer components like processors, memory (main and auxiliary), and input/output devices. It introduces how data is stored using bits and bytes and organized into files. It explains what programs are and how they are run, including the roles of operating systems, programming languages, compilers, interpreters, and class loaders. It also discusses object-oriented programming concepts like classes, objects, methods, and algorithms.

Uploaded by

Ameer Quinn
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Introduction To Computers and Java

This document provides an overview of computer hardware, software, and the Java programming language. It discusses that computer systems consist of hardware and software, with hardware being the tangible parts and software being programs of instructions. It describes common computer components like processors, memory (main and auxiliary), and input/output devices. It introduces how data is stored using bits and bytes and organized into files. It explains what programs are and how they are run, including the roles of operating systems, programming languages, compilers, interpreters, and class loaders. It also discusses object-oriented programming concepts like classes, objects, methods, and algorithms.

Uploaded by

Ameer Quinn
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 64

Introduction to Computers

and Java
Module 1
Objectives
overview computer hardware and software
introduce program design and object-oriented
programming
overview the Java programming language
Hardware and Software
Computer systems consist of hardware and
software.
Hardware includes the tangible parts of computer
systems.
Software includes programs - sets of instructions
for the computer to follow.
Familiarity with hardware basics helps us
understand software.
Hardware and Memory
Most modern computers have similar
components including
input devices (keyboard, mouse, etc.)
output devices (display screen, printer, etc.)
a processor
two kinds of memory (main memory and auxiliary
memory).
The Processor
also called the CPU (central processing unit)
or the chip (e.g. Pentium processor)
The processor processes a programs
instructions.
It can process only very simple instructions.
The power of computing comes from speed
and program intricacy.
Memory
Memory holds
programs
data for the computer to process
the results of intermediate processing.
two kinds of memory
main memory
auxiliary memory
Main memory
working memory used to store
the current program
the data the program is using
the results of intermediate calculations
usually measured in megabytes (e.g. 256
megabytes of RAM)
RAM is short for random access memory
a byte is a quantity of memory
Auxiliary Memory
also called secondary memory
disk drives, diskettes, CDs, etc.
more or less permanent (nonvolatile)
usually measured in gigabytes (e.g. 50
gigabyte hard drive)
Bits, Bytes, and Addresses
A bit is a digit with a value of either 0 or 1.
A byte consists of 8 bits.
Each byte in main memory resides at a
numbered location called its address.
Addresses
Storing Data
Data of all kinds (numbers, letters, strings of
characters, audio, video, even programs) are
encoded and stored using 1s and 0s.
When more than a single byte is needed,
several adjacent bytes are used.
The address of the first byte is the address of the
unit of bytes.
Files
Large groups of bytes in auxiliary memory are
called files.
Files have names.
Files are organized into groups called
directories or folders.
Java programs are stored in files.
Programs files are copied from auxiliary
memory to main memory in order to be run.
0s and 1s
Machines with only 2 stable states are easy
to make, but programming using only 0s and
1s is difficult.
Fortunately, the conversion of numbers,
letters, strings of characters, audio, video,
and programs is done automatically.
Programs
A program is a set of instructions for a
computer to follow.
We use programs almost daily (email, word
processors, video games, bank ATMs, etc.).
Following the instructions is called running or
executing the program.
Input and Output
Normally, a computer received two kinds of
input:
the program
the data needed by the program.
The output is the result(s) produced by
following the instructions in the program.
Running a Program

Sometimes the computer and the program


are considered to be one unit.
Programmers typically find this view to be more
convenient.
The Operating System
The operating system is a supervisory
program that oversees the operation of the
computer.
The operating system retrieves and starts
program for you.
Well-known operating systems include DOS,
Microsoft Windows, Apples Mac OS, Linux,
and UNIX.
Programming Languages
High-level languages are relatively to write
and to understand.
Java, Pascal, FORTRAN, C, C++, BASIC, Visual
Basic, etc.
Unfortunately, computer hardware does not
understand high-level languages.
Therefore, a high-level language program must be
translated into a low-level language.
Compilers
A compiler translates a program from a high-
level language to a low-level language the
computer can run.
You compile a program by running the
compiler on the high-level-language version
of the program called the source program.
Compilers produce machine- or assembly-
language programs called object programs.
Compilers, cont.
Most high-level languages need a different
compiler for each type of computer and for
each operating system.
Most compilers are very large programs that
are expensive to produce.
Java Byte-Code
The Java compiler does not translate a Java
program into assembly language or machine
language for a particular computer.
Instead, it translates a Java program into
byte-code.
Byte-code is the machine language for a
hypothetical computer (or interpreter) called the
Java Virtual Machine.
Java Byte-Code, cont.
A byte-code program is easy to translate into
machine language for any particular
computer.
A program called an interpreter translates
each byte-code instruction, executing the
resulting machine-language instructions on
the particular computer before translating the
next byte-code instruction.
Compiling, Interpreting,
Running
Use the compiler to translate the Java
program into byte-code (done using the
compile command).
Use the byte-code interpreter for your
computer to translate each byte-code
instruction into machine language and to run
the resulting machine-language instructions
(done using the run command).
Portability
After compiling a Java program into byte-
code, that byte-code can be used on any
computer with a byte-code interpreter and
without a need to recompile.
Byte-code can be sent over the Internet and
used anywhere in the world.
This makes Java suitable for Internet
applications.
Class Loader
A Java program typically consists of several
pieces called classes.
Each class may have a separate author and
each is compiled (translated into byte-code)
separately.
A class loader (called a linker in other
programming languages) automatically
connects the classes together.
Programming
Programming is a creative process.
Programming can be learned by discovering
the techniques used by experienced
programmers.
These techniques are applicable to almost
every programming language, including Java.
Algorithms
By designing methods, programmers provide
actions for objects to perform.
An algorithm describes a means of
performing an action.
Once an algorithm is defined, expressing it in
Java (or in another programming language)
usually is easy.
Algorithms, cont.
An algorithm is a set of instructions for
solving a problem.
An algorithm must be expressed completely
and precisely.
Algorithms usually are expressed in English
or in pseudocode.
Example: Total Cost of All Items
Write the number 0 on the whiteboard.
For each item on the list
add the cost of the item to the number on the
whiteboard
replace the number on the whiteboard with the
result of this addition.
Announce that the answer is the number
written on the whiteboard.
Reusable Components
Most programs are created by combining
components that exist already.
Reusing components saves time and money.
Reused components are likely to be better
developed, and more reliable.
New components should designed to be
reusable by other applications.
Making Components Reusable
Specify exactly how objects of the class
interact with other objects.
Design a class so that objects are general,
rather than unique to a particular application.
Testing and Debugging
Eliminate errors by avoiding them in the first
place.
Carefully design classes, algorithms and methods.
Carefully code everything into Java.
Test your program with appropriate test cases
(some where the answer is known), discover
and fix any errors, then retest.
Errors
An error in a program is called a bug.
Eliminating errors is called debugging.
three kinds or errors
syntax errors
runtime errors
logic errors
Syntax Errors
grammatical mistakes in a program
the grammatical rules for writing a program are
very strict
The compiler catches syntax errors and prints
an error message.
example: using a period where a program
expects a comma
Runtime Errors
errors that are detected when your program is
running, but not during compilation
When the computer detects an error, it
terminates the program an prints an error
message.
example: attempting to divide by 0
Logic Errors
errors that are not detected during compilation
or while running, but which cause the program
to produce incorrect results
example: an attempt to calculate a Fahrenheit
temperature from a Celsius temperature by
multiplying by 9/5 and adding 23 instead of 32
A Sip of Java: Outline
History of the Java Language
A First Java Program
Compiling a Java Program or Class
Running a Java Program
Objects and Methods
History of Java
In 1991, James Gosling and Sun
Microsystems began designing a language
for home appliances (toasters, TVs, etc.).
challenging, because home appliances are
controlled by many different chips (processors)
Programs were translated first into an intermediate
language common to all appliance processors.
History of Java, cont.
Then the intermediate language was translated
into the machine language for a particular
appliances processor.
Appliance manufacturers werent impressed.
In 1994, Gosling realized that his language
would be ideal for a Web browser that could
run programs over the Internet.
Sun produced the browser known today as
HotJava.
Applications and Applets
two kinds of Java programs: applications and
applets
applications
regular programs
meant to be run on your computer
applets
little applications
meant to be sent to another location on the
Internet and run there
First Java program
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Saving and running
Save it as HelloWorld.java. Again, make sure that
the filename is the same case as the class name.
Compile and run it:

javac HelloWorld.java
java HelloWorld

Your computer should display

Hello, world!
Line-by-line Analysis
The first line of the class,
public class HelloWorld {
declares a Java class named HelloWorld.
declared public - available to any other class.
public static void main(String[] args) {
begins a Java method named main. Java will start
executing the program from main method.
args is a method parameter
The method must be both public and static
No alternatives to: static, args in this course
Sum of 2
numbers

class
FirstProgram
Some Terminology
The person who writes a program is called
the programmer.
The person who interacts with the program is
called the user.
A package is a library of classes that have
been defined already.
import java.util.*
Some Terminology, cont.
The item(s) inside parentheses are called
argument(s) and provide the information
needed by methods.
A variable is something that can store data.
an instruction to the computer is called a
statement; it ends with a semicolon.
The grammar rules for a programming
language are called the syntax of the
language.
Printing to the Screen
System.out.println (Whatever you want to
print);
System.out is an object for sending output to
the screen.
println is a method to print whatever is in
parentheses to the screen.
The object is said to invoke or call the method
using.
objectName.methodName(argumentsTheMethodNeeds);
Compiling a Java Program or
Class
A Java program consists of one or more
classes, which must be compiled before
running the program.
You need not compile classes that
accompany Java (e.g. System and Scanner).
Each class should be in a separate file.
The name of the file should be the same as
the name of the class.
Compiling and Running
Use an IDE (integrated development
environment) which combines a text editor
with commands for compiling and running
Java programs.
When a Java program is compiled, the byte-
code version of the program has the same
name, but the ending is changed from .java
to .class.
Compiling and Running, cont.
A Java program can involve any number of
classes.
The class to run will contain the words
public static void main(String[] args)
near the beginning of the file.
Object-Oriented Programming
Our world consists of objects (people, trees,
cars, cities, airline reservations, etc.).
Objects can perform actions which effect
themselves and other objects in the world.
Object-oriented programming (OOP) treats a
program as a collection of objects that
interact by means of actions.
OOP Terminology
Objects, appropriately, are called objects.
Actions are called methods.
Objects of the same kind have the same type
and belong to the same class.
Objects within a class have a common set of
methods and the same kinds of data
but each object can have its own data values.
OOP Design Principles
OOP adheres to three primary design
principles:
encapsulation
polymorphism
inheritance.
Introduction to Encapsulation
The data and methods associated with any
particular class are encapsulated (put
together in a capsule), but only part of the
contents is made accessible.
Encapsulation provides a means of using the
class, but it omits the details of how the class
works.
Encapsulation often is called information hiding.
Accessibility Example
An automobile consists of several parts and
pieces and is capable of doing many useful
things.
Awareness of the accelerator pedal, the brake
pedal, and the steering wheel is important to the
driver.
Awareness of the fuel injectors, the automatic
braking control system, and the power steering
pump is not important to the driver.
Introduction to Polymorphism
from the Greek meaning many forms
The same program instruction adapts to
many different things in different contexts.
A method name, used as an instruction, produces
results that depend on the class of the object that
used the method.
everyday analogy: take time to recreate causes
different people to do different activities
more about polymorphism later
Introduction to Inheritance
Classes can be organized using inheritance.
Introduction to Inheritance,
cont.
A class at lower levels inherits all the
characteristics of classes above it in the
hierarchy.
At each level, classifications become more
specialized by adding other characteristics.
Higher classes are more inclusive; lower
classes are less inclusive.
Inheritance in Java
used to organize classes
Inherited characteristics do not need to be
repeated.
New characteristics are added.
more about inheritance later
Number Systems
The base value of a number system determines
The number of symbols in the system
The place value of each digit
Decimal (base 10)
Symbols (10): 0,1,2,....9
Place: ..,104,103,102,101,100
132: (1x102)+(3x101)+(2x100)
Number Systems
Binary (base 2)
Symbols (2): 0,1
Place: ..,23,22,21,20
To convert decimal 132 to binary:
(1x27)+(0x26)+(0x25)+(0x24)+(0x23)+(1x22)+(0x21)+(0
x20) or 100001002
Number Systems
To convert from any base to decimal
1. Write the number in its expanded form
2. Sum each term
10012
(1x23) + (0x22) + (0x21) + (1x20)
8+0+0+1=9
Number Systems
To convert from decimal to any base
1. Write the place representation for the base using 1 as
the multiplier for each term
2. Calculate the value of each term
3. Determine the number required for each term
Decimal (5710) to binary
(1x26) + (1x25) + (1x24) + (1x23) + (1x22) + (1x21) +
(1x20)
64 32 16 8 4 2 1
0 1 1 1 0 0 1
5710 = 1110012

You might also like