Chapter 1 Introduction to Java -...
Transcript of Chapter 1 Introduction to Java -...
![Page 1: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/1.jpg)
1
Chapter 1
Introduction to Computers, Programs, and Java
![Page 2: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/2.jpg)
2
Objectives
To Know the basicsTo write a simple Java programTo know error typesTo Know basic syntax of a Java program
![Page 3: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/3.jpg)
3
Programs
Computer programs, known as software, are instructions to the computer. They tell the computer what to do through programs.
Computers do not understand human languages, so you need to use computer languages to communicate with them.
Programs are written using programming languages.
![Page 4: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/4.jpg)
4
Popular High-Level LanguagesCOBOL (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 in this course and textbook)
![Page 5: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/5.jpg)
5
Compiling (Java) Source CodeA program written in a high-level language is called a source program. Since a computer cannot understand a source program. Program called a compiler is used to translate the source program into a machine language program called an object program (byte code). The object program is often then linked with other supporting library code before the object code can be executed on the machine. JVM then converts byte code to machine/executable code.
CompilerSource Code File
Object Code File Linker Executable
File
Library Code
![Page 6: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/6.jpg)
6
Operating Systems
The operating system (OS) is a program that manages and controls a computer’s hardware activities.
For example, Windows 98, NT, 2000, XP, or ME.
Application programs such as an Internet browser and a word processor cannot run without an operating system.
User
Application Programs
Operating System
Hardware
![Page 7: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/7.jpg)
7
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.Java is portable (machine-independent)
![Page 8: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/8.jpg)
8
Java, Web, and BeyondDeveloped by James Gosling at Sun Microsystems (May 20, 1995)
Java can be used to develop Web applications
Java Supports Applets
Java can also be used to develop applications for hand-held devices such as Palm and cell phones
![Page 9: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/9.jpg)
9
JDK VersionsJDK 1.02 (1995) (Java Development Kit)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 5JDK 1.6 (2006) a. k. a. JDK 6 or Java 6JDK 1.7 (2010) a. k. a. JDK 7 or Java 7JDK 1.8 (2014) a. k. a. JDK 8 or Java 8JDK 1.9 (2016) a. k. a. JDK 9 or Java 9 (Beta)
![Page 10: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/10.jpg)
10
JDK EditionsJava Standard Edition (J2SE)- J2SE can be used to develop client-side standalone
applications or applets. (2 refers to Java 2 platform)
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.
The textbook uses J2SE to introduce Java programming.
![Page 11: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/11.jpg)
11
Popular Java IDEs
NetBeans Open Source by Sun
Eclipse Open Source by IBM
JBuilder by BorlandMetroWerks CodeWarrior
BlueJJGRASP (we'll use this IDE in this course, download it from http://www.jgrasp.org/)
![Page 12: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/12.jpg)
12
A Simple Java Program
//This program prints Welcome to Java!public class Welcome{public static void main(String[] args){ System.out.println("Welcome to Java!");
}}
Listing 1.1: Welcome.java
![Page 13: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/13.jpg)
13
Syntax and SemanticsThe syntax rules of a language define how we can put together symbols, reserved words, and identifiers to make a valid programThe semantics of program statements define the meaning/logic of the statements (program).A program that is syntactically correct is not necessarily logically (semantically) correctA program will always do what we tell it to do, not what we meant to tell it to do
![Page 14: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/14.jpg)
14
ErrorsA program can have three types of errorsThe compiler will find syntax errors and other basic problems (compile-time errors or syntax errors)- If compile-time errors exist, an executable
version of the program is not createdA problem can occur during program execution, such as trying to divide by zero, which causes a program to terminate abnormally (run-time errors)A program may run, but produce incorrect results, perhaps using an incorrect formula (logical errors)
![Page 15: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/15.jpg)
15
Syntax ErrorsDid you make any mistakes when you typed in the examples?– If you use the wrong case it won’t work
> math.abs(-3) Error: Undefined class 'math‘
– If you misspell something it won’t work
> Mat.abs(-3) Error: Undefined class 'Mat'> Math.ab(-3) Error: No 'ab' method in
'java.lang.Math'
![Page 16: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/16.jpg)
16
Basic Program Development
Syntax errors
Run-time errorsLogical errors
Type, edit, andsave program
Compile program
Execute program andevaluate results
![Page 17: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/17.jpg)
17
Anatomy of a Java ProgramClass nameMain methodStatementsStatement terminatorReserved wordsCommentsBlocks
![Page 18: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/18.jpg)
18
// This program prints Welcome to Java! public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
Class NameEvery Java program must have at least one class. Each class has a name. By convention, class names start with an uppercase letter. In this example, the class name is Welcome.
![Page 19: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/19.jpg)
19
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
Main MethodLine 2 defines the main method. In order to run a class, the class must contain a method named main. The program is executed from the main method.
A program/class will not run without a main method!
![Page 20: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/20.jpg)
20
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
StatementA 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!".
![Page 21: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/21.jpg)
21
// This program prints Welcome to Java!public class Welcome {public static void main(String[] args) { System.out.println("Welcome to Java!");System.out.println("Again, welcome to Java!");}
}
Statement Terminator
Every statement in Java ends with a semicolon (;).
![Page 22: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/22.jpg)
22
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
Reserved WordsReserved 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.
![Page 23: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/23.jpg)
23
Reserved Words
Java reserved words:abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodouble
elseenumextendsfalsefinalfinallyfloatforgotoifimplementsimportinstanceofint
interfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticstrictfpsuper
switchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile
![Page 24: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/24.jpg)
24
BlocksA 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
![Page 25: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/25.jpg)
25
Special Symbols
Character Name Description
{}
()
[]
//
" " ;
Braces Parentheses Brackets Double slashes quotation marks Semicolon
Denotes a block to enclose statements. Used with methods. Denotes an array. Precedes a comment line. Enclosing a string (i.e., sequence of characters). Marks the end of a statement.
![Page 26: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/26.jpg)
26
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
{ … }
![Page 27: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/27.jpg)
27
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
( … )
![Page 28: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/28.jpg)
28
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
;
![Page 29: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/29.jpg)
29
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
// …
![Page 30: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/30.jpg)
30
// This program prints Welcome to Java!public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!");
}}
" … "
![Page 31: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/31.jpg)
31
Programming Style and Documentation
Appropriate CommentsNaming ConventionsProper Indentation and Spacing LinesBlock Styles
![Page 32: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/32.jpg)
32
Appropriate Comments
Include a summary at the beginning of the program to explain what the program does, its key features, its supporting data structures, and any unique techniques it uses.
Include your name, class section, instructor, date, and a brief description at the beginning of the program.
![Page 33: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/33.jpg)
33
Naming Conventions
Choose meaningful and descriptive names.Class names:– Capitalize the first letter of each word in the name.
For example, the class name ComputeExpression.
Method names:– Lowercase name (one word) or capitalize the first
letter of every other word in the name. For example,method main(String[] args) method computeAverageGarde(int[] grades)
![Page 34: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/34.jpg)
34
Proper Indentation and Spacing
Indentation– Indent two spaces.
Note: JGrasp has a function that does indentation automatically (called CSD style).
Spacing – Use blank line to separate segments of the code.
![Page 35: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/35.jpg)
35
Block StylesUse either style, just be consistent!
public class Test { public static void main(String[] args) { System.out.println("Block Styles"); } }
public class Test { public static void main(String[] args) {
System.out.println("Block Styles"); } }
End-of-line style
Next-line style
![Page 36: Chapter 1 Introduction to Java - ksuweb.kennesaw.eduksuweb.kennesaw.edu/~hhaddad/Spring2018/CS1301/Chapter-01-Slid… · Operating Systems. The . operating system (OS) is a program](https://reader034.fdocuments.in/reader034/viewer/2022051800/5ac56c0d7f8b9a12608d8801/html5/thumbnails/36.jpg)
36
End of Chapter 1