LiangChapter2 - Colorado State University
7/18/16
Motivations
Chapter 2: Elementary
Programming
In the preceding chapter, you learned how to
create, compile, and run a Java program. Starting
from this chapter, you will learn how to solve
practical problems programmatically. Through
these problems, you will learn Java primitive data
types and related subjects, such as variables,
constants, data types, operators, expressions, and
input and output.
CS1: Java Programming
Colorado State University
Original slides by Daniel Liang
Modified slides by Chris Wilcox
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
Objectives
?
To write Java programs to perform simple computations (¡ì2.2).
?
?
To obtain input from the console using the Scanner class (¡ì2.3).
To use identifiers to name variables, constants, methods, and classes (¡ì2.4).
?
To use variables to store data (¡ì¡ì2.5¨C2.6).
?
To program with assignment statements and assignment expressions (¡ì2.6).
?
To use constants to store permanent data (¡ì2.7).
?
To name classes, methods, variables, and constants by following their naming conventions (¡ì2.8).
To explore Java numeric primitive data types: byte, short, int, long, float, and double (¡ì2.9.1).
?
?
To read a byte, short, int, long, float, or double value from the keyboard (¡ì2.9.2).
To perform operations using operators +, -, *, /, and % (¡ì2.9.3).
?
To perform exponent operations using M ath.pow(a, b) (¡ì2.9.4).
?
To write integer literals, floating-point literals, and literals in scientific notation (¡ì2.10).
?
To write and evaluate numeric expressions (¡ì2.11).
?
To obtain the current system time using System.currentTimeM illis() (¡ì2.12).
To use augmented assignment operators (¡ì2.13).
?
?
?
?
?
?
To avoid common errors and pitfalls in elementary programming (¡ì2.18).
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
2
Introducing Programming with an
Example
Listing 2.1 Computing the Area of a Circle
This program computes the area of the circle.
ComputeArea
To distinguish between postincrement and preincrement and between postdecrement and predecrement (¡ì2.14).
To cast the value of one type to another type (¡ì2.15).
To describe the software development process and apply it to develop the loan payment program (¡ì2.16).
To write a program that converts a large amount of money into smaller units (¡ì2.17).
?
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
1
Run
Note: Clicking the green button displays the source code
with interactive animation. You can also run the code in
a browser. Internet connection is needed for this button.
Note: Clicking the blue button runs the code from
Windows. If you cannot run the buttons, see
IMPORTANT NOTE: If you cannot run the buttons, see
cs.armstrong.edu/liang/javaslidenote.doc.
3
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
4
1
7/18/16
animation
animation
Trace a Program Execution
public class ComputeArea {
/** Main method */
public static void main(String[] args) {
double radius;
double area;
allocate memory
for radius
no value
radius
Trace a Program Execution
public class ComputeArea {
/** Main method */
public static void main(String[] args) {
double radius;
double area;
// Assign a radius
radius = 20;
// Assign a radius
radius = 20;
// Compute area
area = radius * radius * 3.14159;
// Compute area
area = radius * radius * 3.14159;
// Display results
System.out.println("The area for the circle of radius " +
radius + " is " + area);
}
}
no value
area
no value
allocate memory
for area
animation
assign 20 to radius
radius
area
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
5
Trace a Program Execution
public class ComputeArea {
/** Main method */
public static void main(String[] args) {
double radius;
double area;
radius
// Display results
System.out.println("The area for the circle of radius " +
radius + " is " + area);
}
}
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
animation
memory
20
no value
Trace a Program Execution
public class ComputeArea {
/** Main method */
public static void main(String[] args) {
double radius;
double area;
// Assign a radius
radius = 20;
// Assign a radius
radius = 20;
// Compute area
area = radius * radius * 3.14159;
// Compute area
area = radius * radius * 3.14159;
// Display results
System.out.println("The area for the circle of radius " +
radius + " is " + area);
}
}
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
6
memory
radius
area
20
1256.636
compute area and assign it
to variable area
// Display results
System.out.println("The area for the circle of radius " +
radius + " is " + area);
}
}
7
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
8
2
7/18/16
animation
Reading Input from the Console
Trace a Program Execution
public class ComputeArea {
/** Main method */
public static void main(String[] args) {
double radius;
double area;
1. Create a Scanner object
memory
radius
area
Scanner input = new Scanner(System.in);
20
2. Use the method nextDouble() to obtain to a double
value. For example,
1256.636
// Assign a radius
radius = 20;
// Compute area
area = radius * radius * 3.14159;
System.out.print("Enter a double value: ");
Scanner input = new Scanner(System.in);
double d = input.nextDouble();
print a message to the
console
// Display results
System.out.println("The area for the circle of radius " +
radius + " is " + area);
}
}
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
9
Identifiers
?
?
?
?
?
Run
ComputeAverage
Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
10
Variables
An identifier is a sequence of characters that consist of
letters, digits, underscores (_), and dollar signs ($).
An identifier must start with a letter, an underscore (_),
or a dollar sign ($). It cannot start with a digit.
An identifier cannot be a reserved word. (See Appendix
A, ¡°Java Keywords,¡± for a list of reserved words).
An identifier cannot be true, false, or
null.
An identifier can be of any length.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
ComputeAreaWithConsoleInput
11
// Compute the first area
radius = 1.0;
area = radius * radius * 3.14159;
System.out.println("The area is ¡° +
area + " for radius "+radius);
// Compute the second area
radius = 2.0;
area = radius * radius * 3.14159;
System.out.println("The area is ¡° +
area + " for radius "+radius);
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
12
3
7/18/16
Declaring Variables
int x;
Assignment Statements
// Declare x to be an
// integer variable;
double radius; // Declare radius to
// be a double variable;
char a;
x = 1;
// Assign 1 to x;
radius = 1.0;
// Assign 1.0 to radius;
a = 'A';
// Assign 'A' to a;
// Declare a to be a
// character variable;
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
13
int x = 1;
?
double d = 1.4;
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
14
Named Constants
Declaring and Initializing
in One Step
?
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
final datatype CONSTANTNAME = VALUE;
final double PI = 3.14159;
final int SIZE = 3;
15
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
16
4
7/18/16
Naming Conventions, cont.
Naming Conventions
? Class names:
¨C Capitalize the first letter of each word in
the name. For example, the class name
ComputeArea.
? Choose
meaningful and descriptive names.
? Variables and method names:
¨C Use lowercase. If the name consists of several
words, concatenate all in one, use lowercase
for the first word, and capitalize the first letter
of each subsequent word in the name. For
example, the variables radius and area, and
the method computeArea.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
? Constants:
¨C Capitalize all letters in constants, and use
underscores to connect words. For
example, the constant PI and
MAX_VALUE
17
Name
Range
Storage Size
byte
¨C27 to 27 ¨C 1 (-128 to 127)
8-bit signed
short
¨C215 to 215 ¨C 1 (-32768 to 32767)
16-bit signed
int
¨C231 to 231 ¨C 1 (-2147483648 to 2147483647)
32-bit signed
long
¨C263 to 263 ¨C 1
(i.e., -9223372036854775808 to 9223372036854775807)
64-bit signed
double
18
Reading Numbers from the Keyboard
Numerical Data Types
float
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
Negative range:
-3.4028235E+38 to -1.4E-45
Positive range:
1.4E-45 to 3.4028235E+38
32-bit IEEE 754
Negative range:
-1.7976931348623157E+308 to -4.9E-324
64-bit IEEE 754
Positive range:
4.9E-324 to 1.7976931348623157E+308
Scanner input = new Scanner(System.in);
int value = input.nextInt();
Method
Description
nextByte()
reads an integer of the byte type.
nextShort()
reads an integer of the short type.
nextInt()
reads an integer of the int type.
nextLong()
reads an integer of the long type.
nextFloat()
reads a number of the float type.
nextDouble() reads a number of the double type.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
19
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
20
5
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- colorado state university calendar
- colorado state university calendar 2019 2020
- colorado state university single audit
- colorado state university cost breakdown
- colorado state university tuition fee
- colorado state university tuition 2020
- colorado state university tuition cost
- colorado state university price
- colorado state university tuition 2021
- colorado state university aar
- colorado state university career fair
- colorado state university 2019 schedule