• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
01slide
 

01slide

on

  • 626 views

 

Statistics

Views

Total Views
626
Views on SlideShare
626
Embed Views
0

Actions

Likes
0
Downloads
19
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    01slide 01slide Presentation Transcript

    • Chapter 1 Introduction toComputers, Programs, and Java Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 1
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Examples of Java’s Versatility (Applets) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 31
    • Examples of Java’s Versatility (Applets) Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 32
    • 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
    • PDA and Cell PhoneLiang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved. 0136012671 34
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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