Chapter 1 Introduction toComputers, Programs, and Java  Liang, Introduction to Java Programming, Seventh Edition, (c) 2009...
Objectives3   To review computer basics, programs, and operating    systems (§§1.2-1.4).3   To represent numbers in binary...
What is a Computer?A computer consists of a CPU, memory, hard disk, floppy disk,monitor, printer, and communication device...
CPUThe central processing unit (CPU) is the brain of a computer. Itretrieves instructions from memory and executes them. T...
MemoryMemory is to store data and program instructions for CPU toexecute. A memory unit is an ordered sequence of bytes, e...
How Data is Stored?Data of various kinds, such as numbers,characters, and strings, are encoded as aseries of bits (zeros a...
Storage DevicesMemory is volatile, because information is lost when the power isoff. Programs and data are permanently sto...
Output Devices: MonitorThe monitor displays information (text and graphics). The resolutionand dot pitch determine the qua...
Monitor Resolution and Dot Pitchresolution The resolution specifies the number of pixels per square           inch. Pixels...
Communication DevicesA regular modem uses a phone line and can transfer data in a speed up to56,000 bps (bits per second)....
ProgramsComputer programs, known as software, are instructions tothe computer.You tell a computer what to do through progr...
Programming LanguagesMachine Language              Assembly Language                                  High-Level LanguageM...
Programming LanguagesMachine Language              Assembly Language                                  High-Level LanguageA...
Programming LanguagesMachine Language               Assembly Language                                  High-Level Language...
Popular High-Level Languages3COBOL    (COmmon Business Oriented Language)3FORTRAN (FORmula TRANslation)3BASIC (Beginner Al...
Compiling Source CodeA program written in a high-level language is called asource program. Since a computer cannot underst...
Compiling Java Source CodeYou can port a source program to any machine with appropriatecompilers. The source program must ...
Operating SystemsThe operating system (OS) isa program that manages and                                                   ...
Number SystemsNOTE: You can skip this section and use it as reference when youhave questions regarding binary and hexadeci...
Number SystemsComputers use binary numbers internally because storage deviceslike memory and disk are made to store 0s and...
Number Systems, cont.The digits in the decimal number system are 0, 1, 2, 3, 4, 5, 6, 7, 8,and 9. A decimal number is repr...
Number Systems, cont.Binary numbers tend to be very long and cumbersome. Hexadecimalnumbers are often used to abbreviate b...
Binary Numbers => Decimals  Given a binary number bnbn − 1bn − 2...b 2b1b 0  the equivalent decimal value is      bn × 2 n...
Decimals => BinaryTo convert a decimal number d to a binary number is to find thebinary digits.. bn, bn − 1, bn − 2,..., b...
Windows CalculatorThe Windows Calculator is a useful tool for performing numberconversions. To run it, choose Programs, Ac...
Hexadecimals => DecimalsThe hexadecimal number system has sixteen digits: 0, 1, 2, 3, 4, 5,6, 7, 8, 9, A, B, C, D, E, and ...
Decimals => HexadecimalTo convert a decimal number d to a hexadecimal number is to findthe hexadecimal digits hn,hhn-1,n h...
Hexadecimal  BinaryBinary Hex Decimal                                         To convert a hexadecimal number to a binary...
Why Java?The answer is that Java enables users to develop anddeploy applications on the Internet for servers, desktopcompu...
Java, Web, and Beyond3 Java can be used to develop Web  applications.3 Java Applets3 Java Web Applications3 Java can also ...
Examples of Java’s Versatility (Applets)    Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Edu...
Examples of Java’s Versatility (Applets)    Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Edu...
Examples of Java’s Versatility (Web      Server Applications)  Liang, Introduction to Java Programming, Seventh Edition, (...
PDA and Cell PhoneLiang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights re...
Java’s History3   James Gosling and Sun Microsystems3   Oak3   Java, May 20, 1995, Sun World3   HotJava    – The first Jav...
CompanionWebsite         Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distributed 3 ...
CompanionWebsite             Characteristics of Java 3   Java Is Simple             Java is partially modeled on C++, but ...
CompanionWebsite            Characteristics of Java 3   Java Is Simple                                        Java is inhe...
CompanionWebsite            Characteristics of Java 3   Java Is Simple                                        Distributed ...
CompanionWebsite            Characteristics of Java 3   Java Is Simple                                        You need an ...
CompanionWebsite            Characteristics of Java 3   Java Is Simple                                        Java compile...
CompanionWebsite             Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distribute...
CompanionWebsite            Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distributed...
CompanionWebsite            Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distributed...
CompanionWebsite            Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distributed...
CompanionWebsite            Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distributed...
CompanionWebsite             Characteristics of Java 3   Java Is Simple 3   Java Is Object-Oriented 3   Java Is Distribute...
JDK Versions3   JDK 1.02 (1995)3   JDK 1.1 (1996)3   JDK 1.2 (1998)3   JDK 1.3 (2000)3   JDK 1.4 (2002)3   JDK 1.5 (2004) ...
JDK Editions3   Java Standard Edition (J2SE)    – J2SE can be used to develop client-side standalone      applications or ...
Popular Java IDEs3   NetBeans Open Source by Sun3   Eclipse Open Source by IBM3   Borland JBuilder 2007 (Based on Eclipse)...
A Simple Java ProgramListing 1.1//This program prints Welcome to Java!public class Welcome {  public static void main(Stri...
Creating and Editing Using NotePadTo use NotePad, type   notepad Welcome.javafrom the DOS prompt.       Liang, Introductio...
Creating and Editing Using WordPadTo use WordPad, type   write Welcome.javafrom the DOS prompt.       Liang, Introduction ...
Creating, Compiling, and                                                          Running Programs                        ...
animation            Trace a Program Execution                                                                            ...
animation            Trace a Program Execution                                                                            ...
animation            Trace a Program Execution  //This program prints Welcome to Java!  public class Welcome {    public s...
CompanionWebsite                   Supplements on the                          Companion Website  3 See Supplement I.B for...
CompanionWebsite     Compiling and Running Java            from the Command Window  3 Set     path to JDK bin directory   ...
Compiling and Running JavaCompanionWebsite         from TextPad 3   See Supplement II.A on the Website for details        ...
CompanionWebsite     Compiling and Running Java                  from JBuilder  3   See Supplement II.H on the Website for...
CompanionWebsite        Compiling and Running                Java from NetBeans  3   See Supplement I.D on the Website for...
Anatomy of a Java Program3   Comments3   Package3   Reserved words3   Modifiers3   Statements3   Blocks3   Classes3   Meth...
CommentsThree types of comments in Java.Line comment: A line comment is preceded by twoslashes (//) in a line.Paragraph co...
PackageThe second line in the program (package chapter1;)specifies a package name, chapter1, for the classWelcome. Forte c...
Reserved WordsReserved words or keywords are words that have aspecific meaning to the compiler and cannot be used forother...
ModifiersJava uses certain reserved words called modifiers thatspecify the properties of the data, methods, andclasses and...
StatementsA statement represents an action or a sequence of actions.The statement System.out.println("Welcome to Java!") i...
BlocksA pair of braces in a program forms a block that groupscomponents of a program.  public class Test {                ...
ClassesThe class is the essential Java construct. A class is atemplate or blueprint for objects. To program in Java,you mu...
MethodsWhat is System.out.println? It is a method: a collectionof statements that performs a sequence of operations todisp...
main MethodThe main method provides the control of program flow.The Java interpreter executes the application by invokingt...
Displaying Text in a Message             Dialog Boxyou can use the showMessageDialog method in theJOptionPane class. JOpti...
The showMessageDialog MethodJOptionPane.showMessageDialog(null, "Welcome to Java!", "Display Message", JOptionPane.INFORMA...
Two Ways to Invoke the MethodThere are several ways to use the showMessageDialogmethod. For the time being, all you need t...
The exit MethodPrior to JDK 1.5, you have to invokeSystem.exit() to terminate the program if theprogram uses JOptionPane d...
Upcoming SlideShare
Loading in …5
×

01slide

612 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
612
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

01slide

  1. 1. Chapter 1 Introduction toComputers, Programs, and Java Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 1
  2. 2. Objectives3 To review computer basics, programs, and operating systems (§§1.2-1.4).3 To represent numbers in binary, decimal, and hexadecimal (§1.5).3 To understand the relationship between Java and the World Wide Web (§1.6).3 To distinguish the terms API, IDE, and JDK (§1.7).3 To write a simple Java program (§1.8).3 To display output on the console (§1.8).3 To create, compile, and run Java programs (§1.9).3 To know the basic syntax of a Java program (§1.10).3 (GUI) To display output in a dialog box (§1.11). Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 2
  3. 3. What is a Computer?A computer consists of a CPU, memory, hard disk, floppy disk,monitor, printer, and communication devices. Bus Storage Communication Input Output Devices Memory CPU Devices Devices Devicese.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 3
  4. 4. CPUThe central processing unit (CPU) is the brain of a computer. Itretrieves instructions from memory and executes them. The CPUspeed is measured in megahertz (MHz), with 1 megahertz equaling 1million pulses per second. The speed of the CPU has been improvedcontinuously. If you buy a PC now, you can get an Intel Pentium 4Processor at 3 gigahertz (1 gigahertz is 1000 megahertz). Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 4
  5. 5. MemoryMemory is to store data and program instructions for CPU toexecute. A memory unit is an ordered sequence of bytes, each holdseight bits. A program and its data must be brought to memory beforethey can be executed. A memory byte is never empty, but its initialcontent may be meaningless to your program. The current content ofa memory byte is lost whenever new information is placed in it. Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 5
  6. 6. How Data is Stored?Data of various kinds, such as numbers,characters, and strings, are encoded as aseries of bits (zeros and ones). Computersuse zeros and ones because digital devices Memory address Memory contenthave two stable states, which are referred toas zero and one by convention. The . .programmers need not to be concerned about . .the encoding and decoding of data, which is . . 2000 01001010 Encoding for character ‘J’performed automatically by the system 2001 01100001 Encoding for character ‘a’based on the encoding scheme. The 2002 01110110 Encoding for character ‘v’encoding scheme varies. For example, 2003 01100001 Encoding for character ‘a’character ‘J’ is represented by 01001010 in 2004 00000011 Encoding for number 3one byte. A small number such as three canbe stored in a single byte. If computer needsto store a large number that cannot fit into asingle byte, it uses a number of adjacentbytes. No two data can share or split a samebyte. A byte is the minimum storage unit. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 6
  7. 7. Storage DevicesMemory is volatile, because information is lost when the power isoff. Programs and data are permanently stored on storage devicesand are moved to memory when the computer actually uses them.There are three main types of storage devices:Disk drives (harddisks and floppy disks), CD drives (CD-R and CD-RW), and Tapedrives. Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 7
  8. 8. Output Devices: MonitorThe monitor displays information (text and graphics). The resolutionand dot pitch determine the quality of the display. Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 8
  9. 9. Monitor Resolution and Dot Pitchresolution The resolution specifies the number of pixels per square inch. Pixels (short for “picture elements”) are tiny dots that form an image on the screen. The resolution can be set manually. The higher the resolution, the sharper and clearer the image is. However, the image may be very small if you set high resolution on a small screen monitor. PC monitors are usually 15-inch, 17-inch, 19-inch, or 21- inch. For a 15-inch monitor, a comfortable resolution setting would be 640×480 (307,200 pixels).dot pitch The dot pitch is the amount of space between pixels. The smaller the dot pitch, the better the display. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 9
  10. 10. Communication DevicesA regular modem uses a phone line and can transfer data in a speed up to56,000 bps (bits per second). A DSL (digital subscriber line) also uses aphone line and can transfer data in a speed 20 times faster than a regularmodem. A cable modem uses the TV cable line maintained by the cablecompany. 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 governmentorganizations. A typical type of NIC, called 10BaseT, can transfer data at10 mbps (million bits per second). Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 10
  11. 11. ProgramsComputer programs, known as software, are instructions tothe computer.You tell a computer what to do through programs. Withoutprograms, a computer is an empty machine. Computers donot understand human languages, so you need to usecomputer languages to communicate with them.Programs are written using programming languages. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 11
  12. 12. Programming LanguagesMachine Language Assembly Language High-Level LanguageMachine language is a set of primitive instructionsbuilt into every computer. The instructions are inthe form of binary code, so you have to enter binarycodes for various instructions. Program with nativemachine language is a tedious process. Moreoverthe programs are highly difficult to read andmodify. For example, to add two numbers, youmight write an instruction in binary like this: 1101101010011010 Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 12
  13. 13. Programming LanguagesMachine Language Assembly Language High-Level LanguageAssembly languages were developed to makeprogramming easy. Since the computer cannot understandassembly language, however, a program called assembler isused to convert assembly language programs into machinecode. For example, to add two numbers, you might write aninstruction in assembly code like this: ADDF3 R1, R2, R3 Assembly Source File Machine Code File … Assembler … ADDF3 R1, R2, R3 1101101010011010 … … Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 13
  14. 14. Programming LanguagesMachine Language Assembly Language High-Level LanguageThe high-level languages are English-like and easy to learnand program. For example, the following is a high-levellanguage statement that computes the area of a circle withradius 5: area = 5 * 5 * 3.1415; Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 14
  15. 15. Popular High-Level Languages3COBOL (COmmon Business Oriented Language)3FORTRAN (FORmula TRANslation)3BASIC (Beginner All-purpose Symbolic Instructional Code)3Pascal (named for Blaise Pascal)3Ada (named for Ada Lovelace)3C (whose developer designed B first)3Visual Basic (Basic-like visual language developed by Microsoft)3Delphi (Pascal-like visual language developed by Borland)3C++ (an object-oriented language, based on C)3C# (a Java-like language developed by Microsoft)3Java (We use it in the book) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 15
  16. 16. Compiling Source CodeA program written in a high-level language is called asource program. Since a computer cannot understand asource program. Program called a compiler is used totranslate the source program into a machine languageprogram called an object program. The object program isoften then linked with other supporting library code beforethe object can be executed on the machine. Source File Compiler Object File Excutable File Linker Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 16
  17. 17. Compiling Java Source CodeYou can port a source program to any machine with appropriatecompilers. The source program must be recompiled, however, becausethe object program can only run on a specific machine. Nowadayscomputers are networked to work together. Java was designed to runobject programs on any platform. With Java, you write the programonce, and compile the source program into a special type of objectcode, known as bytecode. The bytecode can then run on any computerwith a Java Virtual Machine, as shown below. Java Virtual Machine isa software that interprets Java bytecode. Java Bytecode Java Virtual Machine Any Computer Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 17
  18. 18. Operating SystemsThe operating system (OS) isa program that manages and Usercontrols a computer’sactivities. You are probably Application Programsusing Windows 98, NT, 2000,XP, or ME. Windows is Operating Systemcurrently the most popular PCoperating system. Application Hardwareprograms such as an Internetbrowser and a word processorcannot run without anoperating system. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 18
  19. 19. Number SystemsNOTE: You can skip this section and use it as reference when youhave questions regarding binary and hexadecimal numbers.binary 0, 1octal 0, 1, 2, 3, 4, 5, 6, 7decimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9hexdecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 19
  20. 20. Number SystemsComputers use binary numbers internally because storage deviceslike memory and disk are made to store 0s and 1s. A number or atext inside a computer is stored as a sequence of 0s and 1s. Each 0and 1 is called a bit, short for binary digit. The binary numbersystem has two digits, 0 and 1.Binary numbers are not intuitive, since we use decimal numbers inour daily life. When you write a number like 20 in a program, it isassumed to be a decimal number. Internally, computer software isused to convert decimal numbers into binary numbers, and viceversa. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 20
  21. 21. Number Systems, cont.The digits in the decimal number system are 0, 1, 2, 3, 4, 5, 6, 7, 8,and 9. A decimal number is represented using a sequence of one ormore of these digits. The value that each digit in the sequencerepresents depends on its position. A position in a sequence has avalue that is an integral power of 10. For example, the digits 7, 4, 2,and 3 in decimal number 7423 represent 7000, 400, 20, and 3,respectively, as shown below: 7 4 2 3 = 7 × 10 + 4 × 10 + 2 × 10 + 3 × 10 3 2 1 0 103 102 101 100 = 7000 + 400 + 20 + 3 = 7423The decimal number system has ten digits and the position valuesare integral powers of 10. We say that 10 is the base or radix of thedecimal number system. Similarly, the base of the binary numbersystem is 2 since the binary number system has two digits and thebase of the hex number system is 16 since the hex number systemhas sixteen digits. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 21
  22. 22. Number Systems, cont.Binary numbers tend to be very long and cumbersome. Hexadecimalnumbers are often used to abbreviate binary numbers. Thehexadecimal number system has 16 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A, B, C, D, E, and F. The letters A, B, C, D, E, and F correspond tothe decimal numbers 10, 11, 12, 13, 14, and 15. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 22
  23. 23. Binary Numbers => Decimals Given a binary number bnbn − 1bn − 2...b 2b1b 0 the equivalent decimal value is bn × 2 n + bn − 1 × 2 n−1 + bn − 2 × 2 n−2 + ... + b 2 × 2 2 + b1 × 21 + b0 × 2 0 10 in binary 1 × 21 + 0 = 2 in decimal1000 in binary 1 × 23 + 0 × 2 2 + 0 × 2 + 0 = 8 in decimal 10101011 = 171 in 1 × 27 + 0 × 2 6 + 1 × 25 + 0 × 2 4 + 1 × 23 + 0 × 2 2 + 1 × 2 + 1 in binary decimal Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 23
  24. 24. Decimals => BinaryTo convert a decimal number d to a binary number is to find thebinary digits.. bn, bn − 1, bn − 2,..., b 2, b1, b 0 such thatd = bn × 2 n + bn − 1 × 2 n−1 + bn − 2 × 2 n−2 + ... + b 2 × 2 2 + b1 × 21 + b 0 × 2 0These numbers can be found by successively dividing d by 2 until the quotientis 0. The remainders are bn, bn − 1, bn − 2,..., b 2, b1, b 0For example, the decimal number 123 is 1111011 in binary. The conversion isconducted as follows: 0 1 3 7 15 30 61 Quotient 2 1 2 3 2 7 2 15 2 30 2 61 2 123 0 2 6 14 30 60 122 1 1 1 1 0 1 1 Remainder b6 b5 b4 b3 b2 b1 b0 Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 24
  25. 25. Windows CalculatorThe Windows Calculator is a useful tool for performing numberconversions. To run it, choose Programs, Accessories, andCalculator from the Start button. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 25
  26. 26. Hexadecimals => DecimalsThe hexadecimal number system has sixteen digits: 0, 1, 2, 3, 4, 5,6, 7, 8, 9, A, B, C, D, E, and F. The letters A, B, C, D, E, and Fcorrespond to the decimal numbers 10, 11, 12, 13, 14, and 15.Given a hexadecimal number hnhn − 1hn − 2...h 2 h1h 0The equivalent decimal value is hn × 16 n + hn − 1 × 16 n −1 + hn − 2 × 16 n − 2 + ... + h 2 × 16 2 + h1 × 161 + h 0 × 16 0 7F in hex 7 × 161 + 15 = 127 in decimalFFFF in hex 15 × 16 + 15 × 16 + 15 × 16 + 15 = 65535 in decimal 3 2 Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 26
  27. 27. Decimals => HexadecimalTo convert a decimal number d to a hexadecimal number is to findthe hexadecimal digits hn,hhn-1,n hn-2,h 2, h1, h 0 such that hn, n − 1, h − 2,..., ...d = hn × 16n + hn − 1 × 16n −1 + hn − 2 × 16n − 2 + ... + h 2 × 162 + h1 × 161 + h 0 × 160These numbers can be found bysuccessively dividing d by 16 until the 0 7 Quotientquotient is 0. The remainders are 16 7 16 123 0h 0, h1, h 2,..., hn − 2, hn − 1, hn 112 7 11 RemainderFor example, the decimal number 123 is7B in hexadecimal. The conversion is h1 h0conducted as follows: Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 27
  28. 28. Hexadecimal  BinaryBinary Hex Decimal To convert a hexadecimal number to a binary0000 0 0 number, simply convert each digit in the0001 1 1 hexadecimal number into a four-digit binary0010 2 2 number.0011 3 30100 4 4 To convert a binary number to a hexadecimal,0101 5 5 convert every four binary digits from right to0110 6 6 left in the binary number into a hexadecimal0111 7 7 number. For example,1000 8 81001 9 91010 A 101011 B 11 11100011011100 C 121101 D 131110 E 14 3 8 D1111 F 15 Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 28
  29. 29. Why Java?The answer is that Java enables users to develop anddeploy applications on the Internet for servers, desktopcomputers, and small hand-held devices. The future ofcomputing is being profoundly influenced by the Internet,and Java promises to remain a big part of that future. Javais the Internet programming language.3Java is a general purpose programming language.3Java is the Internet programming language. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 29
  30. 30. Java, Web, and Beyond3 Java can be used to develop Web applications.3 Java Applets3 Java Web Applications3 Java can also be used to develop applications for hand-held devices such as Palm and cell phones Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 30
  31. 31. Examples of Java’s Versatility (Applets) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 31
  32. 32. Examples of Java’s Versatility (Applets) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 32
  33. 33. Examples of Java’s Versatility (Web Server Applications) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 33
  34. 34. PDA and Cell PhoneLiang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 34
  35. 35. Java’s History3 James Gosling and Sun Microsystems3 Oak3 Java, May 20, 1995, Sun World3 HotJava – The first Java-enabled Web browser3 Early History Website:http://java.sun.com/features/1998/05/birthday.html Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 35
  36. 36. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance 3 Java Is Multithreaded 3 Java Is Dynamic www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdf Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 36
  37. 37. CompanionWebsite Characteristics of Java 3 Java Is Simple Java is partially modeled on C++, but greatly simplified and improved. Some people refer to 3 Java Is Object-Oriented Java as "C++--" because it is like C++ but 3 Java Is Distributed with more functionality and fewer negative aspects. 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance 3 Java Is Multithreaded 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 37
  38. 38. CompanionWebsite Characteristics of Java 3 Java Is Simple Java is inherently object-oriented. Although many object-oriented languages 3 Java Is Object-Oriented began strictly as procedural languages, 3 Java Is Distributed Java was designed from the start to be object-oriented. Object-oriented 3 Java Is Interpreted programming (OOP) is a popular 3 Java Is Robust programming approach that is replacing 3 Java Is Secure traditional procedural programming techniques. 3 Java Is Architecture-Neutral 3 Java Is Portable One of the central issues in software development is how to reuse code. Object- 3 Javas Performance oriented programming provides great 3 Java Is Multithreaded flexibility, modularity, clarity, and reusability through encapsulation, 3 Java Is Dynamic inheritance, and polymorphism. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 38
  39. 39. CompanionWebsite Characteristics of Java 3 Java Is Simple Distributed computing involves several computers working together on a network. 3 Java Is Object-Oriented Java is designed to make distributed 3 Java Is Distributed computing easy. Since networking capability is inherently integrated into 3 Java Is Interpreted Java, writing network programs is like 3 Java Is Robust sending and receiving data to and from a 3 Java Is Secure file. 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance 3 Java Is Multithreaded 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 39
  40. 40. CompanionWebsite Characteristics of Java 3 Java Is Simple You need an interpreter to run Java programs. The programs are compiled into 3 Java Is Object-Oriented the Java Virtual Machine code called 3 Java Is Distributed bytecode. The bytecode is machine- independent and can run on any machine 3 Java Is Interpreted that has a Java interpreter, which is part of 3 Java Is Robust the Java Virtual Machine (JVM). 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance 3 Java Is Multithreaded 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 40
  41. 41. CompanionWebsite Characteristics of Java 3 Java Is Simple Java compilers can detect many problems that would first show up at execution time 3 Java Is Object-Oriented in other languages. 3 Java Is Distributed Java has eliminated certain types of error- 3 Java Is Interpreted prone programming constructs found in 3 Java Is Robust other languages. 3 Java Is Secure Java has a runtime exception-handling 3 Java Is Architecture-Neutral feature to provide programming support 3 Java Is Portable for robustness. 3 Javas Performance 3 Java Is Multithreaded 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 41
  42. 42. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted Java implements several security 3 Java Is Robust mechanisms to protect your system against 3 Java Is Secure harm caused by stray programs. 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance 3 Java Is Multithreaded 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 42
  43. 43. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral Write once, run anywhere 3 Java Is Portable With a Java Virtual Machine (JVM), 3 Javas Performance you can write one program that will run on any platform. 3 Java Is Multithreaded 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 43
  44. 44. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable Because Java is architecture neutral, Java programs are portable. They can 3 Javas Performance be run on any platform without being 3 Java Is Multithreaded recompiled. 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 44
  45. 45. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable Java’s performance Because Java is architecture neutral, Java programs 3 Javas Performance are portable. They can be run on any 3 Java Is Multithreaded platform without being recompiled. 3 Java Is Dynamic Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 45
  46. 46. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance Multithread programming is smoothly 3 Java Is Multithreaded integrated in Java, whereas in other 3 Java Is Dynamic languages you have to call procedures specific to the operating system to enable multithreading. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 46
  47. 47. CompanionWebsite Characteristics of Java 3 Java Is Simple 3 Java Is Object-Oriented 3 Java Is Distributed 3 Java Is Interpreted 3 Java Is Robust 3 Java Is Secure 3 Java Is Architecture-Neutral 3 Java Is Portable 3 Javas Performance Java was designed to adapt to an evolving environment. New code can be loaded on the 3 Java Is Multithreaded fly without recompilation. There is no need for developers to create, and for users to install, 3 Java Is Dynamic major new software versions. New features can be incorporated transparently as needed. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 47
  48. 48. JDK Versions3 JDK 1.02 (1995)3 JDK 1.1 (1996)3 JDK 1.2 (1998)3 JDK 1.3 (2000)3 JDK 1.4 (2002)3 JDK 1.5 (2004) a. k. a. JDK 5 or Java 53 JDK 1.6 (2006) a. k. a. JDK 6 or Java 6 Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 48
  49. 49. JDK Editions3 Java Standard Edition (J2SE) – J2SE can be used to develop client-side standalone applications or applets.3 Java Enterprise Edition (J2EE) – J2EE can be used to develop server-side applications such as Java servlets and Java ServerPages.3 Java Micro Edition (J2ME). – J2ME can be used to develop applications for mobile devices such as cell phones.This book uses J2SE to introduce Java programming. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 49
  50. 50. Popular Java IDEs3 NetBeans Open Source by Sun3 Eclipse Open Source by IBM3 Borland JBuilder 2007 (Based on Eclipse) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 50
  51. 51. A Simple Java ProgramListing 1.1//This program prints Welcome to Java!public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); }}Welcome IMPORTANT NOTE: To enable the buttons, you must download the entire slide file slide.zip and unzip the files into a directory (e.g., c:slide) . Run Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 51
  52. 52. Creating and Editing Using NotePadTo use NotePad, type notepad Welcome.javafrom the DOS prompt. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 52
  53. 53. Creating and Editing Using WordPadTo use WordPad, type write Welcome.javafrom the DOS prompt. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 53
  54. 54. Creating, Compiling, and Running Programs Create/Modify Source CodeSource code (developed by the programmer) Saved on the diskpublic class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); Source Code }} Compile Source CodeByte code (generated by the compiler for JVM i.e., javac Welcome.javato read and interpret, not for you to understand)…Method Welcome() If compilation errors 0 aload_0 stored on the disk … BytecodeMethod void main(java.lang.String[]) 0 getstatic #2 … 3 ldc #3 <String "Welcome toJava!"> 5 invokevirtual #4 … 8 return Run Byteode i.e., java Welcome Result Liang, Introduction to Java Programming, Seventh Edition, (c) 2009If runtime errors or incorrect result Pearson Education, Inc. All rights reserved. 0136012671 54
  55. 55. animation Trace a Program Execution Enter main method //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } } Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 55
  56. 56. animation Trace a Program Execution Execute statement //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } } Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 56
  57. 57. animation Trace a Program Execution //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } } print a message to the console Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 57
  58. 58. CompanionWebsite Supplements on the Companion Website 3 See Supplement I.B for installing and configuring JDK 3 See Supplement I.C for compiling and running Java from the command window for details www.cs.armstrong.edu/liang/intro7e Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 58
  59. 59. CompanionWebsite Compiling and Running Java from the Command Window 3 Set path to JDK bin directory – set path=c:Program Filesjavajdk1.6.0bin 3 Set classpath to include the current directory – set classpath=. 3 Compile – javac Welcome.java 3 Run – java Welcome Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 59
  60. 60. Compiling and Running JavaCompanionWebsite from TextPad 3 See Supplement II.A on the Website for details Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 60
  61. 61. CompanionWebsite Compiling and Running Java from JBuilder 3 See Supplement II.H on the Website for details Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 61
  62. 62. CompanionWebsite Compiling and Running Java from NetBeans 3 See Supplement I.D on the Website for details Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 62
  63. 63. Anatomy of a Java Program3 Comments3 Package3 Reserved words3 Modifiers3 Statements3 Blocks3 Classes3 Methods3 The main method Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 63
  64. 64. CommentsThree types of comments in Java.Line comment: A line comment is preceded by twoslashes (//) in a line.Paragraph comment: A paragraph comment is enclosedbetween /* and */ in one or multiple lines.javadoc comment: javadoc comments begin with /**and end with */. They are used for documentingclasses, data, and methods. They can be extractedinto an HTML file using JDKs javadoc command. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 64
  65. 65. PackageThe second line in the program (package chapter1;)specifies a package name, chapter1, for the classWelcome. Forte compiles the source code inWelcome.java, generates Welcome.class, and storesWelcome.class in the chapter1 folder. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 65
  66. 66. Reserved WordsReserved words or keywords are words that have aspecific meaning to the compiler and cannot be used forother purposes in the program. For example, when thecompiler sees the word class, it understands that the wordafter class is the name for the class. Other reserved wordsin Listing 1.1 are public, static, and void. Their use willbe introduced later in the book. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 66
  67. 67. ModifiersJava uses certain reserved words called modifiers thatspecify the properties of the data, methods, andclasses and how they can be used. Examples ofmodifiers are public and static. Other modifiers areprivate, final, abstract, and protected. A public datum,method, or class can be accessed by other programs. Aprivate datum or method cannot be accessed by otherprograms. Modifiers are discussed in Chapter 6,“Objects and Classes.” Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 67
  68. 68. StatementsA statement represents an action or a sequence of actions.The statement System.out.println("Welcome to Java!") inthe program in Listing 1.1 is a statement to display thegreeting "Welcome to Java!" Every statement in Javaends with a semicolon (;). Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 68
  69. 69. BlocksA pair of braces in a program forms a block that groupscomponents of a program. public class Test { Class block public static void main(String[] args) { System.out.println("Welcome to Java!"); Method block } } Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 69
  70. 70. ClassesThe class is the essential Java construct. A class is atemplate or blueprint for objects. To program in Java,you must understand classes and be able to write and usethem. The mystery of the class will continue to beunveiled throughout this book. For now, though,understand that a program is defined by using one ormore classes. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 70
  71. 71. MethodsWhat is System.out.println? It is a method: a collectionof statements that performs a sequence of operations todisplay a message on the console. It can be used evenwithout fully understanding the details of how it works. Itis used by invoking a statement with a string argument.The string argument is enclosed within parentheses. Inthis case, the argument is "Welcome to Java!" You cancall the same println method with a different argument toprint a different message. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 71
  72. 72. main MethodThe main method provides the control of program flow.The Java interpreter executes the application by invokingthe main method.The main method looks like this:public static void main(String[] args) { // Statements;} Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 72
  73. 73. Displaying Text in a Message Dialog Boxyou can use the showMessageDialog method in theJOptionPane class. JOptionPane is one of the manypredefined classes in the Java system, which can bereused rather than “reinventing the wheel.” WelcomeInMessageDialogBox Run IMPORTANT NOTE: To enable the buttons, you must download the entire slide file slide.zip and unzip the files into a directory (e.g., c:slide) . Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 73
  74. 74. The showMessageDialog MethodJOptionPane.showMessageDialog(null, "Welcome to Java!", "Display Message", JOptionPane.INFORMATION_MESSAGE); Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 74
  75. 75. Two Ways to Invoke the MethodThere are several ways to use the showMessageDialogmethod. For the time being, all you need to know aretwo 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 isa 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. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 75
  76. 76. The exit MethodPrior to JDK 1.5, you have to invokeSystem.exit() to terminate the program if theprogram uses JOptionPane dialog boxes. SinceJDK 1.5, it is not necessary. Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 76

×