2024: Domino Containers - The Next Step. News from the Domino Container commu...
201707 CSE110 Lecture 04
1. CSE110
Principles of Programming
with Java
Lecture 04:
Primitive Data Types
Javier Gonzalez-Sanchez
javiergs@asu.edu
javiergs.engineering.asu.edu
Office Hours: By appointment
2. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 2
Summary
class
global
variables
methods statements
instructions
local
variables
3. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 3
Previously …
§ There are exactly eight primitive data types in Java
§ Four of them represent integers:
byte, short, int, long
§ Two of them represent floating point numbers:
float, double
§ One of them represents characters:
char
§ And one of them represents boolean values:
boolean
4. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 4
Data Types
The difference between the various numeric primitive
types is their size, and therefore the values they can
store:
Type Size Min Value Max Value
byte 8 bits -128 127
short 16 bits -32,768 32,767
int 32 bits -2^31 2^31 - 1
long 64 bits -2^63 2^63 - 1
float 32 bits +/- 3.4 x 1038 with 7 significant digits
double 64 bits +/- 1.7 x 10308 with 15 significant digits
5. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 5
char
• A char variable stores a single character from the
Unicode character set
• The Unicode character set uses 16 bits per
character, allowing for 65,536 unique characters
• It is an international character set, containing
symbols and characters from many world
languages
• Character literals are delimited by single quotes:
'a' 'X' '7' '$' ',' 'n'
6. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 6
Escape Sequences
Escape
Sequence
Meaning
b backspace
t tab
n newline
” double
quote
’ single quote
backslash
7. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 7
boolean
• A boolean value – only 2 values, true or false
• The reserved words true and false are the only
valid values for a boolean type
boolean done = false;
boolean success;
success = true;
9. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 9
Summary
class
global
variables
methods statements
local
variables
instructions
expressions
arithmetic
expression
relational
expression
logical
expression
10. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 10
Expressions
• An expression is a combination of one or more
operands and their operators
• Arithmetic expressions compute numeric results
and make use of the arithmetic operators:
o Addition +
o Subtraction –
o Minus Unary –
o Multiplication *
o Division /
o Remainder %
11. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 11
Integer Division and Remainder
• Dividend / Divisor = Quotient and Remainder
• Dividend = (Divisor x Quotient) + Remainder
• If both operands to the division operator (/) are
integers, the result is an integer (the fractional part is
discarded)
14 / 3 equals 4 14 % 3 equals 2
8 / 12 equals 0 8 % 12 equals 8
13. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 13
Operator Precedence
• Operators have a well-defined precedence which
determines the order in which they are evaluated
• Multiplication, division, and remainder are
evaluated prior to addition, subtraction, and string
concatenation
• Arithmetic operators with the same precedence
are evaluated from left to right
• Parentheses can be used to force the evaluation
order
15. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 15
String Concatenation
• The plus operator (+) is used to concatenate
(append) strings:
“Hello” + “ World”
• To break a string into two parts in two lines, we need
to close with a double quote and use + sign to
concatenate (append):
System.out.println(“ASU is “
+ “in Arizona”);
16. Javier Gonzalez-Sanchez | CSE110 | Summer 2017 | 16
+ operator
• If two operands of + are numbers, it performs an
arithmetic addition.
• If at least one of operands of + is a string, it performs
a string concatenation.
• Examples:
o 2 + 3 will be 5
o 2 + “ apples” will be “2 apples”
o “number ” + 5 will be “number 5”
o “we have “ + 2 + 3 will be “we have 23”
o “we have “ + (2 + 3) will be “we have 5”
18. CSE110 - Principles of Programming
Javier Gonzalez-Sanchez
javiergs@asu.edu
Summer 2017
Disclaimer. These slides can only be used as study material for the class CSE110 at ASU. They cannot be distributed or used for another purpose.