0% found this document useful (0 votes)
56 views76 pages

Introduction To Computers, Programs, and JAVA

This document provides an introduction to computers, programs, and the Java programming language. It describes the basic components of a computer including the CPU, memory, storage devices, input/output devices, and how data is stored in memory. It explains what programs are and compares low-level languages like machine language and assembly language to high-level languages. Popular high-level languages like Java, C++, and Ada are mentioned. The document aims to describe computer basics and set the stage for an introduction to programming in Java.

Uploaded by

muah mnas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views76 pages

Introduction To Computers, Programs, and JAVA

This document provides an introduction to computers, programs, and the Java programming language. It describes the basic components of a computer including the CPU, memory, storage devices, input/output devices, and how data is stored in memory. It explains what programs are and compares low-level languages like machine language and assembly language to high-level languages. Popular high-level languages like Java, C++, and Ada are mentioned. The document aims to describe computer basics and set the stage for an introduction to programming in Java.

Uploaded by

muah mnas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 76

1

Chapter 1
Introduction To Computers,
Programs, and JAVA
Objectives
2
 To understand computer basics, programs, and operating systems
(§§1.2–1.4).
 To describe the relationship between Java and the World Wide Web
(§1.5).
 To understand the meaning of Java language specification, API, JDK,
and IDE (§1.6).
 To write a simple Java program (§1.7).
 To display output on the console (§1.7).
 To explain the basic syntax of a Java program (§1.7).
 To create, compile, and run Java programs (§1.8).
 To display output using the JOptionPane message dialog boxes (§1.9).
 To become familiar with Java programming style and documentation
(§1.10).
 To explain the differences between syntax errors, runtime errors, and
logic errors (§1.11).
What is a Computer?
3

A computer consists of a CPU, memory, hard disk,


floppy disk, monitor, printer, and communication
devices.
Bus

Storage Communication Input Output


Memory CPU Devices Devices Devices
Devices
e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor,
and Tape and NIC Mouse Printer
CPU
4

• The central processing unit (CPU) is the brain of a computer.


• It retrieves instructions from memory and executes them.
• The CPU speed is measured in megahertz (MHz), with 1
megahertz equaling 1 million pulses per second.
• The speed of the CPU has been improved continuously.

Bus

Storage Communication Input Output


Memory CPU Devices Devices Devices
Devices
e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor,
and Tape and NIC Mouse Printer
Memory
5

• Memory is to store data and program instructions for CPU to execute.


• A memory unit is an ordered sequence of bytes, each holds eight bits.
• A program and its data must be brought to memory before they can be
executed.
• A memory byte is never empty, but its initial content may be
meaningless to your program.
• The current content of a memory byte is lost whenever new
information is placed in it.
Bus

Storage Communication Input Output


Memory CPU Devices Devices Devices
Devices
e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor,
and Tape and NIC Mouse Printer
How Data is Stored?
6

Data of various kinds, such as numbers,


characters, and strings, are encoded as a series
of bits (zeros and ones). Computers use zeros Memory address Memory content
and ones because digital devices have two
stable states, which are referred to as zero and . .

one by convention. The programmers need not . .


. .
to be concerned about the encoding and
2000 01001010 Encoding for character ‘J’
decoding of data, which is performed 2001 01100001 Encoding for character ‘a’
automatically by the system based on the 2002 01110110 Encoding for character ‘v’
encoding scheme. The encoding scheme 2003 01100001 Encoding for character ‘a’
varies. For example, character ‘J’ is 2004 00000011 Encoding for number 3
represented by 01001010 in one byte. A small
number such as three can be stored in a single
byte. If computer needs to store a large number
that cannot fit into a single byte, it uses a
number of adjacent bytes. No two data can
share or split a same byte. A byte is the
minimum storage unit.
Storage Devices
7

• Memory is volatile, because information is lost when the power is


off.
• Programs and data are permanently stored on storage devices
and are moved to memory when the computer actually uses them.
• There are three main types of storage devices: Disk drives (hard
disks and floppy disks), CD drives (CD-R and CD-RW), and
Tape drives.
Bus

Storage Communication Input Output


Memory CPU Devices Devices Devices
Devices
e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor,
and Tape and NIC Mouse Printer
Output Devices: Monitor
8

• The monitor displays information (text and graphics).


• The resolution and dot pitch determine the quality of the display.

Bus

Storage Communication Input Output


Memory CPU Devices Devices Devices
Devices
e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor,
and Tape and NIC Mouse Printer
Monitor Resolution and Dot Pitch
9

Resolution
The screen resolution specifies the number of pixels in horizontal
and vertical dimensions of the display device. Pixels (short for
“picture elements”) are tiny dots that form an image on the screen. A
common resolution for a 17-inch screen, for example, is 1,024 pixels
wide and 768 pixels high. The resolution can be set manually. The
higher the resolution, the sharper and clearer the image is.
Dot pitch
The dot pitch is the amount of space between pixels, measured in
millimeters. The smaller the dot pitch, the sharper the display.
Communication Devices
10

A regular modem uses a phone line and can transfer data in a speed up to
56,000 bps (bits per second). A DSL (digital subscriber line) also uses a
phone line and can transfer data in a speed 20 times faster than a regular
modem. A cable modem uses the TV cable line maintained by the cable
company. A cable modem is as fast as a DSL. Network interface card
(NIC) is a device to connect a computer to a local area network (LAN).
The LAN is commonly used in business, universities, and government
organizations. A typical type of NIC, called 10BaseT, can transfer data at
10 mbps (million bits per second).

Bus

Storage Communication Input Output


Memory CPU Devices Devices Devices
Devices
e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor,
and Tape and NIC Mouse Printer
Programs
11

 Computer programs, known as software, are instructions


to the computer.
 You tell a computer what to do through programs.
 Without programs, a computer is an empty machine.
 Computers do not understand human languages, so you
need to use computer languages to communicate with
them.
 Programs are written using programming languages.
Programming Languages
12

Machine Language Assembly Language High-Level Language

 Machine language is a set of primitive instructions built


into every computer.
 The instructions are in the form of binary code, so you
have to enter binary codes for various instructions.
 Program with native machine language is a tedious
process. Moreover the programs are highly difficult to
read and modify. For example, to add two numbers, you
might write an instruction in binary like this:
 1101101010011010
Programming Languages
13

Machine Language Assembly Language High-Level Language


 Assembly languages were developed to make programming easy.
 Since the computer cannot understand assembly language,
however, a program called assembler is used to convert assembly
language programs into machine code.
 For example, to add two numbers, you might write an instruction
in assembly code like this: ADDF3 R1, R2, R3

Assembly Source File


Machine Code File


ADDF3 R1, R2, R3
Assembler …
1101101010011010
… …
Programming Languages
14

Machine Language Assembly Language High-Level Language

 The high-level languages are English-like and easy to learn and


program.
 For example, the following is a high-level language statement that
computes the area of a circle with radius 5:
area = 5 * 5 * 3.1415;
Popular High-Level Languages
15

Language Description

Ada Named for Ada Lovelace, who worked on mechanical general-purpose computers. The Ada
language was developed for the Department of Defense and is used mainly in defense projects.
BASIC Beginner’s All-purpose Symbolic Instruction Code. It was designed to be learned and used easily
by beginners.
C Developed at Bell Laboratories. C combines the power of an assembly language with the ease of
use and portability of a high-level language.
C++ C++ is an object-oriented language, based on C.
C# Pronounced “C Sharp.” It is a hybrid of Java and C++ and was developed by Microsoft.
COBOL COmmon Business Oriented Language. Used for business applications.
FORTRAN FORmula TRANslation. Popular for scientific and mathematical applications.
Java Developed by Sun Microsystems, now part of Oracle. It is widely used for developing platform-
independent Internet applications.
Pascal Named for Blaise Pascal, who pioneered calculating machines in the seventeenth century. It is a
simple, structured, general-purpose language primarily for teaching programming.
Python A simple general-purpose scripting language good for writing short programs.
Visual Visual Basic was developed by Microsoft and it enables the programmers to rapidly develop
Basic graphical user interfaces.
Interpreting/Compiling Source Code
16

 A program written in a high-level language is called a


source program or source code.
 Because a computer cannot understand a source
program, a source program must be translated into
machine code for execution.
 The translation can be done using another programming
tool called an interpreter or a compiler.
Interpreting Source Code
17

An interpreter reads one statement from the source code,


translates it to the machine code or virtual machine code,
and then executes it right away, as shown in the
following figure.
Compiling Source Code
18

A compiler translates the entire source code into a


machine-code file, and the machine-code file is then
executed, as shown in the following figure.
Operating Systems
19

 The operating system (OS) is a


program that manages and controls
a computer’s activities. User

 The popular operating systems for


general-purpose computers are Application Programs
Microsoft Windows, Mac OS, and
Linux. Operating System
 Application programs, such as a
Web browser or a word processor, Hardware
cannot run unless an operating
system is installed and running on
the computer.
Why Java?
20

 The answer is that Java enables users to develop and deploy


applications on the Internet for servers, desktop computers,
and small hand-held devices.
 The future of computing is being profoundly influenced by
the Internet, and Java promises to remain a big part of that
future.

• Java is a general purpose programming language.


• Java is the Internet programming language.
Java, Web, and Beyond
21

 Java can be used to develop Web applications.


 Java Applets
 Java can also be used to develop applications for hand-
held devices such as Palm and cell phones
Examples of Java’s Versatility (Applets)
22
PDA and Cell Phone
23
Java’s History
24

 Java was developed by a team led by James Gosling at Sun


Microsystems
 In 1995, renamed Java, it was redesigned for developing Web
applications
 HotJava
 The first Java-enabled Web browser

 Sun Microsystems was purchased by Oracle in 2010. Originally


called Oak
 Early History Website:

http://www.java.com/en/javahistory/index.jsp
Characteristics of Java
25
 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
 Java Is Interpreted
 Java Is Robust
 Java Is Secure
 Java Is Architecture-Neutral
 Java Is Portable
 Java's Performance
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
26
 Java Is Simple
Java is partially modeled on C++, but
 Java Is Object-Oriented greatly simplified and improved.
 Java Is Distributed Some people refer to Java as "C++--"
 Java Is Interpreted because it is like C++ but with more
functionality and fewer negative
 Java Is Robust
aspects.
 Java Is Secure
 Java Is Architecture-Neutral
 Java Is Portable
 Java's Performance
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
27
 Java Is Simple Java is inherently object-oriented.
Although many object-oriented
 Java Is Object-Oriented languages began strictly as procedural
 Java Is Distributed languages, Java was designed from the
 Java Is Interpreted start to be object-oriented. Object-
oriented programming (OOP) is a
 Java Is Robust popular programming approach that is
 Java Is Secure replacing traditional procedural
 Java Is Architecture-Neutral programming techniques.
 Java Is Portable One of the central issues in software
 Java's Performance development is how to reuse code.
Object-oriented programming provides
 Java Is Multithreaded
great flexibility, modularity, clarity, and
 Java Is Dynamic reusability through encapsulation,
inheritance, and polymorphism.
Characteristics of Java
28
 Java Is Simple
Distributed computing involves
 Java Is Object-Oriented several computers working together
 Java Is Distributed on a network. Java is designed to
 Java Is Interpreted make distributed computing easy.
Since networking capability is
 Java Is Robust
inherently integrated into Java,
 Java Is Secure writing network programs is like
 Java Is Architecture-Neutral sending and receiving data to and
 Java Is Portable from a file.
 Java's Performance
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
29
 Java Is Simple
 Java Is Object-Oriented You need an interpreter to run Java
 Java Is Distributed programs. The programs are
compiled into the Java Virtual
 Java Is Interpreted
Machine code called bytecode. The
 Java Is Robust bytecode is machine-independent
 Java Is Secure and can run on any machine that
 Java Is Architecture-Neutral has a Java interpreter, which is part
of the Java Virtual Machine (JVM).
 Java Is Portable
 Java's Performance
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
30

 Java Is Simple • Java compilers can detect many


 Java Is Object-Oriented problems that would first show
up at execution time in other
 Java Is Distributed
languages.
 Java Is Interpreted
 Java Is Robust • Java has eliminated certain types
 Java Is Secure of error-prone programming
constructs found in other
 Java Is Architecture-Neutral
languages.
 Java Is Portable
 Java's Performance • Java has a runtime exception-
 Java Is Multithreaded handling feature to provide
 Java Is Dynamic programming support for
robustness.
Characteristics of Java
31
 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
Java implements several security
 Java Is Interpreted mechanisms to protect your system
 Java Is Robust against harm caused by stray
 Java Is Secure programs.
 Java Is Architecture-Neutral
 Java Is Portable
 Java's Performance
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
32

 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
 Java Is Interpreted
 Java Is Robust Write once, run anywhere
 Java Is Secure
With a Java Virtual Machine
 Java Is Architecture-Neutral (JVM), you can write one program
 Java Is Portable that will run on any platform.
 Java's Performance
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
33

 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
 Java Is Interpreted
 Java Is Robust
 Java Is Secure Because Java is architecture
 Java Is Architecture-Neutral neutral, Java programs are portable.
 Java Is Portable They can be run on any platform
 Java's Performance without being recompiled.
 Java Is Multithreaded
 Java Is Dynamic
Characteristics of Java
34

 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
 Java Is Interpreted
 Java Is Robust
 Java Is Secure
 Java Is Architecture-Neutral
 Java Is Portable Java’s performance Because Java is
architecture neutral, Java programs
 Java's Performance are portable. They can be run on
 Java Is Multithreaded any platform without being
 Java Is Dynamic recompiled.
Characteristics of Java
35

 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
 Java Is Interpreted
 Java Is Robust
 Java Is Secure
 Java Is Architecture-Neutral
 Java Is Portable Multithread programming is smoothly
integrated in Java, whereas in other
 Java's Performance
languages you have to call procedures
 Java Is Multithreaded specific to the operating system to
 Java Is Dynamic enable multithreading.
Characteristics of Java
36

 Java Is Simple
 Java Is Object-Oriented
 Java Is Distributed
 Java Is Interpreted
 Java Is Robust
 Java Is Secure Java was designed to adapt to an
 Java Is Architecture-Neutral evolving environment. New code can
be loaded on the fly without
 Java Is Portable recompilation. There is no need for
 Java's Performance developers to create, and for users to
 Java Is Multithreaded install, major new software versions.
 Java Is Dynamic New features can be incorporated
transparently as needed.
Terminology
37

 The application program interface (API), also known as


library, contains predefined classes and interfaces for
developing Java programs.
 Java Development Toolkit (JDK) is a bunch of compiled
components that aid you in developing Java programs. a JDK
contains the functions, objects, and other components (such as
virtual machines to run your app) for you to use in order to
develop your own software.
 Instead of using the JDK, Integrated Development Environment
(IDE) can be used for developing Java programs quickly.
Editing, compiling, building, debugging, and online help are
integrated in one graphical user interface
 (e.g., NetBeans, Eclipse, and TextPad)
JDK Editions
38

 Java Standard Edition (J2SE)


 J2SE can be used to develop client-side standalone applications
or applets.
 Java Enterprise Edition (J2EE)
 J2EE can be used to develop server-side applications such as
Java servlets, Java ServerPages, and Java ServerFaces.
 Java Micro Edition (J2ME).
 J2ME can be used to develop applications for mobile devices
such as cell phones.

 This book uses J2SE to introduce Java programming.


JDK Versions
39

 There are many versions of Java SE. The latest, Java SE 11.
 Oracle releases each version with a (JDK). For Java SE 11, the
Java Development Toolkit is called JDK 11 (also known as
Java 11 or JDK 11).
 Examples:
 JDK 1.02 (1995)
 JDK 1.1 (1996)
 JDK 1.2 (1998)
 JDK 1.3 (2000)
 JDK 1.4 (2002)
 JDK 1.5 (2004) a. k. a. JDK 5 or Java 5
 JDK 1.6 (2006) a. k. a. JDK 6 or Java 6
 JDK 1.7 (2011) a. k. a. JDK 7 or Java 7
Popular Java IDEs
40

 NetBeans
 Eclipse
A Simple Java Program
41
The Saving of Java Program
42

 Note
 The source file must end with the extension .java and must
have the same exact name as the public class name.
 For example, the file for the source code in Listing 1.1 should be
named Welcome.java, since the public class name is Welcome.
Creating, Compiling, and Running Programs
43
Compiling Java Source Code
44

 You can port a source program to any machine with appropriate


compilers.
 Nowadays computers are networked to work together. Java was
designed to run object programs on any platform.
 With Java, you write the program once, and compile the source
program into a special type of object code, known as bytecode.
 The bytecode can then run on any computer with a Java Virtual
Machine, as shown below.
 Java Virtual Machine is a software that interprets Java bytecode.
Compiling Java Source Code
45

 the compiler generates a bytecode file with a .class extension. Thus,


the preceding command generates a file named Welcome.class
animation

Trace a Program Execution


46
Enter main method

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
animation

Trace a Program Execution


47
Execute statement

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
animation

Trace a Program Execution


48

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}

print a message to the


console
A Simple Java Program
49
Anatomy of a Java Program
50

 Class name
 Main method
 Statements
 Statement terminator
 Reserved words
 Comments
 Blocks
Class Name
51
 Every Java program must have at least one class.
 Each class has a name.
 By convention, class names start with an uppercase letter.
 In this example, the class name is Welcome.

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Main Method
52

 Line 2 defines the main method. In order to run a class, the class
must contain a method named main.
 The program is executed from the main method.

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Statement
53

 A statement represents an action or a sequence of actions.


 The statement System.out.println ("Welcome to Java!") in the
program in Listing 1.1 is a statement to display the greeting
"Welcome to Java!“.

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Statement Terminator
54

Every statement in Java ends with a semicolon (;).

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Reserved words
55

 Reserved words or keywords are words that have a specific


meaning to the compiler and cannot be used for other purposes
in the program.
 For example, when the compiler sees the word class, it understands
that the word after class is the name for the class.

//This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Blocks
56

• A pair of braces in a program forms a block that groups


components of a program.

Caution
• Java source programs are case sensitive. It would be wrong, for
example, to replace main in the program with Main.
Special Symbols
57
{ …}
58

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
( … )
59

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
;
60

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
// …
61

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
"…"
62

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Displaying Text in a Message Dialog Box
63

 You can rewrite the program in Listing 1.1 to display


the text in a message dialog box
 you can use the showMessageDialog method in the
JOptionPane class.
 JOptionPane is one of the many predefined classes in
the Java system, which can be reused rather than
“reinventing the wheel.”
Displaying Text in a Message Dialog Box
64

Note:
If you replace JOptionPane in line 9 with javax.swing.JOptionPane, you
don’t need to import it in line 4. javax.swing.JOptionPane is the full name for
the JOptionPane class.
Notes:
65

 There are two types of import statements: specific import and


wildcard import.
1. The specific import specifies a single class in the import statement.
For example, the following statement imports JOptionPane from
the package javax.swing.
import javax.swing.JOptionPane;
2. The wildcard import imports all the classes in a package
javax.swing by using:
import javax.swing.*;
 The information for the classes in an imported package is not read in

at compile time or runtime unless the class is used in the program.


The showMessageDialog Method
66

JOptionPane.showMessageDialog(null,
"Welcome to Java!",
"Display Message",
JOptionPane.INFORMATION_MESSAGE);
Two Ways to Invoke the Method
67

 There are several ways to use the showMessageDialog method.


For the time being, all you need to know are two ways to invoke
it.
1. One is to use a statement as shown in the example:
JOptionPane.showMessageDialog(null, x, y,
JOptionPane.INFORMATION_MESSAGE);
where x is a string for the text to be displayed, and y is a string for
the title of the message dialog box.

2. The other is to use a statement like this:


JOptionPane.showMessageDialog(null, x);
where x is a string for the text to be displayed.
Programming Style and Documentation
68

 Appropriate Comments
 Naming Conventions
 Proper Indentation and Spacing Lines
 Block Styles
Appropriate Comments
69

 Include a summary at the beginning of the program to


explain what the program does, its key features, its
supporting data structures, and any unique techniques it
uses.
 Include your name, class section, instructor, date, and a
brief description at the beginning of the program.
 In addition to line comments (beginning with //) and
block comments (beginning with /*),
Naming Conventions
70

 Choose meaningful and descriptive names.


 Class names:
 Capitalize the first letter of each word in the name.
For example, the class name
ComputeExpression.
Proper Indentation and Spacing
71

 Indentation
 Indent two spaces.

 Spacing
 Use blank line to separate segments of the code.
Block Styles
72

Use end-of-line style for braces.


 
Programming Errors
73
 Syntax Errors
 Detected by the compiler

 Runtime Errors
 Causes the program to abort

 Logic Errors
 Produces incorrect result
Syntax Errors
74

public class ShowSyntaxErrors {


public static main(String[] args) {
System.out.println("Welcome to Java);
}
}
Runtime Errors
75

public class ShowRuntimeErrors {


public static void main(String[] args) {
System.out.println(1 / 0);
}
}
Logic Errors
76

public class ShowLogicErrors {


public static void main(String[] args) {
System.out.println("Celsius 35 is
Fahrenheit degree ");
System.out.println((9 / 5) * 35 + 32);
}
}

You might also like