building java programs chapter 2 primitive data types and operations
TRANSCRIPT
![Page 1: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/1.jpg)
BUILDING JAVA PROGRAMSCHAPTER 2PRIMITIVE DATA TYPES AND OPERATIONS
![Page 2: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/2.jpg)
22
OBJECTIVES
Identify Java’s primitive data types and operators.
Evaluate complex expressions using rules of precedence and mixed types.
![Page 3: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/3.jpg)
33
DATA TYPES
A name for a category of data values that are all related.
Different data types support different operations and behave differently.You can multiply numbers, but can you multiply strings? Can you add them?
Stored differently in computer memory as well.27 = 00011011
“hello” = 01101000 00000101 1101100 1101100 01101111
![Page 4: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/4.jpg)
44
JAVA’S PRIMITIVE DATA TYPES
Name Description Example
int integers (whole numbers)
42, -3, 18, 20493, 0
double real numbers 7.35, -19.83423, 18.0
char single characters 'a', 'X', '3', '\n'
boolean logical values true, false
Variations of int: byte, short, long
Variations of double: float
![Page 5: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/5.jpg)
55
JAVA’S ARITHMETIC OPERATORS
Operator Meaning Example Result
+ addition 2 + 2 4
– subtraction 53 – 18 35
* multiplication 3 * 8 24
/ division 4.8 / 2.0 2.4
% mod (remainder)
19 % 5 4
Most behave exactly like you would expect them to in math class, but we’ll learn about the exceptions soon.
![Page 6: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/6.jpg)
66
EXPRESSIONS
An expression is a simple value or a set of operations that produces a value.
Simplest expressions are literals of the data types we know. E.g. 27, “Seattle... Yay!", -1.7, false
More complex expressions can use operators and parentheses. E.g.:
5 * 2 7 - 3 * (1.3 – (5.7 – 3))
System.out.println( 5 * 2 / 3 + 6 );
![Page 7: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/7.jpg)
77
FLOATING-POINT DIVISION
When dividing double or float values, it’s just like math class, but with some rounding errors here and there…
5.0 / 2.0 = 2.5
10.0 / 3.0 = 3.3333333333333335 (rounding error!)
4.0 / 5.0 = 0.8
8.0 / 3.0 * 3.0 = 8.0
![Page 8: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/8.jpg)
88
INTEGER DIVISION… WEIRD…
When dividing integers, we keep the whole part, but discard the fractional part.
5 / 2 = 2 not 2.5
10 / 3 = 3 not 3.333…
4 / 5 = 0 not 0.8
8 / 3 * 3 =
?2 * 3 = ?6 not 8!
![Page 9: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/9.jpg)
99
INTEGER MOD (%)
The mod operator computes the remainder of a division
6 / 4 = 1, but it would have had a remainder 2
Therefore, 6 % 4 = 2
20 % 7 = 15 % 4 =
13857 % 2 = 13856 % 2 =
8374 % 10 = 8374 % 100 =
36 % 6 = 7 % 9 =
6 3
1 0
4 74
0 7
![Page 10: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/10.jpg)
1010
In your notebook…
1. Write four expressions using only % and / that will get me the four individual digits of 7382.
a. 7382
b. 7382
c. 7382
d. 7382
*** Will your expressions work for other four-digit numbers? ***/ 1000 % 10
/ 100 % 10
/ 10 % 10
THINK, PAIR, SHARE…
= 2
= 8
= 3
= 7
?????
?????
?????
% 10
?????
![Page 11: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/11.jpg)
1111
OPERATOR PRECEDENCE
Usually, we evaluate expressions left-to-right, but certain operations take precedence over others and get evaluated first.
Parentheses can always override precedence.
Precedence table:
Description Operators
unary operators +, -
multiplicative operators *, /, %
additive operators +, -
![Page 12: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/12.jpg)
1212
PRECEDENCE EXAMPLES
2 + 2 * 5 = 12 not 20
3 * 3 + 2 * 2 = 13 not 22
7 + 5 / 2 * 3 – 4 = 9 not 14
+3 * -4 = -12
3 + -4 = -1
3 - -4 = 7
![Page 13: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/13.jpg)
1313
MIXING TYPES
When doing an operation on an int and a double, the int gets promoted to a double.
1 * 4.682 = 4.682
7 / 2.0 = 3.5
5 * 1.0 / 2 = 3.0
7.0 / 2 – 7 / 2 =
?3.5 – 3 = ?0.5
![Page 14: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/14.jpg)
1414
CASTING
You can explicitly convert a value from one data type to another by casting.
(double) 99 = 99.0
(int) 2.5 = 2
((double) 7) / 2 = 3.5
(int) 2.5 * 3.0 = 6.0
(int) (2.5 * 3.0) = 7
![Page 15: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/15.jpg)
1515
IN YOUR NOTEBOOK…
4.0 / 2 * 9 / 2
2.0 * 9 / 2
18.0 / 2
9.0
![Page 16: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/16.jpg)
1616
IN YOUR NOTEBOOK…
12 / 7 * 4.4 * 2 / 4
1 * 4.4 * 2 / 4
4.4 * 2 / 4
8.8 / 4
2.2
![Page 17: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/17.jpg)
1717
IN YOUR NOTEBOOK…
9 / 2.0 + 7 / 3 – 3.0 / 2
4.5 + 7 / 3 – 3.0 / 2
4.5 + 2 – 3.0 / 2
4.5 + 2 – 1.5
6.5 – 1.5
5.0
![Page 18: BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA TYPES AND OPERATIONS](https://reader036.vdocuments.us/reader036/viewer/2022062517/56649ef65503460f94c0a016/html5/thumbnails/18.jpg)
1818
IN YOUR NOTEBOOK…
53 / 5 / (0.6 + 1.4) / 2 + 13 / 2
53 / 5 / 2.0 / 2 + 13 / 2
10 / 2.0 / 2 + 13 / 2
5.0 / 2 + 13 / 2
2.5 + 13 / 2
2.5 + 6
8.5