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

What's hot (8)

Introduction to programming languages part 2
Introduction to programming languages   part 2Introduction to programming languages   part 2
Introduction to programming languages part 2
university of education,Lahore
 
SE-IT JAVA LAB SYLLABUS
SE-IT JAVA LAB SYLLABUSSE-IT JAVA LAB SYLLABUS
SE-IT JAVA LAB SYLLABUS
nikshaikh786
 
Wilayah persekutuan-scheme
Wilayah persekutuan-schemeWilayah persekutuan-scheme
Wilayah persekutuan-scheme
AyuMohamad
 
The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...
ijma
 
Introduction to microsoft .net development - Scheda corso LEN
Introduction to microsoft .net development - Scheda corso LENIntroduction to microsoft .net development - Scheda corso LEN
Introduction to microsoft .net development - Scheda corso LEN
LEN Learning Education Network
 
BCA
BCABCA
BCA
teachwell
 
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAEFKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
Ahmad nor sherfiq
 
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1..._var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
Ioan Tuns
 
SE-IT JAVA LAB SYLLABUS
SE-IT JAVA LAB SYLLABUSSE-IT JAVA LAB SYLLABUS
SE-IT JAVA LAB SYLLABUS
nikshaikh786
 
Wilayah persekutuan-scheme
Wilayah persekutuan-schemeWilayah persekutuan-scheme
Wilayah persekutuan-scheme
AyuMohamad
 
The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...
ijma
 
Introduction to microsoft .net development - Scheda corso LEN
Introduction to microsoft .net development - Scheda corso LENIntroduction to microsoft .net development - Scheda corso LEN
Introduction to microsoft .net development - Scheda corso LEN
LEN Learning Education Network
 
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAEFKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
FKE_ahmad nor sherfiq bin sherimim_JOB CURRICULUM VITAE
Ahmad nor sherfiq
 
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1..._var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
_var_www_moodledata_temp_turnitintooltwo_1014058337._Ioan_Tuns-HNDCSD-PJ-19-1...
Ioan Tuns
 

Viewers also liked (12)

Java kid8x11
Java kid8x11Java kid8x11
Java kid8x11
Davidson Gilbert
 
How to Initiate Kids Into Java Programming
How to Initiate Kids Into Java ProgrammingHow to Initiate Kids Into Java Programming
How to Initiate Kids Into Java Programming
Felix Roberge
 
CON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to KidsCON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to Kids
Arun Gupta
 
Java 102 intro to object-oriented programming in java
Java 102   intro to object-oriented programming in javaJava 102   intro to object-oriented programming in java
Java 102 intro to object-oriented programming in java
agorolabs
 
Java inheritance
Java inheritanceJava inheritance
Java inheritance
Arati Gadgil
 
Java: Inheritance
Java: InheritanceJava: Inheritance
Java: Inheritance
Tareq Hasan
 
Java Basics
Java BasicsJava Basics
Java Basics
shivamgarg_nitj
 
Microsoft excel 2010 useful formula & functions
Microsoft excel 2010   useful formula & functionsMicrosoft excel 2010   useful formula & functions
Microsoft excel 2010 useful formula & functions
NR Computer Learning Center
 
Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
jaimefrozr
 
Functions and formulas of ms excel
Functions and formulas of ms excelFunctions and formulas of ms excel
Functions and formulas of ms excel
madhuparna bhowmik
 
Teaching Excel
Teaching ExcelTeaching Excel
Teaching Excel
sam ran
 
MS EXCEL PPT PRESENTATION
MS EXCEL PPT PRESENTATIONMS EXCEL PPT PRESENTATION
MS EXCEL PPT PRESENTATION
Mridul Bansal
 
How to Initiate Kids Into Java Programming
How to Initiate Kids Into Java ProgrammingHow to Initiate Kids Into Java Programming
How to Initiate Kids Into Java Programming
Felix Roberge
 
CON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to KidsCON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to Kids
Arun Gupta
 
Java 102 intro to object-oriented programming in java
Java 102   intro to object-oriented programming in javaJava 102   intro to object-oriented programming in java
Java 102 intro to object-oriented programming in java
agorolabs
 
Java: Inheritance
Java: InheritanceJava: Inheritance
Java: Inheritance
Tareq Hasan
 
Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
jaimefrozr
 
Functions and formulas of ms excel
Functions and formulas of ms excelFunctions and formulas of ms excel
Functions and formulas of ms excel
madhuparna bhowmik
 
Teaching Excel
Teaching ExcelTeaching Excel
Teaching Excel
sam ran
 
MS EXCEL PPT PRESENTATION
MS EXCEL PPT PRESENTATIONMS EXCEL PPT PRESENTATION
MS EXCEL PPT PRESENTATION
Mridul Bansal
 
Ad

Similar to Introduction to Java Programming Language (20)

Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJChapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
IMPERIALXGAMING
 
Introduction to computer programs and java
Introduction to computer programs and javaIntroduction to computer programs and java
Introduction to computer programs and java
honeymacagubang
 
microemulsions microemulsions microemulsions microemulsions
microemulsions microemulsions microemulsions microemulsionsmicroemulsions microemulsions microemulsions microemulsions
microemulsions microemulsions microemulsions microemulsions
AhmadHashlamon
 
intoduction to Computer programming java learn for more chapter contact salma...
intoduction to Computer programming java learn for more chapter contact salma...intoduction to Computer programming java learn for more chapter contact salma...
intoduction to Computer programming java learn for more chapter contact salma...
Syed Shah
 
introduction to computers PROGRAMS jva.ppt
introduction to computers PROGRAMS jva.pptintroduction to computers PROGRAMS jva.ppt
introduction to computers PROGRAMS jva.ppt
iloveyoukika
 
Chapter 1 introduction to Computers programs, and JAVA
Chapter 1 introduction to Computers programs, and JAVAChapter 1 introduction to Computers programs, and JAVA
Chapter 1 introduction to Computers programs, and JAVA
AhsirYu
 
intro to c programming
intro to c programmingintro to c programming
intro to c programming
Emmanuel Alimpolos
 
Introduction to Computers, Programs, and Java
Introduction to Computers, Programs, and JavaIntroduction to Computers, Programs, and Java
Introduction to Computers, Programs, and Java
naimanighat
 
Structure programming – Java Programming – Theory
Structure programming – Java Programming – TheoryStructure programming – Java Programming – Theory
Structure programming – Java Programming – Theory
OXUS 20
 
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
Gouda Mando
 
01slide.ppt
01slide.ppt01slide.ppt
01slide.ppt
PuteriNursyawatiAzzu
 
lecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentalslecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentals
fazayn927
 
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
xaydari03
 
Supplementary Reading 01 - Introduction to computers, programs and java.pdf
Supplementary Reading 01 - Introduction to computers, programs and java.pdfSupplementary Reading 01 - Introduction to computers, programs and java.pdf
Supplementary Reading 01 - Introduction to computers, programs and java.pdf
AshirHussain6
 
slides01.ppt
slides01.pptslides01.ppt
slides01.ppt
CyberWisdom1
 
Computer Systems (JSA).pptx
Computer Systems (JSA).pptxComputer Systems (JSA).pptx
Computer Systems (JSA).pptx
ssuserb58d2d
 
slides01.ppt
slides01.pptslides01.ppt
slides01.ppt
Rahul926331
 
Java Software Solution Chapter 1: Computer Systems Chapter 1: Computer Systems
Java Software Solution Chapter 1:  Computer Systems Chapter 1:  Computer SystemsJava Software Solution Chapter 1:  Computer Systems Chapter 1:  Computer Systems
Java Software Solution Chapter 1: Computer Systems Chapter 1: Computer Systems
NirviVashishtha
 
Computer Systems.pdf
Computer Systems.pdfComputer Systems.pdf
Computer Systems.pdf
ssuserb58d2d
 
9781111530532 ppt ch01
9781111530532 ppt ch019781111530532 ppt ch01
9781111530532 ppt ch01
Terry Yoast
 
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJChapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
Chapter 01 Java Programming Basic Java IDE JAVA INTELLIEJ
IMPERIALXGAMING
 
Introduction to computer programs and java
Introduction to computer programs and javaIntroduction to computer programs and java
Introduction to computer programs and java
honeymacagubang
 
microemulsions microemulsions microemulsions microemulsions
microemulsions microemulsions microemulsions microemulsionsmicroemulsions microemulsions microemulsions microemulsions
microemulsions microemulsions microemulsions microemulsions
AhmadHashlamon
 
intoduction to Computer programming java learn for more chapter contact salma...
intoduction to Computer programming java learn for more chapter contact salma...intoduction to Computer programming java learn for more chapter contact salma...
intoduction to Computer programming java learn for more chapter contact salma...
Syed Shah
 
introduction to computers PROGRAMS jva.ppt
introduction to computers PROGRAMS jva.pptintroduction to computers PROGRAMS jva.ppt
introduction to computers PROGRAMS jva.ppt
iloveyoukika
 
Chapter 1 introduction to Computers programs, and JAVA
Chapter 1 introduction to Computers programs, and JAVAChapter 1 introduction to Computers programs, and JAVA
Chapter 1 introduction to Computers programs, and JAVA
AhsirYu
 
Introduction to Computers, Programs, and Java
Introduction to Computers, Programs, and JavaIntroduction to Computers, Programs, and Java
Introduction to Computers, Programs, and Java
naimanighat
 
Structure programming – Java Programming – Theory
Structure programming – Java Programming – TheoryStructure programming – Java Programming – Theory
Structure programming – Java Programming – Theory
OXUS 20
 
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
Java™ (OOP) - Chapter 1: "Introduction to Computers, Programs, and Java"
Gouda Mando
 
lecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentalslecture Slides - Week 1.programming fundamentals
lecture Slides - Week 1.programming fundamentals
fazayn927
 
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
Ch.01-2.ppt java[27/11, 11:00 am] Sumaya👸🏻✨️: Mida kale waqtiga wuba kudhamaa...
xaydari03
 
Supplementary Reading 01 - Introduction to computers, programs and java.pdf
Supplementary Reading 01 - Introduction to computers, programs and java.pdfSupplementary Reading 01 - Introduction to computers, programs and java.pdf
Supplementary Reading 01 - Introduction to computers, programs and java.pdf
AshirHussain6
 
Computer Systems (JSA).pptx
Computer Systems (JSA).pptxComputer Systems (JSA).pptx
Computer Systems (JSA).pptx
ssuserb58d2d
 
Java Software Solution Chapter 1: Computer Systems Chapter 1: Computer Systems
Java Software Solution Chapter 1:  Computer Systems Chapter 1:  Computer SystemsJava Software Solution Chapter 1:  Computer Systems Chapter 1:  Computer Systems
Java Software Solution Chapter 1: Computer Systems Chapter 1: Computer Systems
NirviVashishtha
 
Computer Systems.pdf
Computer Systems.pdfComputer Systems.pdf
Computer Systems.pdf
ssuserb58d2d
 
9781111530532 ppt ch01
9781111530532 ppt ch019781111530532 ppt ch01
9781111530532 ppt ch01
Terry Yoast
 
Ad

More from Karwan Mustafa Kareem (6)

Computer and network security
Computer and network securityComputer and network security
Computer and network security
Karwan Mustafa Kareem
 
Java Programming: Loops
Java Programming: LoopsJava Programming: Loops
Java Programming: Loops
Karwan Mustafa Kareem
 
Java Programmin: Selections
Java Programmin: SelectionsJava Programmin: Selections
Java Programmin: Selections
Karwan Mustafa Kareem
 
Cryptography
Cryptography Cryptography
Cryptography
Karwan Mustafa Kareem
 
MySQL Database with phpMyAdmin
MySQL Database with  phpMyAdminMySQL Database with  phpMyAdmin
MySQL Database with phpMyAdmin
Karwan Mustafa Kareem
 
Database Application with MySQL
Database Application with MySQL   Database Application with MySQL
Database Application with MySQL
Karwan Mustafa Kareem
 

Recently uploaded (20)

Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptxFIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API CatalogMuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdfArtificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptxFIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptxFIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptxFIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptxFIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API CatalogMuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdfArtificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptxFIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptxFIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptxFIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 

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