SlideShare a Scribd company logo
SSttrruuccttuurree pprrooggrraammmmiinngg 
JJaavvaa PPrrooggrraammmmiinngg –– TThheeoorryy 
CChhaapptteerr 11 IInnttrroodduuccttiioonn ttoo CCoommppuutteerrss,, PPrrooggrraammss,, aanndd JJaavvaa 
FFaaccuullttyy ooff PPhhyyssiiccaall aanndd BBaassiicc 
EEdduuccaattiioonn 
CCoommppuutteerr SScciieennccee 
BByy:: MMsscc.. KK aarrwwaann MM.. 
KKaarreeeemm 
22001133 -- 22001144 
1 
Š University of Sulaimani, Faculty of Physical & Basic Education, Department of Computer Science 2014 / 2015
Objectives 
 To review computer basics, programs, and operating 
systems 
 To explore the relationship between Java and the World 
Wide Web 
 To distinguish the terms API, IDE, and JDK 
 To write a simple Java program 
 To display output on the console 
 To explain the basic syntax of a Java program 
 To create, compile, and run Java programs 
 (GUI) To display output using the JOptionPane output 
dialog boxes 
2 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
What is a Computer? 
A computer consists of a CPU, memory, hard disk, floppy disk, 
monitor, printer, and communication devices. 
CPU 
e.g., Disk, CD, 
and Tape 
Input 
Devices 
e.g., Keyboard, 
Mouse 
e.g., Monitor, 
Printer 
Communication 
Devices 
e.g., Modem, 
and NIC 
Storage 
Devices 
Memory 
Output 
Devices 
Bus 
3 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
CPU 
The central pprroocceessssiinngg uunniitt (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. If you buy a PC now, you can get an Intel Pentium 4 
Processor at 3 gigahertz or more (1 gigahertz is 1000 megahertz). 
CPU 
e.g., Disk, CD, 
and Tape 
Input 
Devices 
e.g., Keyboard, 
Mouse 
e.g., Monitor, 
Printer 
Communication 
Devices 
e.g., Modem, 
and NIC 
Storage 
Devices 
Memory 
Output 
Devices 
Bus 
4 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Memory 
MMeemmoorryy 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. 
CPU 
e.g., Disk, CD, 
and Tape 
Input 
Devices 
e.g., Keyboard, 
Mouse 
e.g., Monitor, 
Printer 
Communication 
Devices 
e.g., Modem, 
and NIC 
Storage 
Devices 
Memory 
Output 
Devices 
Bus 
5 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Storage Devices 
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. 
CPU 
e.g., Disk, CD, 
and Tape 
Input 
Devices 
e.g., Keyboard, 
Mouse 
e.g., Monitor, 
Printer 
Communication 
Devices 
e.g., Modem, 
and NIC 
Storage 
Devices 
Memory 
Output 
Devices 
Bus 
6 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Output Devices: Monitor 
The monitor displays information (text and graphics). The resolution 
and dot pitch determine the quality of the display. 
CPU 
e.g., Disk, CD, 
and Tape 
Input 
Devices 
e.g., Keyboard, 
Mouse 
e.g., Monitor, 
Printer 
Communication 
Devices 
e.g., Modem, 
and NIC 
Storage 
Devices 
Memory 
Output 
Devices 
Bus 
7 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Communication Devices 
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). 
CPU 
e.g., Disk, CD, 
and Tape 
Input 
Devices 
e.g., Keyboard, 
Mouse 
e.g., Monitor, 
Printer 
Communication 
Devices 
e.g., Modem, 
and NIC 
Storage 
Devices 
Memory 
Output 
Devices 
Bus 
8 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Programs 
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. 
9 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Programming Languages 
Machine Language Assembly Language High-Level Language 
MMaacchhiinnee llaanngguuaaggee 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 
10 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Programming Languages 
Machine Language Assembly Language High-Level Language 
AAsssseemmbbllyy llaanngguuaaggeess 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 
… 
ADDF3 R1, R2, R3 
… 
Assembler 
Machine Code File 
… 
1101101010011010 
… 
11 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Programming Languages 
Machine Language Assembly Language High-Level Language 
The hhiigghh--lleevveell llaanngguuaaggeess 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; 
12 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Popular High-Level Languages 
 COBOL (COmmon Business Oriented Language) 
 FORTRAN (FORmula TRANslation) 
 BASIC (Beginner All-purpose Symbolic Instructional Code) 
 Pascal (named for Blaise Pascal) 
 Ada (named for Ada Lovelace) 
 C (whose developer designed B first) 
 Visual Basic (Basic-like visual language developed by Microsoft) 
 Delphi (Pascal-like visual language developed by Borland) 
 C++ (an object-oriented language, based on C) 
 C# (a Java-like language developed by Microsoft) 
 Java (We use it during the course) 
13 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Compiling Source Code 
A program written in a high-level language is called a 
ssoouurrccee pprrooggrraamm. Since a computer cannot understand a 
source program. Program called a ccoommppiilleerr is used to 
translate the source program into a machine language 
program called an oobbjjeecctt pprrooggrraamm.. The object program is 
often then linked with other supporting library code before 
the object can be executed on the machine. 
Source File Compiler Machine-language 
File Linker Executable File 
Library Code 
14 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Why Java? 
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 the Internet programming language. 
 Java is a general purpose programming language. 
 Java is the Internet programming language. 
15 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Java, Web, and Beyond 
 Java can be used to develop Web 
applications. 
 Java Applets 
 Java Web Applications 
 Java can also be used to develop applications 
for hand-held devices such as Palm and cell 
phones 
16 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Examples of Java’s Versatility (Applets) 
17 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
PDA and Cell Phone 
PDA 
Cell Phone 
18 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Java’s History 
 James Gosling and Sun Microsystems 
 Oak 
 Java, May 20, 1995, Sun World 
 HotJava 
– The first Java-enabled Web browser 
 Early History Website: 
http://java.sun.com/features/1998/05/birthday.html 
19 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java (2math) 
 Java Is Simple 
 Java Is Object-Oriented 
 Java Is Distributed 
 Java Is Interpreted 
 Java Is Robust ( full power and strong) 
 Java Is Secure 
 Java Is Architecture-Neutral 
 Java Is Portable 
 Java's Performance 
 Java Is Multithreaded 
 Java Is Dynamic 
20 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Java is partially modeled on C++, but greatly 
simplified and improved. Some people refer to 
Java as C++-- because it is like C++ but 
with more functionality and fewer negative 
aspects. 
21 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Java is inherently object-oriented. 
Although many object-oriented languages 
began strictly as procedural languages, 
Java was designed from the start to be 
object-oriented. Object-oriented 
programming (OOP) is a popular 
programming approach that is replacing 
traditional procedural programming 
techniques. 
One of the central issues in software 
development is how to reuse code. Object-oriented 
programming provides great 
flexibility, modularity, clarity, and 
reusability through encapsulation, 
inheritance, and polymorphism. 
22 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Distributed computing involves several 
computers working together on a network. 
Java is designed to make distributed 
computing easy. Since networking 
capability is inherently integrated into 
Java, writing network programs is like 
sending and receiving data to and from a 
file. 
23 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
You need an interpreter to run Java 
programs. The programs are compiled into 
the Java Virtual Machine code called 
bytecode. The bytecode is machine-independent 
and can run on any machine 
that has a Java interpreter, which is part of 
the Java Virtual Machine (JVM). 
24 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 Java Is Simple 
 Java Is Object-Oriented 
 Java Is Distributed 
 Java Is Interpreted 
 Java Is Robust ( strong ) 
 Java Is Secure 
 Java Is Architecture-Neutral 
 Java Is Portable 
 Java's Performance 
 Java Is Multithreaded 
 Java Is Dynamic 
Java compilers can detect many problems 
that would first show up at execution time 
in other languages. 
Java has eliminated certain types of error-prone 
programming constructs found in 
other languages. 
Java has a runtime exception-handling 
feature to provide programming support 
for robustness. 
25 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Java implements several security 
mechanisms to protect your system against 
harm caused by stray programs. 
26 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Write once, run anywhere 
With a Java Virtual Machine (JVM), 
you can write one program that will 
run on any platform. 
27 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Because Java is architecture neutral, 
Java programs are portable. They can 
be run on any platform without being 
recompiled. 
28 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Java’s performance Because Java is 
architecture neutral, Java programs 
are portable. They can be run on any 
platform without being recompiled. 
29 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Multithread programming is smoothly 
integrated in Java, whereas in other 
languages you have to call procedures 
specific to the operating system to enable 
multithreading. 
30 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Characteristics of Java 
 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 
Java was designed to adapt to an evolving 
environment. New code can be loaded on the 
fly without recompilation. There is no need for 
developers to create, and for users to install, 
major new software versions. New features can 
be incorporated transparently as needed. 
31 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
JDK: Java Development kit 
 A package of software distributed by Sun 
Microsystems for Java developers that 
implements the basic set of tools needed to 
write, test and debug Java applications and 
applets. 
32 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
JDK Versions 
 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 (possibly 2010) a. k. a. JDK 7 or Java 7 
33 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
JDK Editions 
 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 and Java ServerPages. 
 Java Micro Edition (J2ME). 
– J2ME can be used to develop applications for mobile 
devices such as cell phones. 
34 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Popular Java IDEs 
 NetBeans Open Source by Sun 
 Eclipse Open Source by IBM 
35 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
A Simple Java Program 
Listing 1.1 
//This program prints Welcome to Java! 
public class Welcome { 
public static void main(String[] args) { 
System.out.println(Welcome to Java!); 
} 
} 
RReessuulltt 
36 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Creating and Editing Using NotePad 
To use NotePad, type 
notepad Welcome.java 
from the DOS prompt. 
37 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Creating and Editing Using WordPad 
To use WordPad, type 
write Welcome.java 
from the DOS prompt. 
38 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
//This program prints Welcome to Java! 
public class Welcome { 
public static void main(String[] args) { 
System.out.println(Welcome to Java!); 
} 
} 
Trace a Program Execution 
Enter main method 
39 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
//This program prints Welcome to Java! 
public class Welcome { 
public static void main(String[] args) { 
System.out.println(Welcome to Java!); 
} 
} 
Trace a Program Execution 
Execute statement 
40 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
//This program prints Welcome to Java! 
public class Welcome { 
public static void main(String[] args) { 
System.out.println(Welcome to Java!); 
} 
} 
Trace a Program Execution 
print a message to the 
console 
41 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Compiling and Running Java 
from TextPad 
 See practical lecture on the Website for details 
42 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Compiling and Running Java 
from JBuilder 
 See practical lecture on the Website for details 
43 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Compiling and Running 
Java from NetBeans 
 See practical lecture on the Website for details 
44 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Anatomy of a Java Program 
 Comments 
 Reserved words 
 Modifiers 
 Statements 
 Blocks 
 Classes 
 Methods 
 The main method 
45 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Comments 
Three types of comments in Java. 
Line comment: A line comment is preceded by two 
slashes (//) in a line. 
Paragraph comment: A paragraph comment is enclosed 
between /* and */ in one or multiple lines. 
javadoc comment: javadoc comments begin with /** 
and end with */. They are used for documenting 
classes, data, and methods. They can be extracted 
into an HTML file using JDK's javadoc command. 
46 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Reserved Words 
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. Other reserved words 
in Listing 1.1 are public, static, and void. Their use will 
be introduced later in the book. 
47 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Modifiers 
Java uses certain reserved words called modifiers that 
specify the properties of the data, methods, and 
classes and how they can be used. Examples of 
modifiers are public and static. Other modifiers are 
private, final, abstract, and protected. A public datum, 
method, or class can be accessed by other programs. A 
private datum or method cannot be accessed by other 
programs. 
48 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Statements 
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! Every statement in Java 
ends with a semicolon (;). 
49 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Blocks 
A pair of braces in a program forms a block that groups 
components of a program. 
public class Test { 
public static void main(String[] args) { 
System.out.println(Welcome to Java!); 
} 
} 
Class block 
Method block 
50 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Classes 
The class is the essential Java construct. A class is a 
template or blueprint for objects. To program in Java, you 
must understand classes and be able to write and use 
them. The mystery of the class will continue to be 
unveiled throughout this book. For now, though, 
understand that a program is defined by using one or 
more classes. 
51 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Methods 
What is System.out.println? It is a method: a collection 
of statements that performs a sequence of operations to 
display a message on the console. It can be used even 
without fully understanding the details of how it works. It 
is used by invoking a statement with a string argument. 
The string argument is enclosed within parentheses. In 
this case, the argument is Welcome to Java! You can 
call the same println method with a different argument to 
print a different message. 
52 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
main Method 
The main method provides the control of program flow. 
The Java interpreter executes the application by invoking 
the main method. 
The main method looks like this: 
public static void main(String[] args) { 
// Statements; 
} 
53 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Displaying 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.” 
54 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
The showMessageDialog Method 
JOptionPane.showMessageDialog(null, 
Welcome to Java!, 
Display Message, 
JOptionPane.INFORMATION_MESSAGE); 
55 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Two Ways to Invoke the Method 
There are several ways to use the showMessageDialog 
method. For the time being, all you need to know are 
two ways to invoke it. 
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. 
The other is to use a statement like this: 
JOptionPane.showMessageDialog(null, x); 
where x is a string for the text to be displayed. 
56 
Š University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015

More Related Content

PPT
Java programming: Elementary practice
PPT
Java programming: Elementary programming
PDF
PDF
Programming in c
PDF
02장 Introduction to Java Applications
PDF
SE-IT MINI PROJECT SYLLABUS
DOC
Bit iit submission_form
PDF
Periyar msc
Java programming: Elementary practice
Java programming: Elementary programming
Programming in c
02장 Introduction to Java Applications
SE-IT MINI PROJECT SYLLABUS
Bit iit submission_form
Periyar msc

What's hot (8)

PPT
Introduction to programming languages part 2
PDF
SE-IT JAVA LAB SYLLABUS
DOC
Wilayah persekutuan-scheme
PDF
The application of computer aided learning to learn basic concepts of branchi...
 
PDF
Introduction to microsoft .net development - Scheda corso LEN
PPT
BCA
PDF
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
DOCX
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
Introduction to programming languages part 2
SE-IT JAVA LAB SYLLABUS
Wilayah persekutuan-scheme
The application of computer aided learning to learn basic concepts of branchi...
 
Introduction to microsoft .net development - Scheda corso LEN
BCA
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
Ad

Viewers also liked (12)

PDF
Java kid8x11
PPTX
How to Initiate Kids Into Java Programming
PDF
CON 3431 - Introducing Java Programming to Kids
PPTX
Java 102 intro to object-oriented programming in java
PPT
Java inheritance
PPT
Java: Inheritance
PPT
Java Basics
PPTX
Microsoft excel 2010 useful formula & functions
PDF
Introduction to Java Programming Language
PPTX
Functions and formulas of ms excel
PPT
Teaching Excel
PPTX
MS EXCEL PPT PRESENTATION
Java kid8x11
How to Initiate Kids Into Java Programming
CON 3431 - Introducing Java Programming to Kids
Java 102 intro to object-oriented programming in java
Java inheritance
Java: Inheritance
Java Basics
Microsoft excel 2010 useful formula & functions
Introduction to Java Programming Language
Functions and formulas of ms excel
Teaching Excel
MS EXCEL PPT PRESENTATION
Ad

Similar to Introduction to Java Programming Language (20)

PDF
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
PPT
Introduction to computer programs and java
PPT
microemulsions microemulsions microemulsions microemulsions
PPT
intoduction to Computer programming java learn for more chapter contact salma...
PPT
introduction to computers PROGRAMS jva.ppt
PPT
Chapter 1 introduction to Computers programs, and JAVA
PPT
intro to c programming
PPT
Introduction to Computers, Programs, and Java
PPTX
Structure programming – Java Programming – Theory
PPT
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
PPT
01slide.ppt
PPTX
lecture Slides - Week 1.programming fundamentals
PPT
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
PDF
Supplementary Reading 01 - Introduction to computers, programs and java.pdf
PPTX
Computer Systems (JSA).pptx
PPT
slides01.ppt
PPT
slides01.ppt
PPT
Java Software Solution Chapter 1: Computer Systems Chapter 1: Computer Systems
PDF
Computer Systems.pdf
PPT
9781111530532 ppt ch01
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
Introduction to computer programs and java
microemulsions microemulsions microemulsions microemulsions
intoduction to Computer programming java learn for more chapter contact salma...
introduction to computers PROGRAMS jva.ppt
Chapter 1 introduction to Computers programs, and JAVA
intro to c programming
Introduction to Computers, Programs, and Java
Structure programming – Java Programming – Theory
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
01slide.ppt
lecture Slides - Week 1.programming fundamentals
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
Supplementary Reading 01 - Introduction to computers, programs and java.pdf
Computer Systems (JSA).pptx
slides01.ppt
slides01.ppt
Java Software Solution Chapter 1: Computer Systems Chapter 1: Computer Systems
Computer Systems.pdf
9781111530532 ppt ch01

More from Karwan Mustafa Kareem (6)

PPTX
Computer and network security
PPT
Java Programming: Loops
PPT
Java Programmin: Selections
PPTX
Cryptography
PPTX
MySQL Database with phpMyAdmin
PPT
Database Application with MySQL
Computer and network security
Java Programming: Loops
Java Programmin: Selections
Cryptography
MySQL Database with phpMyAdmin
Database Application with MySQL

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
 
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
 
PDF
Advanced IT Governance
PDF
Empathic Computing: Creating Shared Understanding
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
 
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Sensors and Actuators in IoT Systems using pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
madgavkar20181017ppt McKinsey Presentation.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
 
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
 
Advanced IT Governance
Empathic Computing: Creating Shared Understanding
Chapter 2 Digital Image Fundamentals.pdf
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
“AI and Expert System Decision Support & Business Intelligence Systems”
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
 
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
GamePlan Trading System Review: Professional Trader's Honest Take
Sensors and Actuators in IoT Systems using pdf

Introduction to Java Programming Language

  • 1. SSttrruuccttuurree pprrooggrraammmmiinngg JJaavvaa PPrrooggrraammmmiinngg –– TThheeoorryy CChhaapptteerr 11 IInnttrroodduuccttiioonn ttoo CCoommppuutteerrss,, PPrrooggrraammss,, aanndd JJaavvaa FFaaccuullttyy ooff PPhhyyssiiccaall aanndd BBaassiicc EEdduuccaattiioonn CCoommppuutteerr SScciieennccee BByy:: MMsscc.. KK aarrwwaann MM.. KKaarreeeemm 22001133 -- 22001144 1 Š University of Sulaimani, Faculty of Physical & Basic Education, Department of Computer Science 2014 / 2015
  • 2. Objectives To review computer basics, programs, and operating systems To explore the relationship between Java and the World Wide Web To distinguish the terms API, IDE, and JDK To write a simple Java program To display output on the console To explain the basic syntax of a Java program To create, compile, and run Java programs (GUI) To display output using the JOptionPane output dialog boxes 2 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 3. What is a Computer? A computer consists of a CPU, memory, hard disk, floppy disk, monitor, printer, and communication devices. CPU e.g., Disk, CD, and Tape Input Devices e.g., Keyboard, Mouse e.g., Monitor, Printer Communication Devices e.g., Modem, and NIC Storage Devices Memory Output Devices Bus 3 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 4. CPU The central pprroocceessssiinngg uunniitt (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. If you buy a PC now, you can get an Intel Pentium 4 Processor at 3 gigahertz or more (1 gigahertz is 1000 megahertz). CPU e.g., Disk, CD, and Tape Input Devices e.g., Keyboard, Mouse e.g., Monitor, Printer Communication Devices e.g., Modem, and NIC Storage Devices Memory Output Devices Bus 4 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 5. Memory MMeemmoorryy 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. CPU e.g., Disk, CD, and Tape Input Devices e.g., Keyboard, Mouse e.g., Monitor, Printer Communication Devices e.g., Modem, and NIC Storage Devices Memory Output Devices Bus 5 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 6. Storage Devices 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. CPU e.g., Disk, CD, and Tape Input Devices e.g., Keyboard, Mouse e.g., Monitor, Printer Communication Devices e.g., Modem, and NIC Storage Devices Memory Output Devices Bus 6 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 7. Output Devices: Monitor The monitor displays information (text and graphics). The resolution and dot pitch determine the quality of the display. CPU e.g., Disk, CD, and Tape Input Devices e.g., Keyboard, Mouse e.g., Monitor, Printer Communication Devices e.g., Modem, and NIC Storage Devices Memory Output Devices Bus 7 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 8. Communication Devices 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). CPU e.g., Disk, CD, and Tape Input Devices e.g., Keyboard, Mouse e.g., Monitor, Printer Communication Devices e.g., Modem, and NIC Storage Devices Memory Output Devices Bus 8 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 9. Programs 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. 9 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 10. Programming Languages Machine Language Assembly Language High-Level Language MMaacchhiinnee llaanngguuaaggee 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 10 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 11. Programming Languages Machine Language Assembly Language High-Level Language AAsssseemmbbllyy llaanngguuaaggeess 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 … ADDF3 R1, R2, R3 … Assembler Machine Code File … 1101101010011010 … 11 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 12. Programming Languages Machine Language Assembly Language High-Level Language The hhiigghh--lleevveell llaanngguuaaggeess 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; 12 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 13. Popular High-Level Languages COBOL (COmmon Business Oriented Language) FORTRAN (FORmula TRANslation) BASIC (Beginner All-purpose Symbolic Instructional Code) Pascal (named for Blaise Pascal) Ada (named for Ada Lovelace) C (whose developer designed B first) Visual Basic (Basic-like visual language developed by Microsoft) Delphi (Pascal-like visual language developed by Borland) C++ (an object-oriented language, based on C) C# (a Java-like language developed by Microsoft) Java (We use it during the course) 13 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 14. Compiling Source Code A program written in a high-level language is called a ssoouurrccee pprrooggrraamm. Since a computer cannot understand a source program. Program called a ccoommppiilleerr is used to translate the source program into a machine language program called an oobbjjeecctt pprrooggrraamm.. The object program is often then linked with other supporting library code before the object can be executed on the machine. Source File Compiler Machine-language File Linker Executable File Library Code 14 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 15. Why Java? 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 the Internet programming language. Java is a general purpose programming language. Java is the Internet programming language. 15 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 16. Java, Web, and Beyond Java can be used to develop Web applications. Java Applets Java Web Applications Java can also be used to develop applications for hand-held devices such as Palm and cell phones 16 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 17. Examples of Java’s Versatility (Applets) 17 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 18. PDA and Cell Phone PDA Cell Phone 18 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 19. Java’s History James Gosling and Sun Microsystems Oak Java, May 20, 1995, Sun World HotJava – The first Java-enabled Web browser Early History Website: http://java.sun.com/features/1998/05/birthday.html 19 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 20. Characteristics of Java (2math) Java Is Simple Java Is Object-Oriented Java Is Distributed Java Is Interpreted Java Is Robust ( full power and strong) Java Is Secure Java Is Architecture-Neutral Java Is Portable Java's Performance Java Is Multithreaded Java Is Dynamic 20 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 21. Characteristics of Java 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 Java is partially modeled on C++, but greatly simplified and improved. Some people refer to Java as C++-- because it is like C++ but with more functionality and fewer negative aspects. 21 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 22. Characteristics of Java 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 Java is inherently object-oriented. Although many object-oriented languages began strictly as procedural languages, Java was designed from the start to be object-oriented. Object-oriented programming (OOP) is a popular programming approach that is replacing traditional procedural programming techniques. One of the central issues in software development is how to reuse code. Object-oriented programming provides great flexibility, modularity, clarity, and reusability through encapsulation, inheritance, and polymorphism. 22 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 23. Characteristics of Java 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 Distributed computing involves several computers working together on a network. Java is designed to make distributed computing easy. Since networking capability is inherently integrated into Java, writing network programs is like sending and receiving data to and from a file. 23 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 24. Characteristics of Java 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 You need an interpreter to run Java programs. The programs are compiled into the Java Virtual Machine code called bytecode. The bytecode is machine-independent and can run on any machine that has a Java interpreter, which is part of the Java Virtual Machine (JVM). 24 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 25. Characteristics of Java Java Is Simple Java Is Object-Oriented Java Is Distributed Java Is Interpreted Java Is Robust ( strong ) Java Is Secure Java Is Architecture-Neutral Java Is Portable Java's Performance Java Is Multithreaded Java Is Dynamic Java compilers can detect many problems that would first show up at execution time in other languages. Java has eliminated certain types of error-prone programming constructs found in other languages. Java has a runtime exception-handling feature to provide programming support for robustness. 25 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 26. Characteristics of Java 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 Java implements several security mechanisms to protect your system against harm caused by stray programs. 26 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 27. Characteristics of Java 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 Write once, run anywhere With a Java Virtual Machine (JVM), you can write one program that will run on any platform. 27 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 28. Characteristics of Java 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 Because Java is architecture neutral, Java programs are portable. They can be run on any platform without being recompiled. 28 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 29. Characteristics of Java 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 Java’s performance Because Java is architecture neutral, Java programs are portable. They can be run on any platform without being recompiled. 29 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 30. Characteristics of Java 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 Multithread programming is smoothly integrated in Java, whereas in other languages you have to call procedures specific to the operating system to enable multithreading. 30 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 31. Characteristics of Java 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 Java was designed to adapt to an evolving environment. New code can be loaded on the fly without recompilation. There is no need for developers to create, and for users to install, major new software versions. New features can be incorporated transparently as needed. 31 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 32. JDK: Java Development kit A package of software distributed by Sun Microsystems for Java developers that implements the basic set of tools needed to write, test and debug Java applications and applets. 32 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 33. JDK Versions 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 (possibly 2010) a. k. a. JDK 7 or Java 7 33 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 34. JDK Editions 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 and Java ServerPages. Java Micro Edition (J2ME). – J2ME can be used to develop applications for mobile devices such as cell phones. 34 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 35. Popular Java IDEs NetBeans Open Source by Sun Eclipse Open Source by IBM 35 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 36. A Simple Java Program Listing 1.1 //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println(Welcome to Java!); } } RReessuulltt 36 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 37. Creating and Editing Using NotePad To use NotePad, type notepad Welcome.java from the DOS prompt. 37 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 38. Creating and Editing Using WordPad To use WordPad, type write Welcome.java from the DOS prompt. 38 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 39. //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println(Welcome to Java!); } } Trace a Program Execution Enter main method 39 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 40. //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println(Welcome to Java!); } } Trace a Program Execution Execute statement 40 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 41. //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println(Welcome to Java!); } } Trace a Program Execution print a message to the console 41 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 42. Compiling and Running Java from TextPad See practical lecture on the Website for details 42 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 43. Compiling and Running Java from JBuilder See practical lecture on the Website for details 43 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 44. Compiling and Running Java from NetBeans See practical lecture on the Website for details 44 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 45. Anatomy of a Java Program Comments Reserved words Modifiers Statements Blocks Classes Methods The main method 45 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 46. Comments Three types of comments in Java. Line comment: A line comment is preceded by two slashes (//) in a line. Paragraph comment: A paragraph comment is enclosed between /* and */ in one or multiple lines. javadoc comment: javadoc comments begin with /** and end with */. They are used for documenting classes, data, and methods. They can be extracted into an HTML file using JDK's javadoc command. 46 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 47. Reserved Words 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. Other reserved words in Listing 1.1 are public, static, and void. Their use will be introduced later in the book. 47 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 48. Modifiers Java uses certain reserved words called modifiers that specify the properties of the data, methods, and classes and how they can be used. Examples of modifiers are public and static. Other modifiers are private, final, abstract, and protected. A public datum, method, or class can be accessed by other programs. A private datum or method cannot be accessed by other programs. 48 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 49. Statements 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! Every statement in Java ends with a semicolon (;). 49 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 50. Blocks A pair of braces in a program forms a block that groups components of a program. public class Test { public static void main(String[] args) { System.out.println(Welcome to Java!); } } Class block Method block 50 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 51. Classes The class is the essential Java construct. A class is a template or blueprint for objects. To program in Java, you must understand classes and be able to write and use them. The mystery of the class will continue to be unveiled throughout this book. For now, though, understand that a program is defined by using one or more classes. 51 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 52. Methods What is System.out.println? It is a method: a collection of statements that performs a sequence of operations to display a message on the console. It can be used even without fully understanding the details of how it works. It is used by invoking a statement with a string argument. The string argument is enclosed within parentheses. In this case, the argument is Welcome to Java! You can call the same println method with a different argument to print a different message. 52 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 53. main Method The main method provides the control of program flow. The Java interpreter executes the application by invoking the main method. The main method looks like this: public static void main(String[] args) { // Statements; } 53 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 54. Displaying 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.” 54 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 55. The showMessageDialog Method JOptionPane.showMessageDialog(null, Welcome to Java!, Display Message, JOptionPane.INFORMATION_MESSAGE); 55 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 56. Two Ways to Invoke the Method There are several ways to use the showMessageDialog method. For the time being, all you need to know are two ways to invoke it. 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. The other is to use a statement like this: JOptionPane.showMessageDialog(null, x); where x is a string for the text to be displayed. 56 Š University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015