chapter 2 elementary programming
DESCRIPTION
Chapter 2 Elementary Programming. Introducing Programming with an Example. Computing the Area of a Circle This program computes the area of the circle. Variables. A variable represents a value stored in the computer’s memory. Its called a variable because its value can be changed. - PowerPoint PPT PresentationTRANSCRIPT
1
Chapter 2
Elementary Programming
2
Introducing Programming with an Example
Computing the Area of a Circle
This program computes the area of the circle.
3
Variables
• A variable represents a value stored in the computer’s
memory.
• Its called a variable because its value can be changed.
4
Numerical Data Types
Name Range Storage Size byte –27 to 27 – 1 (-128 to 127) 8-bit signed
short –215 to 215 – 1 (-32768 to 32767) 16-bit signed
int –231 to 231 – 1 (-2147483648 to 2147483647) 32-bit signed
long –263 to 263 – 1 64-bit signed (i.e., -9223372036854775808 to 9223372036854775807)
float Negative range: 32-bit IEEE 754 -3.4028235E+38 to -1.4E-45 Positive range: 1.4E-45 to 3.4028235E+38
double Negative range: 64-bit IEEE 754 -1.7976931348623157E+308 to -4.9E-324 Positive range: 4.9E-324 to 1.7976931348623157E+308
5
Identifiers• 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.
• An identifier cannot be true, false, or null.
• An identifier can be of any length.
6
Declaring and Initializingin One Step
• int x = 1;
• double d = 1.4;
7
Declaring Variables
int x; // Declare x to be an // integer variable;double radius; // Declare radius to // be a double variable;char a; // Declare a to be a // character variable;
8
Assignment Statements
x = 1; // Assign 1 to x;
radius = 1.0; // Assign 1.0 to radius;
a = 'A'; // Assign 'A' to a;
9
Variables
// Compute the first arearadius = 1.0;area = radius * radius * 3.14159;System.out.println("The area is “ + area + " for radius ” + radius);
// Compute the second arearadius = 2.0;area = radius * radius * 3.14159;System.out.println("The area is “ + area + " for radius ” + radius);
10
Trace a Program Executionpublic class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); }}
no valueradius
allocate memory for radius
11
Trace a Program Executionpublic class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); }}
no valueradius
memory
no valuearea
allocate memory for area
12
Trace a Program Executionpublic class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); }}
20radius
no valuearea
assign 20 to radius
13
Trace a Program Executionpublic class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); }}
20radius
memory
1256.636area
compute area and assign it to variable area
14
Trace a Program Executionpublic class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); }}
20radius
memory
1256.636area
print a message to the console
15
Named Constants
final datatype CONSTANTNAME = VALUE;
Ex:
final double PI = 3.14159; final int SIZE = 3;
16
Naming Conventions• Choose meaningful and descriptive names.
• Variables and method names:
• 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.
Ex:
the variables radius and areaand the method computeArea.
17
Naming Conventions, cont.
• Class names:
• Capitalize the first letter of each word in the name. • Ex: the class name ComputeArea.
• Constants:
• Capitalize all letters in constants, and use underscores to connect words.
• Ex: the constant PI and MAX_VALUE
18
Reading Input from the Console
1. Create a Scanner object Scanner input = new Scanner(System.in);
NOTE: FIRST, you must import the scanner class as follows:
import java.util.Scanner; // Scanner is in the java.util package
19
Reading Input from the Console2. Use the methods • next()• nextByte()• nextShort()• nextInt()• nextLong()• nextFloat()• nextDouble()• or nextBoolean()
to obtain to a string, byte, short, int, long, float, double, or boolean value.
20
For example:
System.out.print("Enter a double value: ");
Scanner input = new Scanner(System.in);
double d = input.nextDouble();
Reading Input from the Console
21
Chapter 2
Elementary Programming
22
Numeric Operators “Arithmetic”
23
Integer Division
• 5 / 2 yields an integer 2.• 5.0 / 2 yields a double value 2.5
• Remainder Operator
5 % 2 yields 1 (the remainder of the division)Remainder is very useful in programming. Ex:an even number % 2 is always 0 and an odd number % 2 is always 1. So you can use this property to determine whether a number is even or odd
24
Arithmetic Expressions
)94(9))(5(10543
yx
xxcbayx
is translated to
(3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y)
25
Precedence of arithmetic operators
26
How to Evaluate an Expression
3 + 4 * 4 + 5 * (4 + 3) - 1 3 + 4 * 4 + 5 * 7 – 1 3 + 16 + 5 * 7 – 1 3 + 16 + 35 – 1 19 + 35 – 1 54 - 1 53
(1) inside parentheses first
(2) multiplication
(3) multiplication
(4) addition
(6) subtraction
(5) addition
27
Problem: Converting TemperaturesWrite a program that converts a Fahrenheit degree to Celsius using the formula:
)32)(( 95 fahrenheitcelsius
Note: you have to write:
celsius = (5.0 / 9) * (fahrenheit – 32)
28
29
Shortcut Assignment Operators
Operator Example Equivalent+= i += 8 i = i + 8
-= f -= 8.0 f = f - 8.0
*= i *= 8 i = i * 8
/= i /= 8 i = i / 8
%= i %= 8 i = i % 8
30Increment and Decrement Operators
Operator Name Description
++var preincrement The expression (++var) increments var by 1 and evaluates to the new value in var after the
increment.
var++ postincrement The expression (var++) evaluates to the original value in var and increments var by 1.
--var predecrement The expression (--var) decrements var by 1 and evaluate to the new value in var after the
decrement.
var-- postdecrement The expression (var--) evaluates to the original value in var and decrements var by 1.
31
int i = 10; int newNum = 10 * i++;
int newNum = 10 * i; i = i + 1;
Same effect as
int i = 10; int newNum = 10 * (++i);
i = i + 1; int newNum = 10 * i;
Same effect as
Increment and Decrement Operators
32
• int i = 10;• int newNum = 10 * i++;• System.out.print("i is " + i + ", newNum is " + newNum);
• Output: i is 11, newNum is 100
• int i = 10;• int newNum = 10 * (++i); • System.out.print("i is " + i + ", newNum is " + newNum);
• Output: i is 11, newNum is 110
33
Problem: Displaying TimeWrite a program that obtains minutes and remaining second from seconds.
34
Exponent Operations
System.out.println(Math.pow(2, 3)); // Displays 8.0 System.out.println(Math.pow(4, 0.5)); // Displays 2.0System.out.println(Math.pow(2.5, 2));// Displays 6.25System.out.println(Math.pow(2.5, -2)); // Displays 0.16
35
The String Type
The char type only represents one character. To represent a string of characters, use the data type called String.
Ex:
String message = "Welcome to Java";
36
37
Escape Sequences for Special Characters
Description Escape Sequence Unicode
Backspace \b \u0008
Tab \t \u0009
Linefeed \n \u000A
Carriage return \r \u000D
Backslash \\ \u005C
Single Quote \' \u0027
Double Quote \" \u0022
38
39
String Concatenation
// Three strings are concatenatedString message = "Welcome " + "to " + "Java";
// String Chapter is concatenated with number 2String s = "Chapter" + 2; // s becomes Chapter2
// String Supplement is concatenated with character BString s1 = "Supplement" + 'B'; // s1 becomes SupplementB
40
Casting between char and Numeric Types
int i = 'a'; // Same as int i = (int)'a';
char c = 97; // Same as char c = (char)97;
41
Converting Strings to Integers
The input returned from the input dialog box is a string.
If you enter a numeric value such as 123, it returns “123”.
To obtain the input as a number, you have to convert a string into a number. To convert a string into an int value, you can use the static parseInt method in the Integer class as follows:
int intValue = Integer.parseInt(intString); where intString is a numeric string such as “123”.
42
Converting Strings to Doubles
To convert a string into a double value, you can use the static parseDouble method in the Double class as follows: double doubleValue =Double.parseDouble(doubleString); where doubleString is a numeric string such as “123.45”.